Lines Matching refs:df
72 struct _citrus_db_factory *df; in _citrus_db_factory_create() local
74 df = malloc(sizeof(*df)); in _citrus_db_factory_create()
75 if (df == NULL) in _citrus_db_factory_create()
77 df->df_num_entries = 0; in _citrus_db_factory_create()
78 df->df_total_key_size = df->df_total_data_size = 0; in _citrus_db_factory_create()
79 STAILQ_INIT(&df->df_entries); in _citrus_db_factory_create()
80 df->df_hashfunc = hashfunc; in _citrus_db_factory_create()
81 df->df_hashfunc_closure = hashfunc_closure; in _citrus_db_factory_create()
83 *rdf = df; in _citrus_db_factory_create()
89 _citrus_db_factory_free(struct _citrus_db_factory *df) in _citrus_db_factory_free() argument
93 while ((de = STAILQ_FIRST(&df->df_entries)) != NULL) { in _citrus_db_factory_free()
94 STAILQ_REMOVE_HEAD(&df->df_entries, de_entry); in _citrus_db_factory_free()
101 free(df); in _citrus_db_factory_free()
111 _citrus_db_factory_add(struct _citrus_db_factory *df, struct _region *key, in _citrus_db_factory_add() argument
120 de->de_hashvalue = df->df_hashfunc(key); in _citrus_db_factory_add()
127 STAILQ_INSERT_TAIL(&df->df_entries, de, de_entry); in _citrus_db_factory_add()
128 df->df_total_key_size += _region_size(key); in _citrus_db_factory_add()
129 df->df_total_data_size += ceilto(_region_size(data)); in _citrus_db_factory_add()
130 df->df_num_entries++; in _citrus_db_factory_add()
137 _citrus_db_factory_add_by_string(struct _citrus_db_factory *df, in _citrus_db_factory_add_by_string() argument
147 return _citrus_db_factory_add(df, &r, 1, data, datafree); in _citrus_db_factory_add_by_string()
151 _citrus_db_factory_add8_by_string(struct _citrus_db_factory *df, in _citrus_db_factory_add8_by_string() argument
162 return (_citrus_db_factory_add_by_string(df, key, &r, 1)); in _citrus_db_factory_add8_by_string()
166 _citrus_db_factory_add16_by_string(struct _citrus_db_factory *df, in _citrus_db_factory_add16_by_string() argument
177 return (_citrus_db_factory_add_by_string(df, key, &r, 1)); in _citrus_db_factory_add16_by_string()
181 _citrus_db_factory_add32_by_string(struct _citrus_db_factory *df, in _citrus_db_factory_add32_by_string() argument
192 return (_citrus_db_factory_add_by_string(df, key, &r, 1)); in _citrus_db_factory_add32_by_string()
196 _citrus_db_factory_add_string_by_string(struct _citrus_db_factory *df, in _citrus_db_factory_add_string_by_string() argument
206 return (_citrus_db_factory_add_by_string(df, key, &r, 1)); in _citrus_db_factory_add_string_by_string()
210 _citrus_db_factory_calc_size(struct _citrus_db_factory *df) in _citrus_db_factory_calc_size() argument
215 sz += ceilto(_CITRUS_DB_ENTRY_SIZE * df->df_num_entries); in _citrus_db_factory_calc_size()
216 sz += ceilto(df->df_total_key_size); in _citrus_db_factory_calc_size()
217 sz += df->df_total_data_size; in _citrus_db_factory_calc_size()
260 _citrus_db_factory_serialize(struct _citrus_db_factory *df, const char *magic, in _citrus_db_factory_serialize() argument
268 if (df->df_num_entries == 0) { in _citrus_db_factory_serialize()
273 depp = calloc(df->df_num_entries, sizeof(*depp)); in _citrus_db_factory_serialize()
278 STAILQ_FOREACH(de, &df->df_entries, de_entry) { in _citrus_db_factory_serialize()
279 de->de_hashvalue %= df->df_num_entries; in _citrus_db_factory_serialize()
290 STAILQ_FOREACH(de, &df->df_entries, de_entry) { in _citrus_db_factory_serialize()
304 ceilto(df->df_num_entries*_CITRUS_DB_ENTRY_SIZE); in _citrus_db_factory_serialize()
305 dataofs = keyofs + ceilto(df->df_total_key_size); in _citrus_db_factory_serialize()
308 dump_header(r, magic, &ofs, df->df_num_entries); in _citrus_db_factory_serialize()
311 for (i = 0; i < df->df_num_entries; i++) { in _citrus_db_factory_serialize()