'\"!  tbl | mmdoc
'\"macro stdmacro
.if n .pH ddi_dki.cred @(#)cred	40.6 of 10/10/89
.\" Copyright 1989 AT&T
.de IX
.ie '\\n(.z'' .tm .Index: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9	\\n%
.el \\!.IX \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.nr X
.if \nX=0 .ds x} cred D4DK "" "DDI/DKI" "\&"
.if \nX=1 .ds x} cred D4DK "" "DDI/DKI"
.if \nX=2 .ds x} cred D4DK "" "\&"
.if \nX=3 .ds x} cred "" "" "\&"
.TH \*(x}
.IX "\f4cred\fP(D4DK)"
.SH NAME
\f4cred\f1 \- access credential structure 
.SH SYNOPSIS
\f4#include <sys/cred.h>\f1
.SH DESCRIPTION
This structure is used to check the access credentials of the process
requesting access to kernel space.  
.P
The size of the \f4cr_groups[]\f1 array is configurable, however, its
size is the same for all \f4cred\f1 structures.  Note that
\f4cr_ngroups\f1 records the number of elements currently in use, not
the array size.
.SH STRUCTURE MEMBERS
.TS
lf4p8 2 lf4p8 2 lf4p8.
ushort	cr_ref;	/* reference count on processes using */ 
		/* cred structure.  Not set by drivers. */
ushort	cr_ngroups;	/* number of groups in cr_groups */
uid_t	cr_uid;	/* effective user ID */
gid_t	cr_gid;	/* effective group ID */
uid_t	cr_ruid;	/* real user ID */
gid_t	cr_rgid;	/* real group ID */
uid_t	cr_suid;	/* "saved" user ID (from exec) */
gid_t	cr_sgid;	/* "saved" group ID (from exec) */
gid_t	cr_groups[1];	/* supplementary groups list */
.TE
.P
The \f4cred\f1 structure is defined as type \f4cred_t\f1.
.SH SEE ALSO
.na
\f4open\f1(D2DK),
\f4close\f1(D2DK),
\f4ioctl\f1(D2DK),
\f4mmap\f1(D2DK),
\f4read\f1(D2DK),
\f4write\f1(D2DK),
\f4segmap\f1(D2DK)
.ad
