about summary refs log tree commit diff
path: root/arch/x86_64/bits/fcntl.h
Commit message (Collapse)AuthorAgeFilesLines
* use generic bits/fcntl.h for x86_64 and riscv64Rich Felker2020-09-031-40/+0
| | | | | these were only using a custom version because they needed the "non-64" variants of the file locking command macros.
* fix missing O_LARGEFILE values on x86_64, x32, and mips64Rich Felker2020-09-031-1/+1
| | | | | | | | | | | | | | | | | prior to commit 685e40bb09f5f24a2af54ea09c97328808f76990, x86_64 was correctly passing O_LARGEFILE to SYS_open; it was removed (defined to 0 in the public header, and changed to use the public definition) as part of that change, probably out of a mistaken belief that it's not needed. however, on a mixed system with 32-bit and 64-bit binaries, it's important that all files be opened with O_LARGEFILE, even if the opening process is 64-bit, in case a descriptor is passed to a 32-bit process. otherwise, attempts to access past 2GB in the 32-bit process could produce EOVERFLOW. most 64-bit archs added later got this right alread, except for mips64. x32 was also affected. there are now fixed.
* move O_PATH definition back to arch bitsRich Felker2015-04-011-0/+1
| | | | | | | 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 O_TMPFILE flag, new in linux 3.11Szabolcs Nagy2013-11-231-0/+1
| | | | | | definition in linux: #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY) where __O_TMPFILE and O_DIRECTORY are arch specific
* add missing F_GETOWNER_UIDS flag to bits/fcntl.hSzabolcs Nagy2013-01-121-0/+2
|
* fcntl.h: O_SEARCH was missing for powerpcrofl0r2012-11-181-3/+0
| | | | | | 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.
* add O_EXEC open modeRich Felker2012-09-151-0/+1
| | | | | the linux O_PATH mode provides the necessary semantics for both the O_SEARCH and O_EXEC modes defined and required by POSIX 2008.
* add O_PATH/O_SEARCH support to fcntl.hRich Felker2012-09-131-0/+2
| | | | | | | 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.
* proper error handling for fcntl F_GETOWN on modern kernelsRich Felker2012-06-201-0/+3
| | | | | | 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.
* move F_DUPFD_CLOEXEC out of bitsRich Felker2012-04-151-2/+0
| | | | | | 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.
* add F_SETSIG and F_GETSIG (linux specific) to fcntl.hRich Felker2012-04-151-0/+2
| | | | F_* is in the reserved namespace so no feature test is needed
* fix O_SYNC definition, cleanup fcntl.hRich Felker2011-04-141-11/+5
|
* fix FAPPEND typo on x86_64 (previously only fixed on i386)Rich Felker2011-04-141-1/+1
|
* fcntl.h: move macros that do not vary between archs out of bitsRich Felker2011-04-141-24/+0
|
* fix broken fcntl locks on x86_64Rich Felker2011-04-141-3/+3
|
* syscall overhaul part two - unify public and internal syscall interfaceRich Felker2011-03-191-2/+5
| | | | | | | | | | | | | | | | with this patch, the syscallN() functions are no longer needed; a variadic syscall() macro allows syscalls with anywhere from 0 to 6 arguments to be made with a single macro name. also, manually casting each non-integer argument with (long) is no longer necessary; the casts are hidden in the macros. some source files which depended on being able to define the old macro SYSCALL_RETURNS_ERRNO have been modified to directly use __syscall() instead of syscall(). references to SYSCALL_SIGSET_SIZE and SYSCALL_LL have also been changed. x86_64 has not been tested, and may need a follow-up commit to fix any minor bugs/oversights.
* Port musl to x86-64. One giant commit!Nicholas J. Kain2011-02-151-0/+60