#define FULL_LIST_SIZE
#define CF_INT 1
#define CF_DOUBLE 2
#define CF_CHAR 3
#define CF_STRING 4
#define CF_VARCHAR 5
#define CF_NUM_FIELD_TYPES 6
#define CF_FLG_IGNORECASE
#define CGI_COMPLETE_MISS
#define CACHE_LIST_SIZE
#define CACHE_FIELD_SIZE
#define CACHE_ITEM_SIZE
struct Full_List | |
{ | |
dl_List_t fl_Search_List; | |
dl_List_t fl_LRU_List; | |
const char* fl_Name; | |
} |
struct Cache_List | |
{ | |
dl_Node_t cl_Node; | |
char* cl_Name; | |
dl_List_t cl_Fields; | |
struct Full_List cl_Items; | |
dl_List_t cl_Free; | |
dl_List_t cl_Free_cgi; | |
dl_List_t cl_Build; | |
dl_List_t cl_Missing; | |
int cl_flags; | |
size_t cl_data_size; | |
int cl_max_items; | |
int cl_curr_items; | |
int cl_max_field_num; | |
int cl_cache_replaces; | |
int cl_cache_hits; | |
int cl_cache_misses; | |
int cl_complete_misses; | |
int cl_expire_seconds; | |
int cl_num_search_rules; | |
struct full_search_rule* cl_search_rules; | |
time_t cl_create_time; | |
int cl_expire_time; | |
} |
struct Cache_Field | |
{ | |
dl_Node_t cf_Node; | |
char* cf_Name; | |
int cf_field_num; | |
int cf_field_type; | |
int cf_field_flags; | |
int cf_f_offset; | |
size_t cf_field_size; | |
} |
struct Cache_Item | |
{ | |
dl_Node_t ci_S_Node; | |
dl_Node_t ci_L_Node; | |
char* ci_Name; | |
size_t ci_data_size; | |
size_t ci_str_size; | |
void* ci_Item; | |
time_t ci_expire_time; | |
} |
struct Cache_Group_Item | |
{ | |
struct Cache_Item cgi_Item; | |
struct Full_List cgi_Items; | |
int cgi_Flags; | |
int cgi_cache_replaces; | |
int cgi_cache_hits; | |
int cgi_cache_misses; | |
int cgi_complete_misses; | |
} |
struct full_search_rule | |
{ | |
struct Cache_Field* cf; | |
int comparison_method; | |
int (*cmpfunc)(void*,void*); | |
} |