Line data Source code
1 : /* Automatically generated nanopb header */
2 : /* Generated by nanopb-0.4.9.1 */
3 :
4 : #ifndef PB_ORG_SOLANA_SEALEVEL_V1_ELF_PB_H_INCLUDED
5 : #define PB_ORG_SOLANA_SEALEVEL_V1_ELF_PB_H_INCLUDED
6 :
7 : #include "../../../../ballet/nanopb/pb_firedancer.h"
8 : #include "context.pb.h"
9 : #include "metadata.pb.h"
10 :
11 : #if PB_PROTO_HEADER_VERSION != 40
12 : #error Regenerate this file with the current version of nanopb generator.
13 : #endif
14 :
15 : /* Struct definitions */
16 : typedef struct fd_exec_test_elf_binary {
17 : pb_bytes_array_t *data;
18 : } fd_exec_test_elf_binary_t;
19 :
20 : /* Wrapper for the ELF binary and the features that the loader should use
21 : Note that we currently hardcode the features to be used by the loader,
22 : so features isn't actually used yet. */
23 : typedef struct fd_exec_test_elf_loader_ctx {
24 : bool has_elf;
25 : fd_exec_test_elf_binary_t elf;
26 : bool has_features;
27 : fd_exec_test_feature_set_t features;
28 : bool deploy_checks;
29 : } fd_exec_test_elf_loader_ctx_t;
30 :
31 : /* Captures the results of a elf binary load.
32 : Structurally similar to fd_sbpf_program_t */
33 : typedef struct fd_exec_test_elf_loader_effects {
34 : pb_bytes_array_t *rodata;
35 : uint64_t rodata_sz;
36 : /* bytes text = 3; // not needed, just points to a region in rodata */
37 : uint64_t text_cnt;
38 : uint64_t text_off;
39 : uint64_t entry_pc;
40 : pb_size_t calldests_count;
41 : uint64_t *calldests;
42 : int32_t error;
43 : } fd_exec_test_elf_loader_effects_t;
44 :
45 : typedef struct fd_exec_test_elf_loader_fixture {
46 : bool has_metadata;
47 : fd_exec_test_fixture_metadata_t metadata;
48 : bool has_input;
49 : fd_exec_test_elf_loader_ctx_t input;
50 : bool has_output;
51 : fd_exec_test_elf_loader_effects_t output;
52 : } fd_exec_test_elf_loader_fixture_t;
53 :
54 :
55 : #ifdef __cplusplus
56 : extern "C" {
57 : #endif
58 :
59 : /* Initializer values for message structs */
60 : #define FD_EXEC_TEST_ELF_BINARY_INIT_DEFAULT {NULL}
61 : #define FD_EXEC_TEST_ELF_LOADER_CTX_INIT_DEFAULT {false, FD_EXEC_TEST_ELF_BINARY_INIT_DEFAULT, false, FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT, 0}
62 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_DEFAULT {NULL, 0, 0, 0, 0, 0, NULL, 0}
63 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_DEFAULT {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_DEFAULT, false, FD_EXEC_TEST_ELF_LOADER_CTX_INIT_DEFAULT, false, FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_DEFAULT}
64 0 : #define FD_EXEC_TEST_ELF_BINARY_INIT_ZERO {NULL}
65 0 : #define FD_EXEC_TEST_ELF_LOADER_CTX_INIT_ZERO {false, FD_EXEC_TEST_ELF_BINARY_INIT_ZERO, false, FD_EXEC_TEST_FEATURE_SET_INIT_ZERO, 0}
66 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_ZERO {NULL, 0, 0, 0, 0, 0, NULL, 0}
67 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_ZERO {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_ZERO, false, FD_EXEC_TEST_ELF_LOADER_CTX_INIT_ZERO, false, FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_ZERO}
68 :
69 : /* Field tags (for use in manual encoding/decoding) */
70 : #define FD_EXEC_TEST_ELF_BINARY_DATA_TAG 1
71 : #define FD_EXEC_TEST_ELF_LOADER_CTX_ELF_TAG 1
72 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FEATURES_TAG 2
73 : #define FD_EXEC_TEST_ELF_LOADER_CTX_DEPLOY_CHECKS_TAG 4
74 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_RODATA_TAG 1
75 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_RODATA_SZ_TAG 2
76 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_TEXT_CNT_TAG 4
77 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_TEXT_OFF_TAG 5
78 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_ENTRY_PC_TAG 6
79 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_CALLDESTS_TAG 7
80 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_ERROR_TAG 8
81 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_METADATA_TAG 1
82 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_INPUT_TAG 2
83 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_OUTPUT_TAG 3
84 :
85 : /* Struct field encoding specification for nanopb */
86 : #define FD_EXEC_TEST_ELF_BINARY_FIELDLIST(X, a) \
87 : X(a, POINTER, SINGULAR, BYTES, data, 1)
88 : #define FD_EXEC_TEST_ELF_BINARY_CALLBACK NULL
89 : #define FD_EXEC_TEST_ELF_BINARY_DEFAULT NULL
90 :
91 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FIELDLIST(X, a) \
92 : X(a, STATIC, OPTIONAL, MESSAGE, elf, 1) \
93 : X(a, STATIC, OPTIONAL, MESSAGE, features, 2) \
94 : X(a, STATIC, SINGULAR, BOOL, deploy_checks, 4)
95 : #define FD_EXEC_TEST_ELF_LOADER_CTX_CALLBACK NULL
96 : #define FD_EXEC_TEST_ELF_LOADER_CTX_DEFAULT NULL
97 : #define fd_exec_test_elf_loader_ctx_t_elf_MSGTYPE fd_exec_test_elf_binary_t
98 : #define fd_exec_test_elf_loader_ctx_t_features_MSGTYPE fd_exec_test_feature_set_t
99 :
100 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_FIELDLIST(X, a) \
101 : X(a, POINTER, SINGULAR, BYTES, rodata, 1) \
102 : X(a, STATIC, SINGULAR, UINT64, rodata_sz, 2) \
103 : X(a, STATIC, SINGULAR, UINT64, text_cnt, 4) \
104 : X(a, STATIC, SINGULAR, UINT64, text_off, 5) \
105 : X(a, STATIC, SINGULAR, UINT64, entry_pc, 6) \
106 : X(a, POINTER, REPEATED, UINT64, calldests, 7) \
107 : X(a, STATIC, SINGULAR, INT32, error, 8)
108 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_CALLBACK NULL
109 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_DEFAULT NULL
110 :
111 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_FIELDLIST(X, a) \
112 : X(a, STATIC, OPTIONAL, MESSAGE, metadata, 1) \
113 : X(a, STATIC, OPTIONAL, MESSAGE, input, 2) \
114 : X(a, STATIC, OPTIONAL, MESSAGE, output, 3)
115 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_CALLBACK NULL
116 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_DEFAULT NULL
117 : #define fd_exec_test_elf_loader_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
118 : #define fd_exec_test_elf_loader_fixture_t_input_MSGTYPE fd_exec_test_elf_loader_ctx_t
119 : #define fd_exec_test_elf_loader_fixture_t_output_MSGTYPE fd_exec_test_elf_loader_effects_t
120 :
121 : extern const pb_msgdesc_t fd_exec_test_elf_binary_t_msg;
122 : extern const pb_msgdesc_t fd_exec_test_elf_loader_ctx_t_msg;
123 : extern const pb_msgdesc_t fd_exec_test_elf_loader_effects_t_msg;
124 : extern const pb_msgdesc_t fd_exec_test_elf_loader_fixture_t_msg;
125 :
126 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
127 : #define FD_EXEC_TEST_ELF_BINARY_FIELDS &fd_exec_test_elf_binary_t_msg
128 0 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FIELDS &fd_exec_test_elf_loader_ctx_t_msg
129 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_FIELDS &fd_exec_test_elf_loader_effects_t_msg
130 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_FIELDS &fd_exec_test_elf_loader_fixture_t_msg
131 :
132 : /* Maximum encoded size of messages (where known) */
133 : /* fd_exec_test_ELFBinary_size depends on runtime parameters */
134 : /* fd_exec_test_ELFLoaderCtx_size depends on runtime parameters */
135 : /* fd_exec_test_ELFLoaderEffects_size depends on runtime parameters */
136 : /* fd_exec_test_ELFLoaderFixture_size depends on runtime parameters */
137 :
138 : /* Mapping from canonical names (mangle_names or overridden package name) */
139 : #define org_solana_sealevel_v1_ELFBinary fd_exec_test_ELFBinary
140 : #define org_solana_sealevel_v1_ELFLoaderCtx fd_exec_test_ELFLoaderCtx
141 : #define org_solana_sealevel_v1_ELFLoaderEffects fd_exec_test_ELFLoaderEffects
142 : #define org_solana_sealevel_v1_ELFLoaderFixture fd_exec_test_ELFLoaderFixture
143 : #define ORG_SOLANA_SEALEVEL_V1_ELF_BINARY_INIT_DEFAULT FD_EXEC_TEST_ELF_BINARY_INIT_DEFAULT
144 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_CTX_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_CTX_INIT_DEFAULT
145 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_DEFAULT
146 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_DEFAULT
147 : #define ORG_SOLANA_SEALEVEL_V1_ELF_BINARY_INIT_ZERO FD_EXEC_TEST_ELF_BINARY_INIT_ZERO
148 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_CTX_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_CTX_INIT_ZERO
149 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_EFFECTS_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_ZERO
150 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_FIXTURE_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_ZERO
151 :
152 : #ifdef __cplusplus
153 : } /* extern "C" */
154 : #endif
155 :
156 : #endif
|