+void dict_clean(Dict dict)
+{
+ int page_size = dict->head.page_size;
+ void *head_buf;
+ int compact_flag = dict->head.compact_flag;
+
+ memset(dict->head.magic_str, 0, sizeof(dict->head.magic_str));
+ strcpy(dict->head.magic_str, DICT_MAGIC);
+ dict->head.last = 1;
+ dict->head.root = 0;
+ dict->head.freelist = 0;
+ dict->head.page_size = page_size;
+ dict->head.compact_flag = compact_flag;
+
+ /* create header with information (page 0) */
+ if (dict->rw)
+ dict_bf_newp(dict->dbf, 0, &head_buf, page_size);
+}
+
+Dict dict_open(BFiles bfs, const char *name, int cache, int rw,
+ int compact_flag, int page_size)