summaryrefslogtreecommitdiff
path: root/libdb/db_storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdb/db_storage.h')
-rw-r--r--libdb/db_storage.h37
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);