Line data Source code
1 : #ifndef HEADER_fd_src_flamenco_snapshot_fd_snapshot_base_h 2 : #define HEADER_fd_src_flamenco_snapshot_fd_snapshot_base_h 3 : 4 : #include "../fd_flamenco_base.h" 5 : 6 : /* FD_SNAPSHOT_CREATE_{ALIGN,FOOTPRINT} are const-friendly versions 7 : of the memory region parameters for the fd_snapshot_create_t object. */ 8 : 9 : #define FD_SNAPSHOT_CREATE_ALIGN (32UL) 10 : 11 : /* FD_SNAPSHOT_ACC_ALIGN is the alignment of an account header in an 12 : account vec / "AppendVec". */ 13 : 14 24 : #define FD_SNAPSHOT_ACC_ALIGN (8UL) 15 : 16 0 : #define FD_SNAPSHOT_TYPE_UNSPECIFIED 0 17 0 : #define FD_SNAPSHOT_TYPE_FULL 1 18 0 : #define FD_SNAPSHOT_TYPE_INCREMENTAL 2 19 : 20 : /* FD_SNAPSHOT_SRC_{...} specifies the type of snapshot source. */ 21 : 22 0 : #define FD_SNAPSHOT_SRC_FILE (1) 23 0 : #define FD_SNAPSHOT_SRC_HTTP (2) 24 : 25 : struct fd_snapshot_name { 26 : int type; 27 : ulong slot; 28 : ulong incremental_slot; 29 : fd_hash_t fhash; 30 : char file_ext[ 16 ]; 31 : }; 32 : 33 : typedef struct fd_snapshot_name fd_snapshot_name_t; 34 : 35 : FD_PROTOTYPES_BEGIN 36 : 37 : 38 : fd_snapshot_name_t * 39 : fd_snapshot_name_from_cstr( fd_snapshot_name_t * id, 40 : char const * cstr ); 41 : 42 : fd_snapshot_name_t * 43 : fd_snapshot_name_from_buf( fd_snapshot_name_t * id, 44 : char const * str, 45 : ulong str_len ); 46 : 47 : int 48 : fd_snapshot_name_slot_validate( fd_snapshot_name_t * id, 49 : ulong base_slot ); 50 : 51 : 52 : FD_PROTOTYPES_END 53 : 54 : #endif /* HEADER_fd_src_flamenco_snapshot_fd_snapshot_base_h */