Lines Matching refs:df

72 	struct _citrus_db_factory *df;
74 df = malloc(sizeof(*df));
75 if (df == NULL)
77 df->df_num_entries = 0;
78 df->df_total_key_size = df->df_total_data_size = 0;
79 STAILQ_INIT(&df->df_entries);
80 df->df_hashfunc = hashfunc;
81 df->df_hashfunc_closure = hashfunc_closure;
83 *rdf = df;
89 _citrus_db_factory_free(struct _citrus_db_factory *df)
93 while ((de = STAILQ_FIRST(&df->df_entries)) != NULL) {
94 STAILQ_REMOVE_HEAD(&df->df_entries, de_entry);
101 free(df);
111 _citrus_db_factory_add(struct _citrus_db_factory *df, struct _region *key,
120 de->de_hashvalue = df->df_hashfunc(key);
127 STAILQ_INSERT_TAIL(&df->df_entries, de, de_entry);
128 df->df_total_key_size += _region_size(key);
129 df->df_total_data_size += ceilto(_region_size(data));
130 df->df_num_entries++;
137 _citrus_db_factory_add_by_string(struct _citrus_db_factory *df,
147 return _citrus_db_factory_add(df, &r, 1, data, datafree);
151 _citrus_db_factory_add8_by_string(struct _citrus_db_factory *df,
162 return (_citrus_db_factory_add_by_string(df, key, &r, 1));
166 _citrus_db_factory_add16_by_string(struct _citrus_db_factory *df,
177 return (_citrus_db_factory_add_by_string(df, key, &r, 1));
181 _citrus_db_factory_add32_by_string(struct _citrus_db_factory *df,
192 return (_citrus_db_factory_add_by_string(df, key, &r, 1));
196 _citrus_db_factory_add_string_by_string(struct _citrus_db_factory *df,
206 return (_citrus_db_factory_add_by_string(df, key, &r, 1));
210 _citrus_db_factory_calc_size(struct _citrus_db_factory *df)
215 sz += ceilto(_CITRUS_DB_ENTRY_SIZE * df->df_num_entries);
216 sz += ceilto(df->df_total_key_size);
217 sz += df->df_total_data_size;
269 _citrus_db_factory_serialize(struct _citrus_db_factory *df, const char *magic,
277 if (df->df_num_entries == 0) {
282 depp = malloc(sizeof(*depp) * df->df_num_entries);
285 for (i = 0; i < df->df_num_entries; i++)
289 STAILQ_FOREACH(de, &df->df_entries, de_entry) {
290 de->de_hashvalue %= df->df_num_entries;
301 STAILQ_FOREACH(de, &df->df_entries, de_entry) {
315 ceilto(df->df_num_entries*_CITRUS_DB_ENTRY_SIZE);
316 dataofs = keyofs + ceilto(df->df_total_key_size);
319 dump_header(r, magic, &ofs, df->df_num_entries);
322 for (i = 0; i < df->df_num_entries; i++) {