sys/file.h: Allow inclusion when compiling for a strict namespace

Although not part of the standard, this file is sometimes included with
-D_POSIX_C_SOURCE=<value> or -D_XOPEN_SOURCE=<value>. Limit those
sturctures that use types hidden by __BSD_VISIBLE to when they are
visible.

PR:			259975, 234205
Sponsored by:		Netflix
This commit is contained in:
Warner Losh 2021-11-24 02:25:47 -07:00
parent b3fab41830
commit a2b53e53a3

View file

@ -174,6 +174,7 @@ struct fileops {
* none not locked
*/
#if __BSD_VISIBLE
struct fadvise_info {
int fa_advice; /* (f) FADV_* type. */
off_t fa_start; /* (f) Region start. */
@ -213,12 +214,14 @@ struct file {
#define FOFFSET_LOCKED 0x1
#define FOFFSET_LOCK_WAITING 0x2
#endif /* __BSD_VISIBLE */
#endif /* _KERNEL || _WANT_FILE */
/*
* Userland version of struct file, for sysctl
*/
#if __BSD_VISIBLE
struct xfile {
ksize_t xf_size; /* size of struct xfile */
pid_t xf_pid; /* owning process */
@ -238,6 +241,7 @@ struct xfile {
int _xf_int_pad3;
int64_t _xf_int64_pad[6];
};
#endif /* __BSD_VISIBLE */
#ifdef _KERNEL