|
1 /* |
|
2 * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. |
|
3 */ |
|
4 |
|
5 #ifndef _KRB5_RC_MEM_H |
|
6 #define _KRB5_RC_MEM_H |
|
7 |
|
8 #include "k5-int.h" |
|
9 #include "rc-int.h" |
|
10 |
|
11 #ifdef __cplusplus |
|
12 extern "C" { |
|
13 #endif |
|
14 |
|
15 /* |
|
16 * mech_krb5/krb5/rcache/rc_mem.h |
|
17 * |
|
18 * This file of the Kerberos V5 software is derived from public-domain code |
|
19 * contributed by Daniel J. Bernstein, <[email protected]>. |
|
20 */ |
|
21 |
|
22 struct mem_data { |
|
23 char *name; |
|
24 krb5_deltat lifespan; |
|
25 int hsize; |
|
26 struct authlist **h; |
|
27 }; |
|
28 |
|
29 struct global_rcache { |
|
30 k5_mutex_t lock; |
|
31 struct mem_data *data; |
|
32 }; |
|
33 |
|
34 extern struct global_rcache grcache; |
|
35 |
|
36 extern const krb5_rc_ops krb5_rc_mem_ops; |
|
37 |
|
38 krb5_error_code KRB5_CALLCONV krb5_rc_mem_init |
|
39 (krb5_context, krb5_rcache, krb5_deltat); |
|
40 krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover |
|
41 (krb5_context, krb5_rcache); |
|
42 krb5_error_code KRB5_CALLCONV krb5_rc_mem_recover_or_init |
|
43 (krb5_context, krb5_rcache, krb5_deltat); |
|
44 krb5_error_code KRB5_CALLCONV krb5_rc_mem_destroy |
|
45 (krb5_context, krb5_rcache); |
|
46 krb5_error_code KRB5_CALLCONV krb5_rc_mem_close |
|
47 (krb5_context, krb5_rcache); |
|
48 krb5_error_code KRB5_CALLCONV krb5_rc_mem_store |
|
49 (krb5_context, krb5_rcache, krb5_donot_replay *); |
|
50 krb5_error_code KRB5_CALLCONV krb5_rc_mem_expunge |
|
51 (krb5_context, krb5_rcache); |
|
52 krb5_error_code KRB5_CALLCONV krb5_rc_mem_get_span |
|
53 (krb5_context, krb5_rcache, krb5_deltat *); |
|
54 char *KRB5_CALLCONV krb5_rc_mem_get_name |
|
55 (krb5_context, krb5_rcache); |
|
56 krb5_error_code KRB5_CALLCONV krb5_rc_mem_resolve |
|
57 (krb5_context, krb5_rcache, char *); |
|
58 void krb5_rc_free_entry |
|
59 (krb5_context, krb5_donot_replay **); |
|
60 |
|
61 #ifdef __cplusplus |
|
62 } |
|
63 #endif |
|
64 |
|
65 #endif /* !_KRB5_RC_MEM_H */ |