diff options
Diffstat (limited to 'libdb/db_storage.h')
-rw-r--r-- | libdb/db_storage.h | 37 |
1 files changed, 7 insertions, 30 deletions
diff --git a/libdb/db_storage.h b/libdb/db_storage.h index be01cc37..21335d65 100644 --- a/libdb/db_storage.h +++ b/libdb/db_storage.h @@ -26,6 +26,8 @@ #ifndef DB_STORAGE_H #define DB_STORAGE_H +#include <stdbool.h> + #include "gl_list.h" /* These definitions give an inherent precedence to each particular type @@ -47,31 +49,10 @@ #define FIELDS 10 /* No of fields in each database page `content' */ -#include "timespec.h" - -#include "xalloc.h" +#include "filenames.h" #include "mydbm.h" -struct mandata { - char *addr; /* ptr to memory containing the fields */ - - char *name; /* Name of page, if != key */ - - /* The following are all const because they should be pointers to - * parts of strings allocated elsewhere (often the addr field above) - * and should not be written through or freed themselves. - */ - const char *ext; /* Filename ext w/o comp ext */ - const char *sec; /* Section name/number */ - char id; /* id for this entry */ - const char *pointer; /* id related file pointer */ - const char *comp; /* Compression extension */ - const char *filter; /* filters needed for the page */ - const char *whatis; /* whatis description for page */ - struct timespec mtime; /* mod time for file */ -}; - struct name_ext { const char *name; const char *ext; @@ -88,21 +69,17 @@ extern gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *page, extern int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base); extern int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *in); extern void dbprintf (const struct mandata *info); -extern void free_mandata_elements (struct mandata *pinfo); -extern void free_mandata_struct (struct mandata *pinfo); -extern void split_content (MYDBM_FILE dbf, char *cont_ptr, - struct mandata *pinfo); -extern int compare_ids (char a, char b, int promote_links); +extern struct mandata *split_content (MYDBM_FILE dbf, char *cont_ptr); +extern int compare_ids (char a, char b, bool promote_links); /* local to db routines */ extern void gripe_lock (const char *filename); extern void gripe_corrupt_data (MYDBM_FILE dbf); extern datum make_multi_key (const char *page, const char *ext); -/* allocate a mandata structure */ -#define infoalloc() XZALLOC (struct mandata) - extern char *name_to_key (const char *name); +bool name_ext_equals (const void *elt1, const void *elt2); +int name_ext_compare (const void *elt1, const void *elt2); /* Returns a list of struct name_ext. */ extern gl_list_t list_extensions (char *data); extern void gripe_replace_key (MYDBM_FILE dbf, const char *data); |