1781Sgtb /* 2781Sgtb * lib/krb5/keytab/rc-int.h 3781Sgtb * 4781Sgtb * Copyright 2004 by the Massachusetts Institute of Technology. 5781Sgtb * All Rights Reserved. 6781Sgtb * 7781Sgtb * Export of this software from the United States of America may 8781Sgtb * require a specific license from the United States Government. 9781Sgtb * It is the responsibility of any person or organization contemplating 10781Sgtb * export to obtain such a license before exporting. 11781Sgtb * 12781Sgtb * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 13781Sgtb * distribute this software and its documentation for any purpose and 14781Sgtb * without fee is hereby granted, provided that the above copyright 15781Sgtb * notice appear in all copies and that both that copyright notice and 16781Sgtb * this permission notice appear in supporting documentation, and that 17781Sgtb * the name of M.I.T. not be used in advertising or publicity pertaining 18781Sgtb * to distribution of the software without specific, written prior 19781Sgtb * permission. Furthermore if you modify this software you must label 20781Sgtb * your software as modified software and not distribute it in such a 21781Sgtb * fashion that it might be confused with the original M.I.T. software. 22781Sgtb * M.I.T. makes no representations about the suitability of 23781Sgtb * this software for any purpose. It is provided "as is" without express 24781Sgtb * or implied warranty. 25781Sgtb * 26781Sgtb * 27781Sgtb * This file contains constant and function declarations used in the 28781Sgtb * file-based replay cache routines. 29781Sgtb */ 30781Sgtb 31781Sgtb #ifndef __KRB5_RCACHE_INT_H__ 32781Sgtb #define __KRB5_RCACHE_INT_H__ 33781Sgtb 34781Sgtb int krb5int_rc_finish_init(void); 35781Sgtb 36781Sgtb void krb5int_rc_terminate(void); 37781Sgtb 38781Sgtb struct krb5_rc_st { 39781Sgtb krb5_magic magic; 40781Sgtb const struct _krb5_rc_ops *ops; 41781Sgtb krb5_pointer data; 42781Sgtb k5_mutex_t lock; 43781Sgtb }; 44781Sgtb 45781Sgtb struct _krb5_rc_ops { 46781Sgtb krb5_magic magic; 47781Sgtb char *type; 48781Sgtb krb5_error_code (KRB5_CALLCONV *init) 49781Sgtb (krb5_context, krb5_rcache,krb5_deltat); /* create */ 50781Sgtb krb5_error_code (KRB5_CALLCONV *recover) 51781Sgtb (krb5_context, krb5_rcache); /* open */ 52781Sgtb krb5_error_code (KRB5_CALLCONV *recover_or_init) 53781Sgtb (krb5_context, krb5_rcache,krb5_deltat); 54781Sgtb krb5_error_code (KRB5_CALLCONV *destroy) 55781Sgtb (krb5_context, krb5_rcache); 56781Sgtb krb5_error_code (KRB5_CALLCONV *close) 57781Sgtb (krb5_context, krb5_rcache); 58781Sgtb krb5_error_code (KRB5_CALLCONV *store) 59781Sgtb (krb5_context, krb5_rcache,krb5_donot_replay *); 60781Sgtb krb5_error_code (KRB5_CALLCONV *expunge) 61781Sgtb (krb5_context, krb5_rcache); 62781Sgtb krb5_error_code (KRB5_CALLCONV *get_span) 63781Sgtb (krb5_context, krb5_rcache,krb5_deltat *); 64781Sgtb char *(KRB5_CALLCONV *get_name) 65781Sgtb (krb5_context, krb5_rcache); 66781Sgtb krb5_error_code (KRB5_CALLCONV *resolve) 67781Sgtb (krb5_context, krb5_rcache, char *); 68781Sgtb }; 69781Sgtb 70781Sgtb typedef struct _krb5_rc_ops krb5_rc_ops; 71781Sgtb 72781Sgtb krb5_error_code krb5_rc_register_type (krb5_context, const krb5_rc_ops *); 73781Sgtb 74*7934SMark.Phalan@Sun.COM /* Solaris Kerberos */ 75*7934SMark.Phalan@Sun.COM extern krb5_rc_ops const *krb5_rc_dfl_ops; 765293Ssuha extern const krb5_rc_ops krb5_rc_none_ops; 77781Sgtb 78781Sgtb #endif /* __KRB5_RCACHE_INT_H__ */ 79