summaryrefslogtreecommitdiffstats
path: root/include/libaccess/aclglobal.h
blob: b886202895416ad35a057b44fd471ab577f1ce42 (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
43
44
45
46
47
48
49
50
51
52
/** BEGIN COPYRIGHT BLOCK
 * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
 * Copyright (C) 2005 Red Hat, Inc.
 * All rights reserved.
 * END COPYRIGHT BLOCK **/
/*
**	Header file containing global data elements.  These are duplicated
**	when a cache flush is done.
*/

#include	<libaccess/acl.h>

struct ACLGlobal_s {
	ACLListHandle_t	*masterlist;
	pool_handle_t	*pool;	/* Deallocate at the start of cache flush */
	pool_handle_t	*databasepool;
	pool_handle_t	*methodpool;
	PRHashTable	*urihash;
	PRHashTable	*urigethash;
	PRHashTable	*listhash;
	PRHashTable	*evalhash;
	PRHashTable	*flushhash;
	PRHashTable	*methodhash;
	PRHashTable	*dbtypehash;
	PRHashTable	*dbnamehash;
	PRHashTable	*attrgetterhash;
	PRHashTable	*userLdbHash; /* user's LDAP handle hash */
};

typedef struct ACLGlobal_s ACLGlobal_t;
typedef struct ACLGlobal_s *ACLGlobal_p;

#define acl_uri_hash_pool	ACLGlobal->pool
#define acl_uri_hash		ACLGlobal->urihash
#define acl_uri_get_hash	ACLGlobal->urigethash
#define ACLListHash		ACLGlobal->listhash
#define	ACLLasEvalHash		ACLGlobal->evalhash
#define ACLLasFlushHash		ACLGlobal->flushhash
#define ACLMethodHash		ACLGlobal->methodhash
#define	ACLDbTypeHash		ACLGlobal->dbtypehash
#define	ACLDbNameHash		ACLGlobal->dbnamehash
#define	ACLAttrGetterHash	ACLGlobal->attrgetterhash
#define	ACLUserLdbHash		ACLGlobal->userLdbHash
#define ACL_DATABASE_POOL	ACLGlobal->databasepool
#define ACL_METHOD_POOL		ACLGlobal->methodpool

NSPR_BEGIN_EXTERN_C

extern ACLGlobal_p ACLGlobal;
extern ACLGlobal_p oldACLGlobal;

NSPR_END_EXTERN_C