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