about summary refs log tree commit diff
path: root/include/fcntl.h
Commit message (Collapse)AuthorAgeFilesLines
* fcntl.h: add AT_RECURSIVE from linux v5.2Szabolcs Nagy2019-09-111-0/+1
| | | | | | | apply open_tree with OPEN_TREE_CLONE call to the entire subtree, see linux commit a07b20004793d8926f78d63eb5980559f7813404 vfs: syscall: Add open_tree(2) to reference or clone a mount
* fcntl.h: add AT_STATX_ statx sync flag definitionsSzabolcs Nagy2019-09-111-0/+4
| | | | | | | | | | see linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f statx: Add a system call to make enhanced file info available these are linux specific and not reserved names for fcntl.h so they are under _BSD_SOURCE|_GNU_SOURCE.
* fcntl.h: add F_SEAL_FUTURE_WRITE from linux v5.1Szabolcs Nagy2019-07-011-0/+1
| | | | | | | | | needed for android so it can migrate from its ashmem to memfd. allows making the memfd readonly for future users while keeping a writable mmap of it. see linux commit ab3948f58ff841e51feb845720624665ef5b7ef3 mm/memfd: add an F_SEAL_FUTURE_WRITE seal to memfd
* fcntl.h: define O_TTY_INIT to 0A. Wilcox2019-04-101-2/+3
| | | | | | | | | | POSIX: "[If] either O_TTY_INIT is set in oflag or O_TTY_INIT has the value zero, open() shall set any non-standard termios structure terminal parameters to a state that provides conforming behavior." The Linux kernel tty drivers always perform initialisation on their devices to set known good termios values during the open(2) call. This means that setting O_TTY_INIT to zero is conforming.
* fix POSIX_FADV_DONTNEED/_NOREUSE on s390xJonathan Neuschäfer2019-03-131-0/+2
| | | | | | | | | On s390x, POSIX_FADV_DONTNEED and POSIX_FADV_NOREUSE have different values than on all other architectures that Linux supports. Handle this difference by wrapping their definitions in include/fcntl.h in #ifdef, so that arch/s390x/bits/fcntl.h can override them.
* define MAX_HANDLE_SZ for use with name_to_handle_atKhem Raj2018-09-131-0/+1
| | | | | MAX_HANDLE_SZ is described in name_to_handle_at() to contain maximum expected size for a file handle
* wireup linux/name_to_handle_at and name_to_handle_at syscallsKhem Raj2018-09-121-0/+7
|
* add new fcntl.h macros from linux v4.13Szabolcs Nagy2017-11-051-0/+12
| | | | | | | | for getting/setting write lifetime hints fcntl commands were added in linux commit c75b1d9421f80f4143e389d2d50ddfc8a28c8c35 added under _GNU_SOURCE || _BSD_SOURCE, since RWH_* life time hints are not in the POSIX reserved namespace.
* fix FFSYNC by changing it to O_SYNCDuncan Overbruck2016-08-301-1/+1
| | | | O_FSYNC was never defined and is legacy/wrong, nothing seems to use it.
* make brace placement in public header struct definitions consistentRich Felker2016-07-031-2/+1
| | | | | | | | | | | | | | placing the opening brace on the same line as the struct keyword/tag is the style I prefer and seems to be the prevailing practice in more recent additions. these changes were generated by the command: find include/ arch/*/bits -name '*.h' \ -exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} + and subsequently checked by hand to ensure that the regex did not pick up any false positives.
* move O_PATH definition back to arch bitsRich Felker2015-04-011-3/+2
| | | | | | | while it's the same for all presently supported archs, it differs at least on sparc, and conceptually it's no less arch-specific than the other O_* macros. O_SEARCH and O_EXEC are still defined in terms of O_PATH in the main fcntl.h.
* add new linux file sealing api to fcntl.hSzabolcs Nagy2014-10-081-0/+7
| | | | | | | | | | | | | | | | | new in linux v3.17 commit 40e041a2c858b3caefc757e26cb85bfceae5062b sealing allows some operations to be blocked on a file which makes file access safer when fds are shared between processes (only supported for shared mem fds currently) flags: F_SEAL_SEAL prevents further sealing F_SEAL_SHRINK prevents file from shrinking F_SEAL_GROW prevents file from growing F_SEAL_WRITE prevents writes fcntl commands: F_GET_SEALS get the current seal flags F_ADD_SEALS add new seal flags
* add new F_OFD_* macros to fcntl.h (open file description locks)Szabolcs Nagy2014-09-081-0/+4
| | | | | | | | | open file description locks are inherited across fork and only auto dropped after the last fd of the file description is closed, they can be used to synchronize between threads that open separate file descriptions for the same file. new in linux 3.15 commit 0d3f7a2dd2f5cf9642982515e020c1aee2cf7af6
* add flock64 alias for (struct) flock in fcntl.hRich Felker2014-02-181-0/+1
| | | | | this was a missing part of the LFS64 API; it's "needed" for use with fcntl and the corresponding lock commands.
* add some missing LFS64 aliases for fadvise/fallocate functionsRich Felker2014-01-061-0/+1
|
* fix multiple minor namespace issues in headersRich Felker2013-10-201-2/+3
| | | | | | | | | | | | | fcntl.h: AT_* is not a reserved namespace so extensions cannot be exposed by default. langinfo.h: YESSTR and NOSTR were removed from the standard. limits.h: NL_NMAX was removed from the standard. signal.h: the conditional for NSIG was wrongly checking _XOPEN_SOURCE rather than _BSD_SOURCE. this was purely a mistake; it doesn't even match the commit message from the commit that added it.
* add some new linux AT_* flagsRich Felker2013-08-031-0/+2
|
* provide useless 64-bit fcntl macros with _LARGEFILE64_SOURCERich Felker2013-08-021-0/+3
| | | | | this is all useless but part of the API, which is part of the _GNU_SOURCE API, so something may need them.
* fix F_DUPFD_CLOEXEC being defined twicerofl0r2012-12-061-1/+0
|
* fixup for fcntl.h changesrofl0r2012-12-061-16/+15
|
* fcntl.h: add some linux-specific F_ macrosrofl0r2012-12-061-0/+17
| | | | | thankfully these are all generic across archs. the DN_ macros are for usage with F_NOTIFY.
* fcntl.h: O_SEARCH was missing for powerpcrofl0r2012-11-181-0/+4
| | | | | | put some macros that do not differ between architectures in the main header and remove from bits. restructure mips header so it has the same structure as the others.
* fix stupid bug in updating of O_ACCMODE for O_SEARCH supportRich Felker2012-09-151-1/+1
| | | | this could cause major bugs, and warrants a fix release right away.
* add O_PATH/O_SEARCH support to fcntl.hRich Felker2012-09-131-1/+1
| | | | | | | I'm not 100% sure that Linux's O_PATH meets the POSIX requirements for O_SEARCH, but it seems very close if not perfect. and old kernels ignore it, so O_SEARCH will still work as desired as long as the caller has read permissions to the directory.
* add linux tee syscallRich Felker2012-09-081-0/+1
|
* add linux sync_file_range syscallRich Felker2012-09-081-0/+4
|
* add linux readahead syscallRich Felker2012-09-081-0/+1
|
* add fallocate (nonstandardized) functionRich Felker2012-09-081-0/+3
| | | | | | this is equivalent to posix_fallocate except that it has an extra mode/flags argument to control its behavior, and stores the error in errno rather than returning an error code.
* default features: make musl usable without feature test macrosRich Felker2012-09-071-0/+2
| | | | | | | | | | the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change.
* provide loff_t for splice syscallRich Felker2012-09-061-0/+1
| | | | | | | | | | | so far, this is the only actual use of loff_t i've found. some software, including glib, assumes loff_t must exist if splice exists; this is a reasonable assumption since the official prototype for splice uses loff_t, as it always works with 64-bit offsets regardless of the selected libc off_t size. i'm using #define for now rather than a typedef to make it easy to define in other headers if necessary (like the LFS64 ugliness), but it may be necessary to add it to alltypes.h eventually if other functions end up needing it.
* add splice and vmsplice syscallsRich Felker2012-07-231-0/+12
| | | | based on patches by orc and Isaac Dunham.
* proper error handling for fcntl F_GETOWN on modern kernelsRich Felker2012-06-201-0/+11
| | | | | | on old kernels, there's no way to detect errors; we must assume negative syscall return values are pgrp ids. but if the F_GETOWN_EX fcntl works, we can get a reliable answer.
* _GNU_SOURCE is supposed to imply _LARGEFILE64_SOURCERich Felker2012-06-041-1/+1
| | | | | | | | | this is ugly and stupid, but now that the *64 symbol names exist, a lot of broken GNU software detects them in configure, then either breaks during build due to missing off64_t definition, or attempts to compile without function declarations/prototypes. "fixing" it here is easier than telling everyone to add yet another feature test macro to their builds.
* various header cleanups, some related to _BSD_SOURCE additionRich Felker2012-05-221-2/+1
| | | | | | there is no reason to avoid multiple identical macro definitions; this is perfectly legal C, and even with the maximal warning options enabled, gcc does not issue any warning for it.
* support _BSD_SOURCE feature test macroRich Felker2012-05-221-1/+13
| | | | | patch by Isaac Dunham. matched closely (maybe not exact) to glibc's idea of what _BSD_SOURCE should make visible.
* add support for ugly *64 functions with _LARGEFILE64_SOURCERich Felker2012-05-041-0/+10
| | | | | | | | | | | | | | | | musl does not support legacy 32-bit-off_t whatsoever. off_t is always 64 bit, and correct programs that use off_t and the standard functions will just work out of the box. (on glibc, they would require -D_FILE_OFFSET_BITS=64 to work.) however, some programs instead define _LARGEFILE64_SOURCE and use alternate versions of all the standard types and functions with "64" appended to their names. we do not want code to actually get linked against these functions (it's ugly and inconsistent), so macros are used instead of prototypes with weak aliases in the library itself. eventually the weak aliases may be added at the library level for the sake of using code that was originally built against glibc, but the macros will still be the desired solution in the headers.
* move F_DUPFD_CLOEXEC out of bitsRich Felker2012-04-151-0/+2
| | | | | | fcntl values 1024 and up are universal, arch-independent. later I'll add some of the other linux-specific ones for notify, leases, pipe size, etc. here too.
* fix O_SYNC definition, cleanup fcntl.hRich Felker2011-04-141-0/+8
|
* fcntl.h: move macros that do not vary between archs out of bitsRich Felker2011-04-141-0/+24
|
* fcntl.h should make availabel the mode constants from sys/stat.hRich Felker2011-03-081-0/+18
| | | | also remove some legacy nonsense that crept in.
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+43