]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - keydb_db2.c
Move dumpdb over to using iterate_keys.
[onak.git] / keydb_db2.c
index 77a6f8b4b7c5471e2b63b4ca1da00fb22434e5fe..affdc4b147682c55ab739d432c91283a695645db 100644 (file)
@@ -3,9 +3,7 @@
  *
  * Jonathan McDowell <noodles@earth.li>
  *
  *
  * Jonathan McDowell <noodles@earth.li>
  *
- * Copyright 2002 Project Purple
- *
- * $Id: keydb_db2.c,v 1.10 2003/09/30 20:40:10 noodles Exp $
+ * Copyright 2002-2004 Project Purple
  */
 
 #include <sys/types.h>
  */
 
 #include <sys/types.h>
@@ -65,7 +63,7 @@ DB *keydb(DBT *key)
  *     this file are called in order to allow the DB to be initialized ready
  *     for access.
  */
  *     this file are called in order to allow the DB to be initialized ready
  *     for access.
  */
-void initdb(void)
+void initdb(bool readonly)
 {
        DB_INFO keydbinfo;
        int i;
 {
        DB_INFO keydbinfo;
        int i;
@@ -252,25 +250,27 @@ int delete_key(uint64_t keyid, bool intrans)
 }
 
 /**
 }
 
 /**
- *     dumpdb - dump the key database
- *     @filenamebase: The base filename to use for the dump.
+ *     iterate_keys - call a function once for each key in the db.
+ *     @iterfunc: The function to call.
+ *     @ctx: A context pointer
+ *
+ *     Calls iterfunc once for each key in the database. ctx is passed
+ *     unaltered to iterfunc. This function is intended to aid database dumps
+ *     and statistic calculations.
  *
  *
- *     Dumps the database into one or more files, which contain pure OpenPGP
- *     that can be reimported into onak or gpg. filenamebase provides a base
- *     file name for the dump; several files may be created, all of which will
- *     begin with this string and then have a unique number and a .pgp
- *     extension.
- *          */
-int dumpdb(char *filenamebase)
+ *     Returns the number of keys we iterated over.
+ */
+int iterate_keys(void (*iterfunc)(void *ctx, struct openpgp_publickey *key),
+               void *ctx)
 {
        return 0;
 }
 
 {
        return 0;
 }
 
-
 /*
  * Include the basic keydb routines.
  */
 #define NEED_KEYID2UID 1
 #define NEED_GETKEYSIGS 1
 #define NEED_GETFULLKEYID 1
 /*
  * Include the basic keydb routines.
  */
 #define NEED_KEYID2UID 1
 #define NEED_GETKEYSIGS 1
 #define NEED_GETFULLKEYID 1
+#define NEED_UPDATEKEYS 1
 #include "keydb.c"
 #include "keydb.c"