freebsd-skq/eBones/include/krb_db.h
Geoff Rehmet 60643d379b Initial import of eBones.
(Including all changes for FreeBSD - importing the original eBones distribution
would be too complex at this stage, since I don't have access to Piero's 
CVS.)
(If you want to include eBones in your system, don't forget to include
MAKE_EBONES in /etc/make.conf.)
(This stuff is now also suppable from braae.ru.ac.za.)

Bones originally from MIT SIPB.
Original port to FreeBSD 1.x  by Piero Serini.
Moved to FreeBSD 2.0 by Doug Rabson and Geoff Rehmet.
Nice bug fixes from Doug Rabson.
1994-09-30 14:50:09 +00:00

101 lines
2.3 KiB
C

/*
* Copyright 1987, 1988 by the Massachusetts Institute of Technology.
* For copying and distribution information, please see the file
* <Copyright.MIT>.
*
* spm Project Athena 8/85
*
* This file defines data structures for the kerberos
* authentication/authorization database.
*
* They MUST correspond to those defined in *.rel
*
* from: krb_db.h,v 4.9 89/01/24 17:55:39 jon Exp $
* $Id: krb_db.h,v 1.2 1994/07/19 19:23:19 g89r4222 Exp $
*/
#ifndef KRB_DB_DEFS
#define KRB_DB_DEFS
#define KERB_M_NAME "K" /* Kerberos */
#define KERB_M_INST "M" /* Master */
#define KERB_DEFAULT_NAME "default"
#define KERB_DEFAULT_INST ""
#define DBM_FILE "/etc/kerberosIV/principal"
/* this also defines the number of queue headers */
#define KERB_DB_HASH_MODULO 64
/* Arguments to kerb_dbl_lock() */
#define KERB_DBL_EXCLUSIVE 1
#define KERB_DBL_SHARED 0
/* arguments to kerb_db_set_lockmode() */
#define KERB_DBL_BLOCKING 0
#define KERB_DBL_NONBLOCKING 1
/* Principal defines the structure of a principal's name */
typedef struct {
char name[ANAME_SZ];
char instance[INST_SZ];
unsigned long key_low;
unsigned long key_high;
unsigned long exp_date;
char exp_date_txt[DATE_SZ];
unsigned long mod_date;
char mod_date_txt[DATE_SZ];
unsigned short attributes;
unsigned char max_life;
unsigned char kdc_key_ver;
unsigned char key_version;
char mod_name[ANAME_SZ];
char mod_instance[INST_SZ];
char *old; /* cast to (Principal *); not in db,
* ptr to old vals */
}
Principal;
typedef struct {
long cpu;
long elapsed;
long dio;
long pfault;
long t_stamp;
long n_retrieve;
long n_replace;
long n_append;
long n_get_stat;
long n_put_stat;
}
DB_stat;
/* Dba defines the structure of a database administrator */
typedef struct {
char name[ANAME_SZ];
char instance[INST_SZ];
unsigned short attributes;
unsigned long exp_date;
char exp_date_txt[DATE_SZ];
char *old; /*
* cast to (Dba *); not in db, ptr to
* old vals
*/
}
Dba;
extern int kerb_get_principal();
extern int kerb_put_principal();
extern int kerb_db_get_stat();
extern int kerb_db_put_stat();
extern int kerb_get_dba();
extern int kerb_db_get_dba();
#endif /* KRB_DB_DEFS */