flat_file_types.h
Go to the documentation of this file.
1 /******************************************************************************/
35 /******************************************************************************/
36 
37 #if !defined(FLAT_FILE_TYPES_H)
38 #define FLAT_FILE_TYPES_H
39 
40 #if defined(__cplusplus)
41 extern "C" {
42 #endif
43 
44 #include "../dictionary.h"
45 #include "../../file/sd_stdio_c_iface.h"
46 
51 
55 #define ION_FLAT_FILE_STATUS_OCCUPIED 1
56 
59 #define ION_FLAT_FILE_STATUS_EMPTY 0
60 
64 #define ION_FLAT_FILE_SCAN_FORWARDS 1
65 
68 #define ION_FLAT_FILE_SCAN_BACKWARDS 0
69 
73 typedef struct {
91  FILE *data_file;
94  size_t row_size;
103 
107 typedef struct {
109  ion_flat_file_row_status_t row_status;
115 
120  ion_flat_file_t *,
122  va_list *args
123 );
124 
128 typedef struct {
134 
135 #if defined(__cplusplus)
136 }
137 #endif
138 
139 #endif
ion_dictionary_size_t num_buffered
unsigned char ion_byte_t
A byte type.
Definition: kv_system.h:232
Container for the rows written in the flat file data file.
Metadata container that holds flat file specific information.
ion_fpos_t current_loaded_region
ion_byte_t ion_flat_file_row_status_t
This type describes the status flag within a flat file row.
unsigned int ion_dictionary_size_t
The implementation specific size of the dictionary.
Definition: kv_system.h:264
ion_byte_t * buffer
This is the super type for all dictionaries.
ion_dict_cursor_t super
void * ion_key_t
A dictionary key.
Definition: kv_system.h:241
ion_flat_file_row_status_t row_status
void * ion_value_t
A dictionary value.
Definition: kv_system.h:246
ion_fpos_t start_of_data
ion_fpos_t eof_position
A supertype for dictionary cursor objects.
Implementation cursor type for the flat file store cursor.
ion_dictionary_parent_t super
ion_boolean_t sorted_mode
long ion_fpos_t
A file position type.
Definition: kv_system.h:237
char ion_boolean_t
A boolean type.
Definition: kv_system.h:269
ion_boolean_t(* ion_flat_file_predicate_t)(ion_flat_file_t *, ion_flat_file_row_t *, va_list *args)
The function signature of a flat file predicate, used in searches.