2 * Copyright (C) 1998, 1989 Transarc Corporation - All rights reserved
4 * (C) COPYRIGHT IBM CORPORATION 1987, 1988
5 * LICENSED MATERIALS - PROPERTY OF IBM
9 /* Copyright (C) 1989, 1990, 1994 Transarc Corporation - All rights reserved */
12 #define _CM_ACLENT_H_ 1
16 #define cm_TGTLifeTime(x) (0x7fffffff)
19 * Structure to hold an acl entry for a cached file
21 typedef struct cm_aclent {
22 osi_queue_t q; /* for quick removal from LRUQ */
23 struct cm_aclent *nextp; /* next guy same vnode */
24 struct cm_scache *backp; /* back ptr to vnode */
25 struct cm_user *userp; /* user whose access is cached */
26 long randomAccess; /* watch for more rights in acl.h */
27 long tgtLifetime; /* time this expires */
30 extern osi_rwlock_t cm_aclLock;
32 extern long cm_InitACLCache(long size);
34 extern long cm_FindACLCache(struct cm_scache *scp, struct cm_user *userp, long *rightsp);
36 static cm_aclent_t *GetFreeACLEnt(void);
38 extern long cm_AddACLCache(struct cm_scache *scp, struct cm_user *userp, long rights);
40 extern void cm_FreeAllACLEnts(struct cm_scache *scp);
42 extern void cm_InvalidateACLUser(struct cm_scache *scp, struct cm_user *userp);
44 #endif /* _CM_ACLENT_H_ */