kdb5.h revision 2dd2efa5a06a9befe46075cf41e16f57533c9f98
#ifndef _KRB5_KDB5_H_
#define _KRB5_KDB5_H_
#pragma ident "%Z%%M% %I% %E% SMI"
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <errno.h>
#include <utime.h>
#include <utime.h>
#include <k5-int.h>
#include "kdb.h"
#define KDB_MAX_DB_NAME 128
#define KDB_REALM_SECTION "realms"
#define KDB_MODULE_POINTER "database_module"
#define KDB_MODULE_DEF_SECTION "dbdefaults"
#define KDB_MODULE_SECTION "dbmodules"
#define KDB_LIB_POINTER "db_library"
#define KDB_DATABASE_ENV_PROF KDC_PROFILE_ENV
typedef struct _kdb_vftabl{
short int maj_ver;
short int min_ver;
int iprop_supported;
krb5_error_code (*init_library)();
krb5_error_code (*fini_library)();
char * conf_section,
char ** db_args,
int mode);
char * conf_section,
char ** db_args);
char *conf_section,
char ** db_args);
char *db_name,
int option,
void *value);
int mode);
int *nentries,
krb5_boolean *more);
int *nentries,
krb5_boolean *more);
int count);
int *nentries,
char **db_args);
int *nentries);
/* Solaris Kerberos: adding support for db_args */
char *match_entry,
char **db_args);
char *name,
int *cnt);
char *match_entry,
void *data);
char *policy);
char **realms);
char **realms);
long err_code);
/* optional functions */
char *pwd,
krb5_keyblock *key);
krb5_keyblock **key);
char *keyname,
char *realm,
char **fullname,
char *db_arg,
char *master_pwd);
int *kvno,
char *db_args);
krb5_key_data **kdatap);
int ks_tuple_count,
char * passwd,
int new_kvno,
/* Promote a temporary database to be the live one. */
char *conf_section,
char **db_args);
} kdb_vftabl;
typedef struct _db_library {
char name[KDB_MAX_DB_NAME];
int reference_cnt;
struct plugin_dir_handle dl_dir_handle;
} *db_library;
typedef struct _kdb5_dal_handle
{
/* Helps us to change db_library without affecting modules to some
extent. */
void *db_context;
#endif /* end of _KRB5_KDB5_H_ */