xref: /freebsd/crypto/krb5/src/lib/kdb/kdb5.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 #ifndef _KRB5_KDB5_H_
3 #define _KRB5_KDB5_H_
4 
5 #include <k5-int.h>
6 
7 #if HAVE_UNISTD_H
8 #include <unistd.h>
9 #endif
10 
11 #include <errno.h>
12 #include <utime.h>
13 #include "kdb.h"
14 
15 #define KRB5_DB_GET_DB_CONTEXT(kcontext) (((kdb5_dal_handle*) (kcontext)->dal_handle)->db_context)
16 #define KRB5_DB_GET_PROFILE(kcontext)  ((kcontext)->profile)
17 #define KRB5_DB_GET_REALM(kcontext)    ((kcontext)->default_realm)
18 
19 typedef struct _db_library {
20     char name[KDB_MAX_DB_NAME];
21     int reference_cnt;
22     struct plugin_dir_handle dl_dir_handle;
23     kdb_vftabl vftabl;
24     struct _db_library *next, *prev;
25 } *db_library;
26 
27 struct _kdb5_dal_handle
28 {
29     /* Helps us to change db_library without affecting modules to some
30        extent.  */
31     void *db_context;
32     db_library lib_handle;
33     krb5_keylist_node *master_keylist;
34     krb5_principal master_princ;
35 };
36 /* typedef kdb5_dal_handle is in k5-int.h now */
37 
38 #endif  /* end of _KRB5_KDB5_H_ */
39