Index: head/sys/sys/msg.h =================================================================== --- head/sys/sys/msg.h +++ head/sys/sys/msg.h @@ -163,8 +163,9 @@ struct ucred *cred; /* creator's credentials */ }; -#else /* !_KERNEL */ +#endif /* _KERNEL */ +#if !defined(_KERNEL) || defined(_WANT_MSG_PROTOTYPES) __BEGIN_DECLS int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); @@ -176,6 +177,6 @@ #endif __END_DECLS -#endif /* _KERNEL */ +#endif /* !_KERNEL || _WANT_MSG_PROTOTYPES */ #endif /* !_SYS_MSG_H_ */ Index: head/sys/sys/sem.h =================================================================== --- head/sys/sys/sem.h +++ head/sys/sys/sem.h @@ -137,8 +137,9 @@ */ void semexit(struct proc *p); -#else /* ! _KERNEL */ +#endif /* _KERNEL */ +#if !defined(_KERNEL) || defined(_WANT_SEM_PROTOTYPES) __BEGIN_DECLS #if __BSD_VISIBLE int semsys(int, ...); @@ -148,6 +149,6 @@ int semop(int, struct sembuf *, size_t); __END_DECLS -#endif /* !_KERNEL */ +#endif /* !_KERNEL || _WANT_SEM_PROTOTYPES */ #endif /* !_SYS_SEM_H_ */ Index: head/sys/sys/shm.h =================================================================== --- head/sys/sys/shm.h +++ head/sys/sys/shm.h @@ -144,8 +144,9 @@ void shmexit(struct vmspace *); void shmfork(struct proc *, struct proc *); -#else /* !_KERNEL */ +#endif /* _KERNEL */ +#if !defined(_KERNEL) || defined(_WANT_SHM_PROTOTYPES) #include #ifndef _SIZE_T_DECLARED @@ -163,6 +164,6 @@ int shmdt(const void *); __END_DECLS -#endif /* !_KERNEL */ +#endif /* _KERNEL || _WANT_SHM_PROTOTYPES */ #endif /* !_SYS_SHM_H_ */ Index: head/usr.bin/ipcrm/ipcrm.c =================================================================== --- head/usr.bin/ipcrm/ipcrm.c +++ head/usr.bin/ipcrm/ipcrm.c @@ -34,6 +34,9 @@ __FBSDID("$FreeBSD$"); #include +#define _WANT_MSG_PROTOTYPES +#define _WANT_SEM_PROTOTYPES +#define _WANT_SHM_PROTOTYPES #define _KERNEL #include #include