summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/krb5/keytab.h62
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__ */