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