diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/krb5/keytab.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/include/krb5/keytab.h b/src/include/krb5/keytab.h new file mode 100644 index 000000000..dd955fb3d --- /dev/null +++ b/src/include/krb5/keytab.h @@ -0,0 +1,62 @@ +/* + * $Source$ + * $Author$ + * $Id$ + * + * Copyright 1990 by the Massachusetts Institute of Technology. + * + * For copying and distribution information, please see the file + * <krb5/mit-copyright.h>. + * + * Keytab definitions. + */ + +#include <krb5/copyright.h> + +#ifndef __KRB5_KEYTAB__ +#define __KRB5_KEYTAB__ + + +typedef krb5_pointer krb5_kt_cursor; /* XXX */ + +typedef struct krb5_keytab_entry_st { + krb5_principal principal; /* principal of this key */ + krb5_keyblock *key; /* the secret key */ + krb5_kvno vno; /* key version number */ +} krb5_keytab_entry; + + +typedef struct krb5_kt_st { + struct krb5_kt_ops *ops; + krb5_pointer data; +} *krb5_keytab; + + +typedef struct _krb5_kt_ops { + char *prefix; + /* routines always present */ + int (*resolve) PROTOTYPE((char *, + krb5_keytab)); + int (*get_name) PROTOTYPE((krb5_ccache, + char *, + int)); + int (*close) PROTOTYPE((krb5_keytab *)); + int (*get) PROTOTYPE((krb5_keytab, + krb5_principal, + krb5_kvno, + krb5_keytab_entry *)); + int (*start_seq_get) PROTOTYPE((krb5_keytab, + krb5_kt_cursor *)); + int (*get_next) PROTOTYPE((krb5_keytab, + krb5_keytab_entry *, + krb5_kt_cursor)); + int (*end_get) PROTOTYPE((krb5_keytab, + krb5_kt_cursor)); + /* routines to be included on extended version (write routines) */ + int (*add) PROTOTYPE((krb5_keytab, + krb5_keytab_entry *)); + int (*remove) PROTOTYPE((krb5_keytab, + krb5_kt_cursor)); +} krb5_kt_ops; + +#endif /* __KRB5_KEYTAB__ */ |
