003 File Manager
Current Path:
/usr/include
usr
/
include
/
📁
..
📄
Block.h
(1.96 KB)
📄
Block_private.h
(5.94 KB)
📄
FlexLexer.h
(6.73 KB)
📄
_ctype.h
(5.98 KB)
📄
_semaphore.h
(2.05 KB)
📄
a.out.h
(1.88 KB)
📄
aio.h
(7.69 KB)
📄
alias.h
(8.51 KB)
📄
ar.h
(2.69 KB)
📄
archive.h
(51.93 KB)
📄
archive_entry.h
(32.79 KB)
📁
arpa
📄
asn1-common.h
(2.06 KB)
📄
asn1_err.h
(1.07 KB)
📄
assert.h
(2.93 KB)
📁
atf-c
📁
atf-c++
📄
atf-c++.hpp
(1.49 KB)
📄
atf-c.h
(1.5 KB)
📄
base64.h
(1.99 KB)
📄
be.h
(5.32 KB)
📄
bitstring.h
(1.53 KB)
📄
blacklist.h
(2.2 KB)
📄
bluetooth.h
(6.65 KB)
📄
bsdxml.h
(40.5 KB)
📄
bsdxml_external.h
(5.4 KB)
📁
bsm
📁
bsnmp
📄
bzlib.h
(6.09 KB)
📁
c++
📄
calendar.h
(1.83 KB)
📁
cam
📄
camlib.h
(7.39 KB)
📄
capsicum_helpers.h
(4.33 KB)
📁
casper
📄
cms_asn1.h
(27.2 KB)
📄
com_err.h
(2.62 KB)
📄
com_right.h
(2.8 KB)
📄
complex.h
(4.68 KB)
📄
cpio.h
(2.4 KB)
📄
crmf_asn1.h
(13.31 KB)
📁
crypto
📄
ctype.h
(4.59 KB)
📄
curses.h
(97.92 KB)
📄
cuse.h
(3.26 KB)
📄
db.h
(7.49 KB)
📄
der-private.h
(1.29 KB)
📄
der-protos.h
(10.5 KB)
📄
der.h
(3.08 KB)
📁
dev
📄
devctl.h
(2.02 KB)
📁
devdctl
📄
devinfo.h
(4.52 KB)
📄
devstat.h
(5.2 KB)
📄
dialog.h
(37.7 KB)
📄
digest_asn1.h
(17.01 KB)
📄
dirent.h
(4.13 KB)
📄
dlfcn.h
(5.04 KB)
📄
dlg_colors.h
(6.87 KB)
📄
dlg_config.h
(2.64 KB)
📄
dlg_keys.h
(5.23 KB)
📄
dpv.h
(5.76 KB)
📄
dtrace.h
(23.64 KB)
📄
dwarf.h
(20.09 KB)
📁
edit
📄
efivar-dp.h
(2.58 KB)
📄
efivar.h
(3.75 KB)
📄
elf-hints.h
(1.96 KB)
📄
elf.h
(1.59 KB)
📄
err.h
(2.98 KB)
📄
errno.h
(8.29 KB)
📄
eti.h
(2.9 KB)
📄
execinfo.h
(1.92 KB)
📄
fcntl.h
(12.02 KB)
📄
fenv.h
(8.19 KB)
📄
fetch.h
(4.87 KB)
📄
figpar.h
(3.84 KB)
📄
float.h
(86 B)
📄
floatingpoint.h
(2.01 KB)
📄
fmtmsg.h
(2.76 KB)
📄
fmtutils.h
(2.19 KB)
📄
fnmatch.h
(2.32 KB)
📄
form.h
(18.37 KB)
📁
fs
📄
fstab.h
(3.03 KB)
📄
fts.h
(5.47 KB)
📄
ftw.h
(2.26 KB)
📁
gcc
📄
gelf.h
(5 KB)
📁
geom
📄
getarg.h
(3.15 KB)
📄
getopt.h
(2.73 KB)
📄
glob.h
(4.21 KB)
📄
grp.h
(3.21 KB)
📁
gssapi
📄
gssapi.h
(158 B)
📄
hdb-protos.h
(7.24 KB)
📄
hdb.h
(9.85 KB)
📄
hdb_asn1.h
(16.72 KB)
📄
hdb_err.h
(944 B)
📄
heim_asn1.h
(2.33 KB)
📄
heim_err.h
(1.46 KB)
📄
heim_threads.h
(6.91 KB)
📄
heimbase.h
(5.1 KB)
📄
heimntlm-protos.h
(3.78 KB)
📄
heimntlm.h
(4.85 KB)
📄
hex.h
(2.08 KB)
📄
histedit.h
(9.16 KB)
📄
hx509-private.h
(9.39 KB)
📄
hx509-protos.h
(22.53 KB)
📄
hx509.h
(5.88 KB)
📄
hx509_err.h
(3.04 KB)
📄
iconv.h
(4.23 KB)
📄
ieeefp.h
(261 B)
📄
ifaddrs.h
(2.09 KB)
📁
infiniband
📄
inttypes.h
(2.2 KB)
📄
iso646.h
(1.67 KB)
📁
isofs
📄
jail.h
(2.46 KB)
📄
k524_err.h
(724 B)
📁
kadm5
📄
kafs.h
(7.09 KB)
📄
kdc-protos.h
(2.25 KB)
📄
kdc.h
(3.5 KB)
📄
kenv.h
(1.58 KB)
📁
krb5
📄
krb5-private.h
(12.91 KB)
📄
krb5-protos.h
(113.43 KB)
📄
krb5-types.h
(1.48 KB)
📄
krb5.h
(29.75 KB)
📄
krb5_asn1.h
(70.51 KB)
📄
krb5_ccapi.h
(7.52 KB)
📄
krb5_err.h
(7.37 KB)
📄
kvm.h
(4.11 KB)
📄
kx509_asn1.h
(4.61 KB)
📄
langinfo.h
(3.95 KB)
📁
lib80211
📁
lib9p
📄
libcasper.h
(6.53 KB)
📄
libcasper_service.h
(2.5 KB)
📄
libdwarf.h
(32.98 KB)
📄
libelf.h
(7.72 KB)
📄
libgen.h
(2.65 KB)
📄
libgeom.h
(4.47 KB)
📄
libgpio.h
(3.48 KB)
📁
libipt
📁
libmilter
📄
libnetmap.h
(24.54 KB)
📄
libproc.h
(5.51 KB)
📄
libprocstat.h
(7.57 KB)
📄
librss.h
(2.96 KB)
📄
libufs.h
(5.08 KB)
📄
libusb.h
(22.05 KB)
📄
libusb20.h
(12.45 KB)
📄
libusb20_desc.h
(17.6 KB)
📄
libutil.h
(8.04 KB)
📁
libxo
📄
libzfs.h
(32.8 KB)
📄
libzfs_core.h
(5.1 KB)
📄
libzfsbootenv.h
(1.22 KB)
📄
limits.h
(4.7 KB)
📄
link.h
(1.71 KB)
📄
linker_set.h
(3.85 KB)
📄
locale.h
(2.64 KB)
📄
login_cap.h
(6.25 KB)
📁
lzma
📄
lzma.h
(9.63 KB)
📁
machine
📄
magic.h
(5.64 KB)
📄
malloc.h
(102 B)
📄
malloc_np.h
(5.04 KB)
📄
math.h
(13.92 KB)
📄
md4.h
(2.31 KB)
📄
md5.h
(810 B)
📄
memory.h
(1.68 KB)
📄
memstat.h
(7.26 KB)
📄
menu.h
(11.99 KB)
📄
monetary.h
(1.88 KB)
📄
mp.h
(857 B)
📄
mpool.h
(4.16 KB)
📄
mqueue.h
(2.22 KB)
📄
mtlib.h
(4.22 KB)
📄
ncurses.h
(97.92 KB)
📄
ncurses_dll.h
(4.42 KB)
📄
ndbm.h
(2.67 KB)
📁
net
📁
net80211
📄
netconfig.h
(3.71 KB)
📄
netdb.h
(10.78 KB)
📁
netgraph
📄
netgraph.h
(3.02 KB)
📁
netinet
📁
netinet6
📁
netipsec
📁
netnatm
📁
netpfil
📁
netsmb
📁
nfs
📁
nfsclient
📁
nfsserver
📄
nl_types.h
(2.94 KB)
📄
nlist.h
(2.13 KB)
📄
nss.h
(2.32 KB)
📄
nsswitch.h
(7.16 KB)
📄
ntlm_err.h
(970 B)
📄
ocsp_asn1.h
(14.58 KB)
📄
omp.h
(15.76 KB)
📁
opencsd
📁
openssl
📄
opie.h
(5.57 KB)
📄
osreldate.h
(1.51 KB)
📄
panel.h
(4.1 KB)
📄
parse_bytes.h
(2.13 KB)
📄
parse_time.h
(2.19 KB)
📄
parse_units.h
(2.73 KB)
📄
pathconv.h
(1.64 KB)
📄
paths.h
(5.16 KB)
📁
pcap
📄
pcap-bpf.h
(2.24 KB)
📄
pcap-namedb.h
(1.98 KB)
📄
pcap-netmap.h
(126 B)
📄
pcap.h
(2.17 KB)
📄
pkcs10_asn1.h
(4.13 KB)
📄
pkcs12_asn1.h
(13.04 KB)
📄
pkcs8_asn1.h
(6.51 KB)
📄
pkcs9_asn1.h
(5.95 KB)
📄
pkinit_asn1.h
(26.54 KB)
📄
pmc.h
(4.51 KB)
📄
pmcformat.h
(1.47 KB)
📄
pmclog.h
(5.74 KB)
📄
poll.h
(4.03 KB)
📄
printf.h
(5.15 KB)
📁
private
📄
proc_service.h
(2.96 KB)
📁
protocols
📄
pthread.h
(12.7 KB)
📄
pthread_np.h
(3.28 KB)
📄
pwd.h
(6.05 KB)
📄
radlib.h
(8.86 KB)
📄
radlib_vs.h
(3.6 KB)
📄
ranlib.h
(1.99 KB)
📁
rdma
📄
readpassphrase.h
(1.82 KB)
📄
regex.h
(3.87 KB)
📄
res_update.h
(2.45 KB)
📄
resolv.h
(18.69 KB)
📄
resolve.h
(7.26 KB)
📄
rfc2459_asn1.h
(73.99 KB)
📄
ripemd.h
(5.09 KB)
📄
roken-common.h
(11.68 KB)
📄
roken.h
(6.86 KB)
📁
rpc
📁
rpcsvc
📄
rpoll.h
(2.13 KB)
📄
rtbl.h
(3.61 KB)
📄
rtld_db.h
(3.82 KB)
📄
runetype.h
(3.76 KB)
📄
sched.h
(9.06 KB)
📄
sdp.h
(21.58 KB)
📄
search.h
(1.71 KB)
📁
security
📄
semaphore.h
(2.35 KB)
📄
setjmp.h
(2.5 KB)
📄
sha.h
(5.91 KB)
📄
sha224.h
(2.93 KB)
📄
sha256.h
(3.01 KB)
📄
sha384.h
(2.94 KB)
📄
sha512.h
(3.02 KB)
📄
sha512t.h
(4.6 KB)
📄
signal.h
(4.42 KB)
📄
skein.h
(15.95 KB)
📄
skein_freebsd.h
(3.85 KB)
📄
skein_iv.h
(5.54 KB)
📄
skein_port.h
(5.17 KB)
📄
spawn.h
(4.26 KB)
📄
stab.h
(3.07 KB)
📄
stdalign.h
(1.81 KB)
📄
stdarg.h
(87 B)
📄
stdatomic.h
(13.94 KB)
📄
stdbool.h
(1.64 KB)
📄
stddef.h
(2.59 KB)
📄
stdint.h
(2.63 KB)
📄
stdio.h
(16.92 KB)
📄
stdlib.h
(11.23 KB)
📄
stdnoreturn.h
(1.59 KB)
📄
string.h
(5.32 KB)
📄
string_m.h
(1.72 KB)
📄
stringlist.h
(1.83 KB)
📄
strings.h
(2.47 KB)
📁
sys
📄
sysdecode.h
(6.59 KB)
📄
sysexits.h
(5.17 KB)
📄
syslog.h
(7.25 KB)
📄
taclib.h
(5.28 KB)
📄
tar.h
(2.9 KB)
📄
tcpd.h
(8.18 KB)
📁
teken
📄
term.h
(40.4 KB)
📄
termcap.h
(3.39 KB)
📄
termios.h
(3.28 KB)
📄
tgmath.h
(8.85 KB)
📄
thread_db.h
(6.36 KB)
📄
thread_pool_impl.h
(2.76 KB)
📄
threads.h
(3.56 KB)
📄
time.h
(7.07 KB)
📄
timeconv.h
(2.42 KB)
📄
timers.h
(1.97 KB)
📄
ttyent.h
(2.95 KB)
📄
uchar.h
(2.3 KB)
📄
ucontext.h
(2.91 KB)
📁
ufs
📄
ugidfw.h
(2.68 KB)
📄
ulimit.h
(1.58 KB)
📄
ulog.h
(1.67 KB)
📄
unctrl.h
(3.1 KB)
📄
unistd.h
(18.71 KB)
📄
usb.h
(9.48 KB)
📄
usbhid.h
(3.75 KB)
📄
utempter.h
(1.76 KB)
📄
utime.h
(2.01 KB)
📄
utmpx.h
(3.03 KB)
📄
uuid.h
(2.43 KB)
📄
varargs.h
(1.54 KB)
📄
vgl.h
(5.59 KB)
📄
vis.h
(4.48 KB)
📁
vm
📄
vmmapi.h
(10.49 KB)
📄
wchar.h
(8.81 KB)
📄
wctype.h
(3.89 KB)
📄
wind.h
(3.09 KB)
📄
wind_err.h
(860 B)
📄
wordexp.h
(2.75 KB)
📁
x86
📄
xdbm.h
(1.91 KB)
📁
xlocale
📄
xlocale.h
(2.23 KB)
📄
ypclnt.h
(2.33 KB)
📄
zconf.h
(16.24 KB)
📄
zdb.h
(1.02 KB)
📄
zinject.h
(2.14 KB)
📄
zlib.h
(94.08 KB)
📄
zstream.h
(820 B)
📄
zutil_import.h
(2.51 KB)
Editing: fcntl.h
/*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 1983, 1990, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)fcntl.h 8.3 (Berkeley) 1/21/94 * $FreeBSD$ */ #ifndef _SYS_FCNTL_H_ #define _SYS_FCNTL_H_ /* * This file includes the definitions for open and fcntl * described by POSIX for <fcntl.h>; it also includes * related kernel definitions. */ #include <sys/cdefs.h> #include <sys/_types.h> #ifndef _MODE_T_DECLARED typedef __mode_t mode_t; #define _MODE_T_DECLARED #endif #ifndef _OFF_T_DECLARED typedef __off_t off_t; #define _OFF_T_DECLARED #endif #ifndef _PID_T_DECLARED typedef __pid_t pid_t; #define _PID_T_DECLARED #endif /* * File status flags: these are used by open(2), fcntl(2). * They are also used (indirectly) in the kernel file structure f_flags, * which is a superset of the open/fcntl flags. Open flags and f_flags * are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). * Open/fcntl flags begin with O_; kernel-internal flags begin with F. */ /* open-only flags */ #define O_RDONLY 0x0000 /* open for reading only */ #define O_WRONLY 0x0001 /* open for writing only */ #define O_RDWR 0x0002 /* open for reading and writing */ #define O_ACCMODE 0x0003 /* mask for above modes */ /* * Kernel encoding of open mode; separate read and write bits that are * independently testable: 1 greater than the above. * * XXX * FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH, * which was documented to use FREAD/FWRITE, continues to work. */ #if __BSD_VISIBLE #define FREAD 0x0001 #define FWRITE 0x0002 #endif #define O_NONBLOCK 0x0004 /* no delay */ #define O_APPEND 0x0008 /* set append mode */ #if __BSD_VISIBLE #define O_SHLOCK 0x0010 /* open with shared file lock */ #define O_EXLOCK 0x0020 /* open with exclusive file lock */ #define O_ASYNC 0x0040 /* signal pgrp when data ready */ #define O_FSYNC 0x0080 /* synchronous writes */ #endif #define O_SYNC 0x0080 /* POSIX synonym for O_FSYNC */ #if __POSIX_VISIBLE >= 200809 #define O_NOFOLLOW 0x0100 /* don't follow symlinks */ #endif #define O_CREAT 0x0200 /* create if nonexistent */ #define O_TRUNC 0x0400 /* truncate to zero length */ #define O_EXCL 0x0800 /* error if already exists */ #ifdef _KERNEL #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ #endif /* Defined by POSIX 1003.1; BSD default, but must be distinct from O_RDONLY. */ #define O_NOCTTY 0x8000 /* don't assign controlling terminal */ #if __BSD_VISIBLE /* Attempt to bypass buffer cache */ #define O_DIRECT 0x00010000 #endif #if __POSIX_VISIBLE >= 200809 #define O_DIRECTORY 0x00020000 /* Fail if not directory */ #define O_EXEC 0x00040000 /* Open for execute only */ #define O_SEARCH O_EXEC #endif #ifdef _KERNEL #define FEXEC O_EXEC #define FSEARCH O_SEARCH #endif #if __POSIX_VISIBLE >= 200809 /* Defined by POSIX 1003.1-2008; BSD default, but reserve for future use. */ #define O_TTY_INIT 0x00080000 /* Restore default termios attributes */ #define O_CLOEXEC 0x00100000 #endif #if __BSD_VISIBLE #define O_VERIFY 0x00200000 /* open only after verification */ /* #define O_UNUSED1 0x00400000 */ /* Was O_BENEATH */ #define O_RESOLVE_BENEATH 0x00800000 /* Do not allow name resolution to walk out of cwd */ #endif #define O_DSYNC 0x01000000 /* POSIX data sync */ /* * XXX missing O_RSYNC. */ #ifdef _KERNEL /* Only for devfs d_close() flags. */ #define FLASTCLOSE O_DIRECTORY #define FREVOKE O_VERIFY /* Only for fo_close() from half-succeeded open */ #define FOPENFAILED O_TTY_INIT /* convert from open() flags to/from fflags; convert O_RD/WR to FREAD/FWRITE */ #define FFLAGS(oflags) ((oflags) & O_EXEC ? (oflags) : (oflags) + 1) #define OFLAGS(fflags) ((fflags) & O_EXEC ? (fflags) : (fflags) - 1) /* bits to save after open */ #define FMASK (FREAD|FWRITE|FAPPEND|FASYNC|FFSYNC|FDSYNC|FNONBLOCK|O_DIRECT|FEXEC) /* bits settable by fcntl(F_SETFL, ...) */ #define FCNTLFLAGS (FAPPEND|FASYNC|FFSYNC|FDSYNC|FNONBLOCK|FRDAHEAD|O_DIRECT) #if defined(COMPAT_FREEBSD7) || defined(COMPAT_FREEBSD6) || \ defined(COMPAT_FREEBSD5) || defined(COMPAT_FREEBSD4) /* * Set by shm_open(3) in older libc's to get automatic MAP_ASYNC * behavior for POSIX shared memory objects (which are otherwise * implemented as plain files). */ #define FPOSIXSHM O_NOFOLLOW #undef FCNTLFLAGS #define FCNTLFLAGS (FAPPEND|FASYNC|FFSYNC|FNONBLOCK|FPOSIXSHM|FRDAHEAD| \ O_DIRECT) #endif #endif /* * The O_* flags used to have only F* names, which were used in the kernel * and by fcntl. We retain the F* names for the kernel f_flag field * and for backward compatibility for fcntl. These flags are deprecated. */ #if __BSD_VISIBLE #define FAPPEND O_APPEND /* kernel/compat */ #define FASYNC O_ASYNC /* kernel/compat */ #define FFSYNC O_FSYNC /* kernel */ #define FDSYNC O_DSYNC /* kernel */ #define FNONBLOCK O_NONBLOCK /* kernel */ #define FNDELAY O_NONBLOCK /* compat */ #define O_NDELAY O_NONBLOCK /* compat */ #endif /* * Historically, we ran out of bits in f_flag (which was once a short). * However, the flag bits not set in FMASK are only meaningful in the * initial open syscall. Those bits were thus given a * different meaning for fcntl(2). */ #if __BSD_VISIBLE /* Read ahead */ #define FRDAHEAD O_CREAT #endif #if __POSIX_VISIBLE >= 200809 /* * Magic value that specify the use of the current working directory * to determine the target of relative file paths in the openat() and * similar syscalls. */ #define AT_FDCWD -100 /* * Miscellaneous flags for the *at() syscalls. */ #define AT_EACCESS 0x0100 /* Check access using effective user and group ID */ #define AT_SYMLINK_NOFOLLOW 0x0200 /* Do not follow symbolic links */ #define AT_SYMLINK_FOLLOW 0x0400 /* Follow symbolic link */ #define AT_REMOVEDIR 0x0800 /* Remove directory instead of file */ /* #define AT_UNUSED1 0x1000 *//* Was AT_BENEATH */ #define AT_RESOLVE_BENEATH 0x2000 /* Do not allow name resolution to walk out of dirfd */ #endif /* * Constants used for fcntl(2) */ /* command values */ #define F_DUPFD 0 /* duplicate file descriptor */ #define F_GETFD 1 /* get file descriptor flags */ #define F_SETFD 2 /* set file descriptor flags */ #define F_GETFL 3 /* get file status flags */ #define F_SETFL 4 /* set file status flags */ #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #define F_GETOWN 5 /* get SIGIO/SIGURG proc/pgrp */ #define F_SETOWN 6 /* set SIGIO/SIGURG proc/pgrp */ #endif #if __BSD_VISIBLE #define F_OGETLK 7 /* get record locking information */ #define F_OSETLK 8 /* set record locking information */ #define F_OSETLKW 9 /* F_SETLK; wait if blocked */ #define F_DUP2FD 10 /* duplicate file descriptor to arg */ #endif #define F_GETLK 11 /* get record locking information */ #define F_SETLK 12 /* set record locking information */ #define F_SETLKW 13 /* F_SETLK; wait if blocked */ #if __BSD_VISIBLE #define F_SETLK_REMOTE 14 /* debugging support for remote locks */ #define F_READAHEAD 15 /* read ahead */ #define F_RDAHEAD 16 /* Darwin compatible read ahead */ #endif #if __POSIX_VISIBLE >= 200809 #define F_DUPFD_CLOEXEC 17 /* Like F_DUPFD, but FD_CLOEXEC is set */ #endif #if __BSD_VISIBLE #define F_DUP2FD_CLOEXEC 18 /* Like F_DUP2FD, but FD_CLOEXEC is set */ #define F_ADD_SEALS 19 #define F_GET_SEALS 20 #define F_ISUNIONSTACK 21 /* Kludge for libc, don't use it. */ /* Seals (F_ADD_SEALS, F_GET_SEALS). */ #define F_SEAL_SEAL 0x0001 /* Prevent adding sealings */ #define F_SEAL_SHRINK 0x0002 /* May not shrink */ #define F_SEAL_GROW 0x0004 /* May not grow */ #define F_SEAL_WRITE 0x0008 /* May not write */ #endif /* __BSD_VISIBLE */ /* file descriptor flags (F_GETFD, F_SETFD) */ #define FD_CLOEXEC 1 /* close-on-exec flag */ /* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */ #define F_RDLCK 1 /* shared or read lock */ #define F_UNLCK 2 /* unlock */ #define F_WRLCK 3 /* exclusive or write lock */ #if __BSD_VISIBLE #define F_UNLCKSYS 4 /* purge locks for a given system ID */ #define F_CANCEL 5 /* cancel an async lock request */ #endif #ifdef _KERNEL #define F_WAIT 0x010 /* Wait until lock is granted */ #define F_FLOCK 0x020 /* Use flock(2) semantics for lock */ #define F_POSIX 0x040 /* Use POSIX semantics for lock */ #define F_REMOTE 0x080 /* Lock owner is remote NFS client */ #define F_NOINTR 0x100 /* Ignore signals when waiting */ #endif /* * Advisory file segment locking data type - * information passed to system by user */ struct flock { off_t l_start; /* starting offset */ off_t l_len; /* len = 0 means until end of file */ pid_t l_pid; /* lock owner */ short l_type; /* lock type: read/write, etc. */ short l_whence; /* type of l_start */ int l_sysid; /* remote system id or zero for local */ }; #if __BSD_VISIBLE /* * Old advisory file segment locking data type, * before adding l_sysid. */ struct __oflock { off_t l_start; /* starting offset */ off_t l_len; /* len = 0 means until end of file */ pid_t l_pid; /* lock owner */ short l_type; /* lock type: read/write, etc. */ short l_whence; /* type of l_start */ }; #endif #if __BSD_VISIBLE /* lock operations for flock(2) */ #define LOCK_SH 0x01 /* shared file lock */ #define LOCK_EX 0x02 /* exclusive file lock */ #define LOCK_NB 0x04 /* don't block when locking */ #define LOCK_UN 0x08 /* unlock file */ #endif #if __POSIX_VISIBLE >= 200112 /* * Advice to posix_fadvise */ #define POSIX_FADV_NORMAL 0 /* no special treatment */ #define POSIX_FADV_RANDOM 1 /* expect random page references */ #define POSIX_FADV_SEQUENTIAL 2 /* expect sequential page references */ #define POSIX_FADV_WILLNEED 3 /* will need these pages */ #define POSIX_FADV_DONTNEED 4 /* dont need these pages */ #define POSIX_FADV_NOREUSE 5 /* access data only once */ #endif #ifdef __BSD_VISIBLE /* * Magic value that specify that corresponding file descriptor to filename * is unknown and sanitary check should be omitted in the funlinkat() and * similar syscalls. */ #define FD_NONE -200 #endif #ifndef _KERNEL __BEGIN_DECLS int open(const char *, int, ...); int creat(const char *, mode_t); int fcntl(int, int, ...); #if __BSD_VISIBLE int flock(int, int); #endif #if __POSIX_VISIBLE >= 200809 int openat(int, const char *, int, ...); #endif #if __POSIX_VISIBLE >= 200112 int posix_fadvise(int, off_t, off_t, int); int posix_fallocate(int, off_t, off_t); #endif __END_DECLS #endif #endif /* !_SYS_FCNTL_H_ */
Upload File
Create Folder