tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

keydbi.h (1644B)


      1 /*
      2 * private.h - Private data structures for the software token library
      3 *
      4 * This Source Code Form is subject to the terms of the Mozilla Public
      5 * License, v. 2.0. If a copy of the MPL was not distributed with this
      6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      7 
      8 #ifndef _KEYDBI_H_
      9 #define _KEYDBI_H_
     10 
     11 #include "nspr.h"
     12 #include "seccomon.h"
     13 #include "mcom_db.h"
     14 
     15 /*
     16 * Handle structure for open key databases
     17 */
     18 struct NSSLOWKEYDBHandleStr {
     19    DB *db;
     20    DB *updatedb;         /* used when updating an old version */
     21    SECItem *global_salt; /* password hashing salt for this db */
     22    int version;          /* version of the database */
     23    char *appname;        /* multiaccess app name */
     24    char *dbname;         /* name of the openned DB */
     25    PRBool readOnly;      /* is the DB read only */
     26    PRLock *lock;
     27    PRInt32 ref; /* reference count */
     28 };
     29 
     30 /*
     31 ** Typedef for callback for traversing key database.
     32 **      "key" is the key used to index the data in the database (nickname)
     33 **      "data" is the key data
     34 **      "pdata" is the user's data
     35 */
     36 typedef SECStatus (*NSSLOWKEYTraverseKeysFunc)(DBT *key, DBT *data, void *pdata);
     37 
     38 SEC_BEGIN_PROTOS
     39 
     40 /*
     41 ** Traverse the entire key database, and pass the nicknames and keys to a
     42 ** user supplied function.
     43 **      "f" is the user function to call for each key
     44 **      "udata" is the user's data, which is passed through to "f"
     45 */
     46 extern SECStatus nsslowkey_TraverseKeys(NSSLOWKEYDBHandle *handle,
     47                                        NSSLOWKEYTraverseKeysFunc f,
     48                                        void *udata);
     49 
     50 SEC_END_PROTOS
     51 
     52 #endif /* _KEYDBI_H_ */