Lines Matching defs:df
79 struct _citrus_db_factory *df;
81 df = malloc(sizeof(*df));
82 if (df == NULL)
84 df->df_num_entries = 0;
85 df->df_total_key_size = df->df_total_data_size = 0;
86 SIMPLEQ_INIT(&df->df_entries);
87 df->df_hashfunc = hashfunc;
88 df->df_hashfunc_closure = hashfunc_closure;
90 *rdf = df;
96 _citrus_db_factory_free(struct _citrus_db_factory *df)
100 while ((de = SIMPLEQ_FIRST(&df->df_entries)) != NULL) {
101 SIMPLEQ_REMOVE_HEAD(&df->df_entries, de_entry);
108 free(df);
118 _citrus_db_factory_add(struct _citrus_db_factory *df,
128 de->de_hashvalue = df->df_hashfunc(df->df_hashfunc_closure, key);
135 SIMPLEQ_INSERT_TAIL(&df->df_entries, de, de_entry);
136 df->df_total_key_size += _region_size(key);
137 df->df_total_data_size += ceilto(_region_size(data));
138 df->df_num_entries++;
145 _citrus_db_factory_add_by_string(struct _citrus_db_factory *df,
155 return _citrus_db_factory_add(df, &r, 1, data, datafree);
159 _citrus_db_factory_add8_by_string(struct _citrus_db_factory *df,
170 return _citrus_db_factory_add_by_string(df, key, &r, 1);
174 _citrus_db_factory_add16_by_string(struct _citrus_db_factory *df,
185 return _citrus_db_factory_add_by_string(df, key, &r, 1);
189 _citrus_db_factory_add32_by_string(struct _citrus_db_factory *df,
200 return _citrus_db_factory_add_by_string(df, key, &r, 1);
204 _citrus_db_factory_add_string_by_string(struct _citrus_db_factory *df,
214 return _citrus_db_factory_add_by_string(df, key, &r, 1);
218 _citrus_db_factory_calc_size(struct _citrus_db_factory *df)
223 sz += ceilto(_CITRUS_DB_ENTRY_SIZE * df->df_num_entries);
224 sz += ceilto(df->df_total_key_size);
225 sz += df->df_total_data_size;
264 _citrus_db_factory_serialize(struct _citrus_db_factory *df, const char *magic,
272 if (df->df_num_entries == 0) {
277 depp = calloc(df->df_num_entries, sizeof(*depp));
282 SIMPLEQ_FOREACH(de, &df->df_entries, de_entry) {
283 de->de_hashvalue %= df->df_num_entries;
294 SIMPLEQ_FOREACH(de, &df->df_entries, de_entry) {
309 ceilto(df->df_num_entries*_CITRUS_DB_ENTRY_SIZE);
310 dataofs = keyofs + ceilto(df->df_total_key_size);
313 dump_header(r, magic, &ofs, df->df_num_entries);
316 for (i = 0; i < df->df_num_entries; i++) {