xref: /illumos-gate/usr/src/lib/gss_mechs/mech_krb5/krb5/rcache/rc_mem.h (revision 159d09a20817016f09b3ea28d1bdada4a336bb91)
17c478bd9Sstevel@tonic-gate /*
2*159d09a2SMark Phalan  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
47c478bd9Sstevel@tonic-gate  */
57c478bd9Sstevel@tonic-gate 
67c478bd9Sstevel@tonic-gate #ifndef	_KRB5_RC_MEM_H
77c478bd9Sstevel@tonic-gate #define	_KRB5_RC_MEM_H
87c478bd9Sstevel@tonic-gate 
97c478bd9Sstevel@tonic-gate 
10505d05c7Sgtb #include "rc-int.h"
11505d05c7Sgtb 
127c478bd9Sstevel@tonic-gate #ifdef __cplusplus
137c478bd9Sstevel@tonic-gate extern "C" {
147c478bd9Sstevel@tonic-gate #endif
157c478bd9Sstevel@tonic-gate 
167c478bd9Sstevel@tonic-gate /*
177c478bd9Sstevel@tonic-gate  * mech_krb5/krb5/rcache/rc_mem.h
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * This file of the Kerberos V5 software is derived from public-domain code
207c478bd9Sstevel@tonic-gate  * contributed by Daniel J. Bernstein, <brnstnd@acf10.nyu.edu>.
217c478bd9Sstevel@tonic-gate  */
227c478bd9Sstevel@tonic-gate 
237c478bd9Sstevel@tonic-gate /*
2465d0d3dcSsemery  * Solaris Kerberos:
257c478bd9Sstevel@tonic-gate  * Declarations for the memory replay cache implementation.
267c478bd9Sstevel@tonic-gate  */
277c478bd9Sstevel@tonic-gate 
287c478bd9Sstevel@tonic-gate struct mem_data {
297c478bd9Sstevel@tonic-gate 	char *name;
307c478bd9Sstevel@tonic-gate 	krb5_deltat lifespan;
317c478bd9Sstevel@tonic-gate 	int hsize;
327c478bd9Sstevel@tonic-gate 	struct authlist **h;
337c478bd9Sstevel@tonic-gate };
347c478bd9Sstevel@tonic-gate 
3565d0d3dcSsemery struct global_rcache {
3665d0d3dcSsemery 	k5_mutex_t lock;
3765d0d3dcSsemery 	struct mem_data *data;
3865d0d3dcSsemery };
3965d0d3dcSsemery 
4065d0d3dcSsemery extern struct global_rcache grcache;
4165d0d3dcSsemery 
42*159d09a2SMark Phalan extern const krb5_rc_ops krb5_rc_mem_ops;
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_init
45505d05c7Sgtb 	(krb5_context, krb5_rcache, krb5_deltat);
467c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover
47505d05c7Sgtb 	(krb5_context, krb5_rcache);
48505d05c7Sgtb krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover_or_init
49505d05c7Sgtb 	(krb5_context, krb5_rcache, krb5_deltat);
507c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_destroy
51505d05c7Sgtb 	(krb5_context, krb5_rcache);
527c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_close
53505d05c7Sgtb 	(krb5_context, krb5_rcache);
547c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_store
55505d05c7Sgtb 	(krb5_context, krb5_rcache, krb5_donot_replay *);
567c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_expunge
57505d05c7Sgtb 	(krb5_context, krb5_rcache);
587c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_get_span
59505d05c7Sgtb 	(krb5_context, krb5_rcache, krb5_deltat *);
607c478bd9Sstevel@tonic-gate char *KRB5_CALLCONV krb5_rc_mem_get_name
61505d05c7Sgtb 	(krb5_context, krb5_rcache);
627c478bd9Sstevel@tonic-gate krb5_error_code KRB5_CALLCONV krb5_rc_mem_resolve
63505d05c7Sgtb 	(krb5_context, krb5_rcache, char *);
647c478bd9Sstevel@tonic-gate void krb5_rc_free_entry
65505d05c7Sgtb 	(krb5_context, krb5_donot_replay **);
667c478bd9Sstevel@tonic-gate 
677c478bd9Sstevel@tonic-gate #ifdef __cplusplus
687c478bd9Sstevel@tonic-gate }
697c478bd9Sstevel@tonic-gate #endif
707c478bd9Sstevel@tonic-gate 
717c478bd9Sstevel@tonic-gate #endif /* !_KRB5_RC_MEM_H */
72