xref: /original-bsd/sys/sys/ucred.h (revision 0997b878)
1 /*
2  * Copyright (c) 1989, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)ucred.h	8.4 (Berkeley) 01/09/95
8  */
9 
10 #ifndef _SYS_UCRED_H_
11 #define	_SYS_UCRED_H_
12 
13 /*
14  * Credentials.
15  */
16 struct ucred {
17 	u_short	cr_ref;			/* reference count */
18 	uid_t	cr_uid;			/* effective user id */
19 	short	cr_ngroups;		/* number of groups */
20 	gid_t	cr_groups[NGROUPS];	/* groups */
21 };
22 #define cr_gid cr_groups[0]
23 #define NOCRED ((struct ucred *)0)	/* no credential available */
24 #define FSCRED ((struct ucred *)-1)	/* filesystem credential */
25 
26 #ifdef KERNEL
27 #define	crhold(cr)	(cr)->cr_ref++
28 
29 struct ucred	*crcopy __P((struct ucred *cr));
30 struct ucred	*crdup __P((struct ucred *cr));
31 void		crfree __P((struct ucred *cr));
32 struct ucred	*crget __P((void));
33 int		suser __P((struct ucred *cred, u_short *acflag));
34 #endif /* KERNEL */
35 
36 #endif /* !_SYS_UCRED_H_ */
37