summaryrefslogtreecommitdiffstats
path: root/src/include/krb5/rcache.h
blob: 6cb79a25ae0273407e8080a28db681a04456c99e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 * $Source$
 * $Author$
 * $Id$
 *
 * Copyright 1990 by the Massachusetts Institute of Technology.
 *
 * For copying and distribution information, please see the file
 * <krb5/mit-copyright.h>.
 *
 * Replay detection cache definitions.
 */

#include <krb5/copyright.h>

#ifndef __KRB5_RCACHE__
#define __KRB5_RCACHE__

typedef struct krb5_rc_st {
	struct krb5_rc_ops *ops;
	void *data;
} *krb5_rcache;

typedef struct _krb5_rc_ops {
	char *prefix;
	int (*resolve) PROTOTYPE((krb5_rcache *id, char *residual));
	int (*new) PROTOTYPE((krb5_rcache *id, struct _krb5_rc_ops *));
	char *(*get_name) PROTOTYPE((krb5_rcache));
	int (*init) PROTOTYPE((krb5_rcache, krb5_timestamp));
	int (*recover) PROTOTYPE((krb5_rcache));
	int (*destroy) PROTOTYPE((krb5_rcache));
	int (*close) PROTOTYPE((krb5_rcache));
	int (*store) PROTOTYPE((krb5_rcache, krb5_tkt_authent *,
				krb_boolean expunge));
	int (*search) PROTOTYPE((krb5_rcache, krb5_tkt_authent *));
	int (*get_span) PROTOTYPE((krb5_rcache));
	int (*remove_cred) PROTOTYPE((krb5_rcache, krb5_tkt_authent *));
	int (*expunge) PROTOTYPE((krb_acache));
} krb5_rc_ops;


#endif /* __KRB5_RCACHE__ */