*** empty log message ***
authorJohn Kohl <jtkohl@mit.edu>
Thu, 18 Jan 1990 17:30:38 +0000 (17:30 +0000)
committerJohn Kohl <jtkohl@mit.edu>
Thu, 18 Jan 1990 17:30:38 +0000 (17:30 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@125 dc483132-0cff-0310-8789-dd5450dbe970

src/include/krb5/keytab.h [new file with mode: 0644]

diff --git a/src/include/krb5/keytab.h b/src/include/krb5/keytab.h
new file mode 100644 (file)
index 0000000..dd955fb
--- /dev/null
@@ -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__ */