From: John Kohl Date: Thu, 18 Jan 1990 17:30:38 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: krb5-1.0-alpha2~1257 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3b3eeaadc59c20cac06d41d4455b73235ea40331;p=krb5.git *** empty log message *** git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@125 dc483132-0cff-0310-8789-dd5450dbe970 --- 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 + * . + * + * Keytab definitions. + */ + +#include + +#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__ */