OpenAFS
OpenAFS distributed network file system
|
00001 /* 00002 * Copyright 2000, International Business Machines Corporation and others. 00003 * All Rights Reserved. 00004 * 00005 * This software has been released under the terms of the IBM Public 00006 * License. For details, see the LICENSE file in the top-level source 00007 * directory or online at http://www.openafs.org/dl/license10.html 00008 */ 00009 #ifndef AFS_SRC_KAUTH_INTERNAL_H 00010 #define AFS_SRC_KAUTH_INTERNAL_H 00011 00012 #include <hcrypto/des.h> 00013 00014 /* admin_tools.c */ 00015 extern afs_int32 ka_AdminInteractive(int cmd_argc, char *cmd_argv[]); 00016 00017 /* kadatabase.c */ 00018 extern void init_kadatabase(int initFlags); 00019 00020 extern afs_int32 ka_LookupKey(struct ubik_trans *tt, 00021 char *name, char *inst, 00022 afs_int32 *kvno, 00023 struct ktc_encryptionKey *key); 00024 00025 struct kaentry; 00026 extern afs_int32 FindBlock(struct ubik_trans *at, char *aname, 00027 char *ainstance, afs_int32 *toP, 00028 struct kaentry *tentry); 00029 00030 extern afs_int32 ThreadBlock(struct ubik_trans *at, afs_int32 index, 00031 struct kaentry *tentry); 00032 00033 extern afs_int32 ka_FillKeyCache(struct ubik_trans *tt); 00034 00035 extern afs_int32 CheckInit(struct ubik_trans *at, 00036 int (*db_init) (struct ubik_trans *)); 00037 00038 extern afs_int32 AllocBlock(struct ubik_trans *at, struct kaentry *tentry); 00039 00040 extern afs_int32 ka_NewKey(struct ubik_trans *tt, afs_int32 tentryaddr, 00041 struct kaentry *tentry, 00042 struct ktc_encryptionKey *key); 00043 00044 extern int name_instance_legal(char *name, char *instance); 00045 00046 /* kalog.c */ 00047 extern void kalog_Init(void); 00048 00049 /* kaprocs.c */ 00050 struct ubik_trans; 00051 extern afs_int32 InitAuthServ(struct ubik_trans **, int, int *); 00052 00053 /* krb_tf.c */ 00054 extern afs_int32 krb_write_ticket_file(char *realm); 00055 00056 /* krb_udp.c */ 00057 extern afs_int32 init_krb_udp(void); 00058 00059 static_inline DES_cblock * 00060 EncryptionKey_to_cblock(EncryptionKey *key) { 00061 return (DES_cblock *)key; 00062 } 00063 00064 static_inline struct ktc_encryptionKey * 00065 EncryptionKey_to_ktc(EncryptionKey *key) { 00066 return (struct ktc_encryptionKey *)key; 00067 } 00068 00069 static_inline EncryptionKey * 00070 ktc_to_EncryptionKey(struct ktc_encryptionKey *key) { 00071 return (EncryptionKey *)key; 00072 } 00073 00074 #endif