LCOV - code coverage report
Current view: top level - flamenco/runtime/tests/generated - vm.pb.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 7 0.0 %
Date: 2026-08-09 04:49:18 Functions: 0 0 -

          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_VM_PB_H_INCLUDED
       5             : #define PB_ORG_SOLANA_SEALEVEL_V1_VM_PB_H_INCLUDED
       6             : 
       7             : #include "../../../../third_party/nanopb/pb_firedancer.h"
       8             : #include "instr.pb.h"
       9             : #include "context.pb.h"
      10             : #include "metadata.pb.h"
      11             : 
      12             : #if PB_PROTO_HEADER_VERSION != 40
      13             : #error Regenerate this file with the current version of nanopb generator.
      14             : #endif
      15             : 
      16             : /* Enum definitions */
      17             : /* We are only concerned with these error kinds as the syscall/VM fuzzers don't
      18             :  hit higher level error kinds (e.g., transaction errors) */
      19             : typedef enum fd_exec_test_err_kind {
      20             :     FD_EXEC_TEST_ERR_KIND_UNSPECIFIED = 0,
      21             :     FD_EXEC_TEST_ERR_KIND_EBPF = 1,
      22             :     FD_EXEC_TEST_ERR_KIND_SYSCALL = 2,
      23             :     FD_EXEC_TEST_ERR_KIND_INSTRUCTION = 3
      24             : } fd_exec_test_err_kind_t;
      25             : 
      26             : /* Struct definitions */
      27             : /* Describes an input data region. Agave's memory mapping sets up a series of
      28             :  memory mapped regions, which combine to make the input data region. */
      29             : typedef struct fd_exec_test_input_data_region {
      30             :     /* Offset from the start of the input data segment (0x400000000) */
      31             :     uint64_t offset;
      32             :     /* Content of the memory region */
      33             :     pb_bytes_array_t *content;
      34             :     /* If the memory region is writable or not */
      35             :     bool is_writable;
      36             : } fd_exec_test_input_data_region_t;
      37             : 
      38             : typedef PB_BYTES_ARRAY_T(1400) fd_exec_test_syscall_invocation_function_name_t;
      39             : /* A single invocation of a syscall */
      40             : typedef struct fd_exec_test_syscall_invocation {
      41             :     /* The sBPF function name of the syscall */
      42             :     fd_exec_test_syscall_invocation_function_name_t function_name;
      43             :     /* The initial portion of the heap, for example to store syscall inputs */
      44             :     pb_bytes_array_t *heap_prefix;
      45             :     /* The initial portion of the stack, for example to store syscall inputs */
      46             :     pb_bytes_array_t *stack_prefix;
      47             : } fd_exec_test_syscall_invocation_t;
      48             : 
      49             : /* The effects of executing a SyscallContext. */
      50             : typedef struct fd_exec_test_syscall_effects {
      51             :     /* EBPF error code, if the invocation was unsuccessful */
      52             :     int64_t error;
      53             :     /* Registers */
      54             :     uint64_t r0; /* Result of a successful execution */
      55             :     /* CU's remaining */
      56             :     uint64_t cu_avail;
      57             :     /* Memory regions */
      58             :     pb_bytes_array_t *heap;
      59             :     pb_bytes_array_t *stack;
      60             :     /* Current number of stack frames pushed */
      61             :     uint64_t frame_count;
      62             :     pb_bytes_array_t *rodata;
      63             :     /* VM state */
      64             :     uint64_t pc;
      65             :     pb_size_t input_data_regions_count;
      66             :     struct fd_exec_test_input_data_region *input_data_regions;
      67             :     /* Error Kind (should be used along with error code) */
      68             :     fd_exec_test_err_kind_t error_kind;
      69             :     /* Output registers (to test interpreter) */
      70             :     uint64_t r1;
      71             :     uint64_t r2;
      72             :     uint64_t r3;
      73             :     uint64_t r4;
      74             :     uint64_t r5;
      75             :     uint64_t r6;
      76             :     uint64_t r7;
      77             :     uint64_t r8;
      78             :     uint64_t r9;
      79             :     uint64_t r10;
      80             : } fd_exec_test_syscall_effects_t;
      81             : 
      82             : /* Effects of fd_vm_validate */
      83             : typedef struct fd_exec_test_validate_vm_effects {
      84             :     int32_t result;
      85             :     /* if result is 0 (success), protobuf will be empty!! */
      86             :     bool success;
      87             : } fd_exec_test_validate_vm_effects_t;
      88             : 
      89             : typedef struct fd_exec_test_return_data {
      90             :     pb_bytes_array_t *program_id;
      91             :     pb_bytes_array_t *data;
      92             : } fd_exec_test_return_data_t;
      93             : 
      94             : /* Information sufficient to allow the fuzzer to generate a fd_vm_t context for
      95             :  execution inside the VM (excluding the instruction context).
      96             : 
      97             :  TODO: this currently only includes fields necessary for executing syscalls,
      98             :  executing sBPF code will require the rest of the fields in fd_vm_t to be set. */
      99             : typedef struct fd_exec_test_vm_context {
     100             :     /* Maximum heap size in bytes */
     101             :     uint64_t heap_max;
     102             :     /* Program read-only data */
     103             :     pb_bytes_array_t *rodata;
     104             :     /* Registers */
     105             :     uint64_t r0;
     106             :     uint64_t r1;
     107             :     uint64_t r2;
     108             :     uint64_t r3;
     109             :     uint64_t r4;
     110             :     uint64_t r5;
     111             :     uint64_t r6;
     112             :     uint64_t r7;
     113             :     uint64_t r8;
     114             :     uint64_t r9;
     115             :     uint64_t r10;
     116             :     uint64_t r11;
     117             :     /* for vm execution */
     118             :     uint64_t entry_pc;
     119             :     /* Bitset of valid call destinations (in terms of pc).
     120             : This model is used by the Firedancer VM for CALL_IMMs */
     121             :     pb_bytes_array_t *call_whitelist;
     122             :     bool has_return_data;
     123             :     fd_exec_test_return_data_t return_data;
     124             :     /* SBPF version */
     125             :     uint32_t sbpf_version;
     126             : } fd_exec_test_vm_context_t;
     127             : 
     128             : /* Execution context for a VM Syscall execution. */
     129             : typedef struct fd_exec_test_syscall_context {
     130             :     bool has_vm_ctx;
     131             :     fd_exec_test_vm_context_t vm_ctx;
     132             :     /* InflightInstruction - contain temporary fields that live for the duration of an instructions execution, and is needed if we have overhanging context from a previous instruction */
     133             :     bool has_instr_ctx;
     134             :     fd_exec_test_instr_context_t instr_ctx;
     135             :     bool has_syscall_invocation;
     136             :     fd_exec_test_syscall_invocation_t syscall_invocation;
     137             : } fd_exec_test_syscall_context_t;
     138             : 
     139             : /* A syscall processing test fixture. */
     140             : typedef struct fd_exec_test_syscall_fixture {
     141             :     bool has_metadata;
     142             :     fd_exec_test_fixture_metadata_t metadata;
     143             :     bool has_input;
     144             :     fd_exec_test_syscall_context_t input;
     145             :     bool has_output;
     146             :     fd_exec_test_syscall_effects_t output;
     147             : } fd_exec_test_syscall_fixture_t;
     148             : 
     149             : /* Everything needed to setup a fd_vm_t */
     150             : typedef struct fd_exec_test_full_vm_context {
     151             :     bool has_vm_ctx;
     152             :     fd_exec_test_vm_context_t vm_ctx;
     153             :     /* InstrContext instr_ctx = 2; */
     154             :     bool has_features;
     155             :     fd_exec_test_feature_set_t features;
     156             : } fd_exec_test_full_vm_context_t;
     157             : 
     158             : /* Fixture for fd_vm_validate fuzz harness */
     159             : typedef struct fd_exec_test_validate_vm_fixture {
     160             :     bool has_metadata;
     161             :     fd_exec_test_fixture_metadata_t metadata;
     162             :     bool has_input;
     163             :     fd_exec_test_full_vm_context_t input;
     164             :     bool has_output;
     165             :     fd_exec_test_validate_vm_effects_t output;
     166             : } fd_exec_test_validate_vm_fixture_t;
     167             : 
     168             : 
     169             : #ifdef __cplusplus
     170             : extern "C" {
     171             : #endif
     172             : 
     173             : /* Helper constants for enums */
     174           0 : #define _FD_EXEC_TEST_ERR_KIND_MIN FD_EXEC_TEST_ERR_KIND_UNSPECIFIED
     175             : #define _FD_EXEC_TEST_ERR_KIND_MAX FD_EXEC_TEST_ERR_KIND_INSTRUCTION
     176             : #define _FD_EXEC_TEST_ERR_KIND_ARRAYSIZE ((fd_exec_test_err_kind_t)(FD_EXEC_TEST_ERR_KIND_INSTRUCTION+1))
     177             : 
     178             : 
     179             : 
     180             : 
     181             : 
     182             : #define fd_exec_test_syscall_effects_t_error_kind_ENUMTYPE fd_exec_test_err_kind_t
     183             : 
     184             : 
     185             : 
     186             : 
     187             : 
     188             : 
     189             : 
     190             : /* Initializer values for message structs */
     191             : #define FD_EXEC_TEST_INPUT_DATA_REGION_INIT_DEFAULT {0, NULL, 0}
     192             : #define FD_EXEC_TEST_VM_CONTEXT_INIT_DEFAULT     {0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, false, FD_EXEC_TEST_RETURN_DATA_INIT_DEFAULT, 0}
     193             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_DEFAULT {{0, {0}}, NULL, NULL}
     194             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_DEFAULT {false, FD_EXEC_TEST_VM_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_INSTR_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_DEFAULT}
     195             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_DEFAULT {0, 0, 0, NULL, NULL, 0, NULL, 0, 0, NULL, _FD_EXEC_TEST_ERR_KIND_MIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
     196             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_INIT_DEFAULT {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_DEFAULT, false, FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_DEFAULT}
     197             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_DEFAULT {false, FD_EXEC_TEST_VM_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT}
     198             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_DEFAULT {0, 0}
     199             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_INIT_DEFAULT {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_DEFAULT, false, FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_DEFAULT}
     200             : #define FD_EXEC_TEST_RETURN_DATA_INIT_DEFAULT    {NULL, NULL}
     201             : #define FD_EXEC_TEST_INPUT_DATA_REGION_INIT_ZERO {0, NULL, 0}
     202           0 : #define FD_EXEC_TEST_VM_CONTEXT_INIT_ZERO        {0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, false, FD_EXEC_TEST_RETURN_DATA_INIT_ZERO, 0}
     203           0 : #define FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_ZERO {{0, {0}}, NULL, NULL}
     204           0 : #define FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_ZERO   {false, FD_EXEC_TEST_VM_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_INSTR_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_ZERO}
     205           0 : #define FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_ZERO   {0, 0, 0, NULL, NULL, 0, NULL, 0, 0, NULL, _FD_EXEC_TEST_ERR_KIND_MIN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
     206             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_INIT_ZERO   {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_ZERO, false, FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_ZERO}
     207             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_ZERO   {false, FD_EXEC_TEST_VM_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_FEATURE_SET_INIT_ZERO}
     208             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_ZERO {0, 0}
     209             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_INIT_ZERO {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_ZERO, false, FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_ZERO}
     210           0 : #define FD_EXEC_TEST_RETURN_DATA_INIT_ZERO       {NULL, NULL}
     211             : 
     212             : /* Field tags (for use in manual encoding/decoding) */
     213             : #define FD_EXEC_TEST_INPUT_DATA_REGION_OFFSET_TAG 1
     214             : #define FD_EXEC_TEST_INPUT_DATA_REGION_CONTENT_TAG 2
     215             : #define FD_EXEC_TEST_INPUT_DATA_REGION_IS_WRITABLE_TAG 3
     216             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_FUNCTION_NAME_TAG 1
     217             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_HEAP_PREFIX_TAG 2
     218             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_STACK_PREFIX_TAG 3
     219             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_ERROR_TAG   1
     220             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R0_TAG      2
     221             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_CU_AVAIL_TAG 3
     222             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_HEAP_TAG    4
     223             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_STACK_TAG   5
     224             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_FRAME_COUNT_TAG 7
     225             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_RODATA_TAG  9
     226             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_PC_TAG      10
     227             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_INPUT_DATA_REGIONS_TAG 11
     228             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_ERROR_KIND_TAG 12
     229             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R1_TAG      107
     230             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R2_TAG      108
     231             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R3_TAG      109
     232             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R4_TAG      110
     233             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R5_TAG      111
     234             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R6_TAG      112
     235             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R7_TAG      113
     236             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R8_TAG      114
     237             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R9_TAG      115
     238             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_R10_TAG     116
     239             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_RESULT_TAG 1
     240             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_SUCCESS_TAG 2
     241             : #define FD_EXEC_TEST_RETURN_DATA_PROGRAM_ID_TAG  1
     242             : #define FD_EXEC_TEST_RETURN_DATA_DATA_TAG        2
     243             : #define FD_EXEC_TEST_VM_CONTEXT_HEAP_MAX_TAG     1
     244             : #define FD_EXEC_TEST_VM_CONTEXT_RODATA_TAG       2
     245             : #define FD_EXEC_TEST_VM_CONTEXT_R0_TAG           6
     246             : #define FD_EXEC_TEST_VM_CONTEXT_R1_TAG           7
     247             : #define FD_EXEC_TEST_VM_CONTEXT_R2_TAG           8
     248             : #define FD_EXEC_TEST_VM_CONTEXT_R3_TAG           9
     249             : #define FD_EXEC_TEST_VM_CONTEXT_R4_TAG           10
     250             : #define FD_EXEC_TEST_VM_CONTEXT_R5_TAG           11
     251             : #define FD_EXEC_TEST_VM_CONTEXT_R6_TAG           12
     252             : #define FD_EXEC_TEST_VM_CONTEXT_R7_TAG           13
     253             : #define FD_EXEC_TEST_VM_CONTEXT_R8_TAG           14
     254             : #define FD_EXEC_TEST_VM_CONTEXT_R9_TAG           15
     255             : #define FD_EXEC_TEST_VM_CONTEXT_R10_TAG          16
     256             : #define FD_EXEC_TEST_VM_CONTEXT_R11_TAG          17
     257             : #define FD_EXEC_TEST_VM_CONTEXT_ENTRY_PC_TAG     20
     258             : #define FD_EXEC_TEST_VM_CONTEXT_CALL_WHITELIST_TAG 21
     259             : #define FD_EXEC_TEST_VM_CONTEXT_RETURN_DATA_TAG  23
     260             : #define FD_EXEC_TEST_VM_CONTEXT_SBPF_VERSION_TAG 24
     261             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_VM_CTX_TAG  1
     262             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_INSTR_CTX_TAG 2
     263             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_SYSCALL_INVOCATION_TAG 3
     264             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_METADATA_TAG 1
     265             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_INPUT_TAG   2
     266             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_OUTPUT_TAG  3
     267             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_VM_CTX_TAG  1
     268             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_FEATURES_TAG 3
     269             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_METADATA_TAG 1
     270             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_INPUT_TAG 2
     271             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_OUTPUT_TAG 3
     272             : 
     273             : /* Struct field encoding specification for nanopb */
     274             : #define FD_EXEC_TEST_INPUT_DATA_REGION_FIELDLIST(X, a) \
     275             : X(a, STATIC,   SINGULAR, UINT64,   offset,            1) \
     276             : X(a, POINTER,  SINGULAR, BYTES,    content,           2) \
     277             : X(a, STATIC,   SINGULAR, BOOL,     is_writable,       3)
     278             : #define FD_EXEC_TEST_INPUT_DATA_REGION_CALLBACK NULL
     279             : #define FD_EXEC_TEST_INPUT_DATA_REGION_DEFAULT NULL
     280             : 
     281             : #define FD_EXEC_TEST_VM_CONTEXT_FIELDLIST(X, a) \
     282             : X(a, STATIC,   SINGULAR, UINT64,   heap_max,          1) \
     283             : X(a, POINTER,  SINGULAR, BYTES,    rodata,            2) \
     284             : X(a, STATIC,   SINGULAR, UINT64,   r0,                6) \
     285             : X(a, STATIC,   SINGULAR, UINT64,   r1,                7) \
     286             : X(a, STATIC,   SINGULAR, UINT64,   r2,                8) \
     287             : X(a, STATIC,   SINGULAR, UINT64,   r3,                9) \
     288             : X(a, STATIC,   SINGULAR, UINT64,   r4,               10) \
     289             : X(a, STATIC,   SINGULAR, UINT64,   r5,               11) \
     290             : X(a, STATIC,   SINGULAR, UINT64,   r6,               12) \
     291             : X(a, STATIC,   SINGULAR, UINT64,   r7,               13) \
     292             : X(a, STATIC,   SINGULAR, UINT64,   r8,               14) \
     293             : X(a, STATIC,   SINGULAR, UINT64,   r9,               15) \
     294             : X(a, STATIC,   SINGULAR, UINT64,   r10,              16) \
     295             : X(a, STATIC,   SINGULAR, UINT64,   r11,              17) \
     296             : X(a, STATIC,   SINGULAR, UINT64,   entry_pc,         20) \
     297             : X(a, POINTER,  SINGULAR, BYTES,    call_whitelist,   21) \
     298             : X(a, STATIC,   OPTIONAL, MESSAGE,  return_data,      23) \
     299             : X(a, STATIC,   SINGULAR, UINT32,   sbpf_version,     24)
     300             : #define FD_EXEC_TEST_VM_CONTEXT_CALLBACK NULL
     301             : #define FD_EXEC_TEST_VM_CONTEXT_DEFAULT NULL
     302             : #define fd_exec_test_vm_context_t_return_data_MSGTYPE fd_exec_test_return_data_t
     303             : 
     304             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_FIELDLIST(X, a) \
     305             : X(a, STATIC,   SINGULAR, BYTES,    function_name,     1) \
     306             : X(a, POINTER,  SINGULAR, BYTES,    heap_prefix,       2) \
     307             : X(a, POINTER,  SINGULAR, BYTES,    stack_prefix,      3)
     308             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_CALLBACK NULL
     309             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_DEFAULT NULL
     310             : 
     311             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_FIELDLIST(X, a) \
     312             : X(a, STATIC,   OPTIONAL, MESSAGE,  vm_ctx,            1) \
     313             : X(a, STATIC,   OPTIONAL, MESSAGE,  instr_ctx,         2) \
     314             : X(a, STATIC,   OPTIONAL, MESSAGE,  syscall_invocation,   3)
     315             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_CALLBACK NULL
     316             : #define FD_EXEC_TEST_SYSCALL_CONTEXT_DEFAULT NULL
     317             : #define fd_exec_test_syscall_context_t_vm_ctx_MSGTYPE fd_exec_test_vm_context_t
     318             : #define fd_exec_test_syscall_context_t_instr_ctx_MSGTYPE fd_exec_test_instr_context_t
     319             : #define fd_exec_test_syscall_context_t_syscall_invocation_MSGTYPE fd_exec_test_syscall_invocation_t
     320             : 
     321             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_FIELDLIST(X, a) \
     322             : X(a, STATIC,   SINGULAR, INT64,    error,             1) \
     323             : X(a, STATIC,   SINGULAR, UINT64,   r0,                2) \
     324             : X(a, STATIC,   SINGULAR, UINT64,   cu_avail,          3) \
     325             : X(a, POINTER,  SINGULAR, BYTES,    heap,              4) \
     326             : X(a, POINTER,  SINGULAR, BYTES,    stack,             5) \
     327             : X(a, STATIC,   SINGULAR, UINT64,   frame_count,       7) \
     328             : X(a, POINTER,  SINGULAR, BYTES,    rodata,            9) \
     329             : X(a, STATIC,   SINGULAR, UINT64,   pc,               10) \
     330             : X(a, POINTER,  REPEATED, MESSAGE,  input_data_regions,  11) \
     331             : X(a, STATIC,   SINGULAR, UENUM,    error_kind,       12) \
     332             : X(a, STATIC,   SINGULAR, UINT64,   r1,              107) \
     333             : X(a, STATIC,   SINGULAR, UINT64,   r2,              108) \
     334             : X(a, STATIC,   SINGULAR, UINT64,   r3,              109) \
     335             : X(a, STATIC,   SINGULAR, UINT64,   r4,              110) \
     336             : X(a, STATIC,   SINGULAR, UINT64,   r5,              111) \
     337             : X(a, STATIC,   SINGULAR, UINT64,   r6,              112) \
     338             : X(a, STATIC,   SINGULAR, UINT64,   r7,              113) \
     339             : X(a, STATIC,   SINGULAR, UINT64,   r8,              114) \
     340             : X(a, STATIC,   SINGULAR, UINT64,   r9,              115) \
     341             : X(a, STATIC,   SINGULAR, UINT64,   r10,             116)
     342             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_CALLBACK NULL
     343             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_DEFAULT NULL
     344             : #define fd_exec_test_syscall_effects_t_input_data_regions_MSGTYPE fd_exec_test_input_data_region_t
     345             : 
     346             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_FIELDLIST(X, a) \
     347             : X(a, STATIC,   OPTIONAL, MESSAGE,  metadata,          1) \
     348             : X(a, STATIC,   OPTIONAL, MESSAGE,  input,             2) \
     349             : X(a, STATIC,   OPTIONAL, MESSAGE,  output,            3)
     350             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_CALLBACK NULL
     351             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_DEFAULT NULL
     352             : #define fd_exec_test_syscall_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
     353             : #define fd_exec_test_syscall_fixture_t_input_MSGTYPE fd_exec_test_syscall_context_t
     354             : #define fd_exec_test_syscall_fixture_t_output_MSGTYPE fd_exec_test_syscall_effects_t
     355             : 
     356             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_FIELDLIST(X, a) \
     357             : X(a, STATIC,   OPTIONAL, MESSAGE,  vm_ctx,            1) \
     358             : X(a, STATIC,   OPTIONAL, MESSAGE,  features,          3)
     359             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_CALLBACK NULL
     360             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_DEFAULT NULL
     361             : #define fd_exec_test_full_vm_context_t_vm_ctx_MSGTYPE fd_exec_test_vm_context_t
     362             : #define fd_exec_test_full_vm_context_t_features_MSGTYPE fd_exec_test_feature_set_t
     363             : 
     364             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_FIELDLIST(X, a) \
     365             : X(a, STATIC,   SINGULAR, INT32,    result,            1) \
     366             : X(a, STATIC,   SINGULAR, BOOL,     success,           2)
     367             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_CALLBACK NULL
     368             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_DEFAULT NULL
     369             : 
     370             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_FIELDLIST(X, a) \
     371             : X(a, STATIC,   OPTIONAL, MESSAGE,  metadata,          1) \
     372             : X(a, STATIC,   OPTIONAL, MESSAGE,  input,             2) \
     373             : X(a, STATIC,   OPTIONAL, MESSAGE,  output,            3)
     374             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_CALLBACK NULL
     375             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_DEFAULT NULL
     376             : #define fd_exec_test_validate_vm_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
     377             : #define fd_exec_test_validate_vm_fixture_t_input_MSGTYPE fd_exec_test_full_vm_context_t
     378             : #define fd_exec_test_validate_vm_fixture_t_output_MSGTYPE fd_exec_test_validate_vm_effects_t
     379             : 
     380             : #define FD_EXEC_TEST_RETURN_DATA_FIELDLIST(X, a) \
     381             : X(a, POINTER,  SINGULAR, BYTES,    program_id,        1) \
     382             : X(a, POINTER,  SINGULAR, BYTES,    data,              2)
     383             : #define FD_EXEC_TEST_RETURN_DATA_CALLBACK NULL
     384             : #define FD_EXEC_TEST_RETURN_DATA_DEFAULT NULL
     385             : 
     386             : extern const pb_msgdesc_t fd_exec_test_input_data_region_t_msg;
     387             : extern const pb_msgdesc_t fd_exec_test_vm_context_t_msg;
     388             : extern const pb_msgdesc_t fd_exec_test_syscall_invocation_t_msg;
     389             : extern const pb_msgdesc_t fd_exec_test_syscall_context_t_msg;
     390             : extern const pb_msgdesc_t fd_exec_test_syscall_effects_t_msg;
     391             : extern const pb_msgdesc_t fd_exec_test_syscall_fixture_t_msg;
     392             : extern const pb_msgdesc_t fd_exec_test_full_vm_context_t_msg;
     393             : extern const pb_msgdesc_t fd_exec_test_validate_vm_effects_t_msg;
     394             : extern const pb_msgdesc_t fd_exec_test_validate_vm_fixture_t_msg;
     395             : extern const pb_msgdesc_t fd_exec_test_return_data_t_msg;
     396             : 
     397             : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
     398             : #define FD_EXEC_TEST_INPUT_DATA_REGION_FIELDS &fd_exec_test_input_data_region_t_msg
     399             : #define FD_EXEC_TEST_VM_CONTEXT_FIELDS &fd_exec_test_vm_context_t_msg
     400             : #define FD_EXEC_TEST_SYSCALL_INVOCATION_FIELDS &fd_exec_test_syscall_invocation_t_msg
     401           0 : #define FD_EXEC_TEST_SYSCALL_CONTEXT_FIELDS &fd_exec_test_syscall_context_t_msg
     402             : #define FD_EXEC_TEST_SYSCALL_EFFECTS_FIELDS &fd_exec_test_syscall_effects_t_msg
     403             : #define FD_EXEC_TEST_SYSCALL_FIXTURE_FIELDS &fd_exec_test_syscall_fixture_t_msg
     404             : #define FD_EXEC_TEST_FULL_VM_CONTEXT_FIELDS &fd_exec_test_full_vm_context_t_msg
     405             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_FIELDS &fd_exec_test_validate_vm_effects_t_msg
     406             : #define FD_EXEC_TEST_VALIDATE_VM_FIXTURE_FIELDS &fd_exec_test_validate_vm_fixture_t_msg
     407             : #define FD_EXEC_TEST_RETURN_DATA_FIELDS &fd_exec_test_return_data_t_msg
     408             : 
     409             : /* Maximum encoded size of messages (where known) */
     410             : /* fd_exec_test_InputDataRegion_size depends on runtime parameters */
     411             : /* fd_exec_test_VmContext_size depends on runtime parameters */
     412             : /* fd_exec_test_SyscallInvocation_size depends on runtime parameters */
     413             : /* fd_exec_test_SyscallContext_size depends on runtime parameters */
     414             : /* fd_exec_test_SyscallEffects_size depends on runtime parameters */
     415             : /* fd_exec_test_SyscallFixture_size depends on runtime parameters */
     416             : /* fd_exec_test_FullVmContext_size depends on runtime parameters */
     417             : /* fd_exec_test_ValidateVmFixture_size depends on runtime parameters */
     418             : /* fd_exec_test_ReturnData_size depends on runtime parameters */
     419             : #define FD_EXEC_TEST_VALIDATE_VM_EFFECTS_SIZE    13
     420             : #define ORG_SOLANA_SEALEVEL_V1_VM_PB_H_MAX_SIZE  FD_EXEC_TEST_VALIDATE_VM_EFFECTS_SIZE
     421             : 
     422             : /* Mapping from canonical names (mangle_names or overridden package name) */
     423             : #define org_solana_sealevel_v1_ErrKind fd_exec_test_ErrKind
     424             : #define org_solana_sealevel_v1_InputDataRegion fd_exec_test_InputDataRegion
     425             : #define org_solana_sealevel_v1_VmContext fd_exec_test_VmContext
     426             : #define org_solana_sealevel_v1_SyscallInvocation fd_exec_test_SyscallInvocation
     427             : #define org_solana_sealevel_v1_SyscallContext fd_exec_test_SyscallContext
     428             : #define org_solana_sealevel_v1_SyscallEffects fd_exec_test_SyscallEffects
     429             : #define org_solana_sealevel_v1_SyscallFixture fd_exec_test_SyscallFixture
     430             : #define org_solana_sealevel_v1_FullVmContext fd_exec_test_FullVmContext
     431             : #define org_solana_sealevel_v1_ValidateVmEffects fd_exec_test_ValidateVmEffects
     432             : #define org_solana_sealevel_v1_ValidateVmFixture fd_exec_test_ValidateVmFixture
     433             : #define org_solana_sealevel_v1_ReturnData fd_exec_test_ReturnData
     434             : #define _ORG_SOLANA_SEALEVEL_V1_ERR_KIND_MIN _FD_EXEC_TEST_ERR_KIND_MIN
     435             : #define _ORG_SOLANA_SEALEVEL_V1_ERR_KIND_MAX _FD_EXEC_TEST_ERR_KIND_MAX
     436             : #define _ORG_SOLANA_SEALEVEL_V1_ERR_KIND_ARRAYSIZE _FD_EXEC_TEST_ERR_KIND_ARRAYSIZE
     437             : #define ORG_SOLANA_SEALEVEL_V1_INPUT_DATA_REGION_INIT_DEFAULT FD_EXEC_TEST_INPUT_DATA_REGION_INIT_DEFAULT
     438             : #define ORG_SOLANA_SEALEVEL_V1_VM_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_VM_CONTEXT_INIT_DEFAULT
     439             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_INVOCATION_INIT_DEFAULT FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_DEFAULT
     440             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_DEFAULT
     441             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_DEFAULT
     442             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_SYSCALL_FIXTURE_INIT_DEFAULT
     443             : #define ORG_SOLANA_SEALEVEL_V1_FULL_VM_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_DEFAULT
     444             : #define ORG_SOLANA_SEALEVEL_V1_VALIDATE_VM_EFFECTS_INIT_DEFAULT FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_DEFAULT
     445             : #define ORG_SOLANA_SEALEVEL_V1_VALIDATE_VM_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_VALIDATE_VM_FIXTURE_INIT_DEFAULT
     446             : #define ORG_SOLANA_SEALEVEL_V1_RETURN_DATA_INIT_DEFAULT FD_EXEC_TEST_RETURN_DATA_INIT_DEFAULT
     447             : #define ORG_SOLANA_SEALEVEL_V1_INPUT_DATA_REGION_INIT_ZERO FD_EXEC_TEST_INPUT_DATA_REGION_INIT_ZERO
     448             : #define ORG_SOLANA_SEALEVEL_V1_VM_CONTEXT_INIT_ZERO FD_EXEC_TEST_VM_CONTEXT_INIT_ZERO
     449             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_INVOCATION_INIT_ZERO FD_EXEC_TEST_SYSCALL_INVOCATION_INIT_ZERO
     450             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_CONTEXT_INIT_ZERO FD_EXEC_TEST_SYSCALL_CONTEXT_INIT_ZERO
     451             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_EFFECTS_INIT_ZERO FD_EXEC_TEST_SYSCALL_EFFECTS_INIT_ZERO
     452             : #define ORG_SOLANA_SEALEVEL_V1_SYSCALL_FIXTURE_INIT_ZERO FD_EXEC_TEST_SYSCALL_FIXTURE_INIT_ZERO
     453             : #define ORG_SOLANA_SEALEVEL_V1_FULL_VM_CONTEXT_INIT_ZERO FD_EXEC_TEST_FULL_VM_CONTEXT_INIT_ZERO
     454             : #define ORG_SOLANA_SEALEVEL_V1_VALIDATE_VM_EFFECTS_INIT_ZERO FD_EXEC_TEST_VALIDATE_VM_EFFECTS_INIT_ZERO
     455             : #define ORG_SOLANA_SEALEVEL_V1_VALIDATE_VM_FIXTURE_INIT_ZERO FD_EXEC_TEST_VALIDATE_VM_FIXTURE_INIT_ZERO
     456             : #define ORG_SOLANA_SEALEVEL_V1_RETURN_DATA_INIT_ZERO FD_EXEC_TEST_RETURN_DATA_INIT_ZERO
     457             : 
     458             : #ifdef __cplusplus
     459             : } /* extern "C" */
     460             : #endif
     461             : 
     462             : #endif

Generated by: LCOV version 1.14