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 : } fd_exec_test_elf_loader_effects_t;
43 :
44 : typedef struct fd_exec_test_elf_loader_fixture {
45 : bool has_metadata;
46 : fd_exec_test_fixture_metadata_t metadata;
47 : bool has_input;
48 : fd_exec_test_elf_loader_ctx_t input;
49 : bool has_output;
50 : fd_exec_test_elf_loader_effects_t output;
51 : } fd_exec_test_elf_loader_fixture_t;
52 :
53 :
54 : #ifdef __cplusplus
55 : extern "C" {
56 : #endif
57 :
58 : /* Initializer values for message structs */
59 : #define FD_EXEC_TEST_ELF_BINARY_INIT_DEFAULT {NULL}
60 : #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}
61 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_DEFAULT {NULL, 0, 0, 0, 0, 0, NULL}
62 : #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}
63 0 : #define FD_EXEC_TEST_ELF_BINARY_INIT_ZERO {NULL}
64 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}
65 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_ZERO {NULL, 0, 0, 0, 0, 0, NULL}
66 : #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}
67 :
68 : /* Field tags (for use in manual encoding/decoding) */
69 : #define FD_EXEC_TEST_ELF_BINARY_DATA_TAG 1
70 : #define FD_EXEC_TEST_ELF_LOADER_CTX_ELF_TAG 1
71 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FEATURES_TAG 2
72 : #define FD_EXEC_TEST_ELF_LOADER_CTX_DEPLOY_CHECKS_TAG 4
73 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_RODATA_TAG 1
74 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_RODATA_SZ_TAG 2
75 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_TEXT_CNT_TAG 4
76 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_TEXT_OFF_TAG 5
77 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_ENTRY_PC_TAG 6
78 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_CALLDESTS_TAG 7
79 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_METADATA_TAG 1
80 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_INPUT_TAG 2
81 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_OUTPUT_TAG 3
82 :
83 : /* Struct field encoding specification for nanopb */
84 : #define FD_EXEC_TEST_ELF_BINARY_FIELDLIST(X, a) \
85 : X(a, POINTER, SINGULAR, BYTES, data, 1)
86 : #define FD_EXEC_TEST_ELF_BINARY_CALLBACK NULL
87 : #define FD_EXEC_TEST_ELF_BINARY_DEFAULT NULL
88 :
89 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FIELDLIST(X, a) \
90 : X(a, STATIC, OPTIONAL, MESSAGE, elf, 1) \
91 : X(a, STATIC, OPTIONAL, MESSAGE, features, 2) \
92 : X(a, STATIC, SINGULAR, BOOL, deploy_checks, 4)
93 : #define FD_EXEC_TEST_ELF_LOADER_CTX_CALLBACK NULL
94 : #define FD_EXEC_TEST_ELF_LOADER_CTX_DEFAULT NULL
95 : #define fd_exec_test_elf_loader_ctx_t_elf_MSGTYPE fd_exec_test_elf_binary_t
96 : #define fd_exec_test_elf_loader_ctx_t_features_MSGTYPE fd_exec_test_feature_set_t
97 :
98 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_FIELDLIST(X, a) \
99 : X(a, POINTER, SINGULAR, BYTES, rodata, 1) \
100 : X(a, STATIC, SINGULAR, UINT64, rodata_sz, 2) \
101 : X(a, STATIC, SINGULAR, UINT64, text_cnt, 4) \
102 : X(a, STATIC, SINGULAR, UINT64, text_off, 5) \
103 : X(a, STATIC, SINGULAR, UINT64, entry_pc, 6) \
104 : X(a, POINTER, REPEATED, UINT64, calldests, 7)
105 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_CALLBACK NULL
106 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_DEFAULT NULL
107 :
108 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_FIELDLIST(X, a) \
109 : X(a, STATIC, OPTIONAL, MESSAGE, metadata, 1) \
110 : X(a, STATIC, OPTIONAL, MESSAGE, input, 2) \
111 : X(a, STATIC, OPTIONAL, MESSAGE, output, 3)
112 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_CALLBACK NULL
113 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_DEFAULT NULL
114 : #define fd_exec_test_elf_loader_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
115 : #define fd_exec_test_elf_loader_fixture_t_input_MSGTYPE fd_exec_test_elf_loader_ctx_t
116 : #define fd_exec_test_elf_loader_fixture_t_output_MSGTYPE fd_exec_test_elf_loader_effects_t
117 :
118 : extern const pb_msgdesc_t fd_exec_test_elf_binary_t_msg;
119 : extern const pb_msgdesc_t fd_exec_test_elf_loader_ctx_t_msg;
120 : extern const pb_msgdesc_t fd_exec_test_elf_loader_effects_t_msg;
121 : extern const pb_msgdesc_t fd_exec_test_elf_loader_fixture_t_msg;
122 :
123 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
124 : #define FD_EXEC_TEST_ELF_BINARY_FIELDS &fd_exec_test_elf_binary_t_msg
125 0 : #define FD_EXEC_TEST_ELF_LOADER_CTX_FIELDS &fd_exec_test_elf_loader_ctx_t_msg
126 : #define FD_EXEC_TEST_ELF_LOADER_EFFECTS_FIELDS &fd_exec_test_elf_loader_effects_t_msg
127 : #define FD_EXEC_TEST_ELF_LOADER_FIXTURE_FIELDS &fd_exec_test_elf_loader_fixture_t_msg
128 :
129 : /* Maximum encoded size of messages (where known) */
130 : /* fd_exec_test_ELFBinary_size depends on runtime parameters */
131 : /* fd_exec_test_ELFLoaderCtx_size depends on runtime parameters */
132 : /* fd_exec_test_ELFLoaderEffects_size depends on runtime parameters */
133 : /* fd_exec_test_ELFLoaderFixture_size depends on runtime parameters */
134 :
135 : /* Mapping from canonical names (mangle_names or overridden package name) */
136 : #define org_solana_sealevel_v1_ELFBinary fd_exec_test_ELFBinary
137 : #define org_solana_sealevel_v1_ELFLoaderCtx fd_exec_test_ELFLoaderCtx
138 : #define org_solana_sealevel_v1_ELFLoaderEffects fd_exec_test_ELFLoaderEffects
139 : #define org_solana_sealevel_v1_ELFLoaderFixture fd_exec_test_ELFLoaderFixture
140 : #define ORG_SOLANA_SEALEVEL_V1_ELF_BINARY_INIT_DEFAULT FD_EXEC_TEST_ELF_BINARY_INIT_DEFAULT
141 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_CTX_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_CTX_INIT_DEFAULT
142 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_DEFAULT
143 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_DEFAULT
144 : #define ORG_SOLANA_SEALEVEL_V1_ELF_BINARY_INIT_ZERO FD_EXEC_TEST_ELF_BINARY_INIT_ZERO
145 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_CTX_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_CTX_INIT_ZERO
146 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_EFFECTS_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_EFFECTS_INIT_ZERO
147 : #define ORG_SOLANA_SEALEVEL_V1_ELF_LOADER_FIXTURE_INIT_ZERO FD_EXEC_TEST_ELF_LOADER_FIXTURE_INIT_ZERO
148 :
149 : #ifdef __cplusplus
150 : } /* extern "C" */
151 : #endif
152 :
153 : #endif
|