Allow one to grab the definition of struct ucred by defining _WANT_UCRED

instead of forcing _KERNEL.

Move the include of sys/_label.h in ucred.h under the
_KERNEL || _WANT_UCRED case.
This commit is contained in:
Alfred Perlstein 2002-08-28 20:39:48 +00:00
parent 9f1c775798
commit b20ea17938
2 changed files with 5 additions and 10 deletions

View File

@ -52,9 +52,8 @@ static char sccsid[] = "@(#)kvm_proc.c 8.3 (Berkeley) 9/23/93";
*/
#include <sys/param.h>
#define _KERNEL
#define _WANT_UCRED /* make ucred.h give us 'struct ucred' */
#include <sys/ucred.h>
#undef _KERNEL
#include <sys/user.h>
#include <sys/proc.h>
#include <sys/exec.h>

View File

@ -37,19 +37,15 @@
#ifndef _SYS_UCRED_H_
#define _SYS_UCRED_H_
/*
* XXXMAC: this recursive include could be #ifdef _KERNEL if struct
* ucred could also be #ifdef _KERNEL.
*/
#include <sys/_label.h>
/*
* Credentials.
*
* Please do not inspect cr_uid directly to determine superuserness.
* Only the suser() or suser_cred() function should be used for this.
*/
#ifdef _KERNEL
#if defined(_KERNEL) || defined(_WANT_UCRED)
#include <sys/_label.h>
struct ucred {
u_int cr_ref; /* reference count */
#define cr_startcopy cr_uid
@ -69,7 +65,7 @@ struct ucred {
};
#define NOCRED ((struct ucred *)0) /* no credential available */
#define FSCRED ((struct ucred *)-1) /* filesystem credential */
#endif /* _KERNEL */
#endif /* _KERNEL || _WANT_UCRED */
/*
* This is the external representation of struct ucred.