+/*
+ * Credential flags that can be set on a credential
+ */
+#define CRF_NOMEMBERD 0x00000001 /* memberd opt out by setgroups() */
+#define CRF_MAC_ENFORCE 0x00000002 /* force entry through MAC Framework */
+ /* also forces credential cache miss */
+
+/*
+ * This is the external representation of struct ucred.
+ */
+struct xucred {
+ u_int cr_version; /* structure layout version */
+ uid_t cr_uid; /* effective user id */
+ short cr_ngroups; /* number of advisory groups */
+ gid_t cr_groups[NGROUPS]; /* advisory group list */
+};
+#define XUCRED_VERSION 0
+
+#define cr_gid cr_groups[0]
+#define NOCRED ((kauth_cred_t )0) /* no credential available */
+#define FSCRED ((kauth_cred_t )-1) /* filesystem credential */