Path: blob/main/system/lib/libc/musl/include/fcntl.h
6172 views
#ifndef _FCNTL_H1#define _FCNTL_H23#ifdef __EMSCRIPTEN__4#include <wasi/api.h>5#endif67#ifdef __cplusplus8extern "C" {9#endif1011#include <features.h>1213#define __NEED_off_t14#define __NEED_pid_t15#define __NEED_mode_t1617#ifdef _GNU_SOURCE18#define __NEED_size_t19#define __NEED_ssize_t20#define __NEED_struct_iovec21#endif2223#include <bits/alltypes.h>2425#include <bits/fcntl.h>2627struct flock {28short l_type;29short l_whence;30off_t l_start;31off_t l_len;32pid_t l_pid;33};3435int creat(const char *, mode_t);36int fcntl(int, int, ...);37int open(const char *, int, ...);38int openat(int, const char *, int, ...);39int posix_fadvise(int, off_t, off_t, int);40int posix_fallocate(int, off_t, off_t);4142#define O_SEARCH O_PATH43#define O_EXEC O_PATH44#define O_TTY_INIT 04546#define O_ACCMODE (03|O_SEARCH)47#define O_RDONLY 0048#define O_WRONLY 0149#define O_RDWR 025051#define F_OFD_GETLK 3652#define F_OFD_SETLK 3753#define F_OFD_SETLKW 385455#define F_DUPFD_CLOEXEC 10305657#define F_RDLCK 058#define F_WRLCK 159#define F_UNLCK 26061#define FD_CLOEXEC 16263#define AT_FDCWD (-100)64#define AT_SYMLINK_NOFOLLOW 0x10065#define AT_REMOVEDIR 0x20066#define AT_SYMLINK_FOLLOW 0x40067#define AT_EACCESS 0x2006869#define POSIX_FADV_NORMAL 070#define POSIX_FADV_RANDOM 171#define POSIX_FADV_SEQUENTIAL 272#define POSIX_FADV_WILLNEED 373#ifndef POSIX_FADV_DONTNEED74#define POSIX_FADV_DONTNEED 475#define POSIX_FADV_NOREUSE 576#endif7778#undef SEEK_SET79#undef SEEK_CUR80#undef SEEK_END81#ifdef __EMSCRIPTEN__82#define SEEK_SET __WASI_WHENCE_SET83#define SEEK_CUR __WASI_WHENCE_CUR84#define SEEK_END __WASI_WHENCE_END85#else86#define SEEK_SET 087#define SEEK_CUR 188#define SEEK_END 289#endif // EMSCRIPTEN9091#ifndef S_IRUSR92#define S_ISUID 0400093#define S_ISGID 0200094#define S_ISVTX 0100095#define S_IRUSR 040096#define S_IWUSR 020097#define S_IXUSR 010098#define S_IRWXU 070099#define S_IRGRP 0040100#define S_IWGRP 0020101#define S_IXGRP 0010102#define S_IRWXG 0070103#define S_IROTH 0004104#define S_IWOTH 0002105#define S_IXOTH 0001106#define S_IRWXO 0007107#endif108109#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)110#define AT_NO_AUTOMOUNT 0x800111#define AT_EMPTY_PATH 0x1000112#define AT_STATX_SYNC_TYPE 0x6000113#define AT_STATX_SYNC_AS_STAT 0x0000114#define AT_STATX_FORCE_SYNC 0x2000115#define AT_STATX_DONT_SYNC 0x4000116#define AT_RECURSIVE 0x8000117118#define FAPPEND O_APPEND119#define FFSYNC O_SYNC120#define FASYNC O_ASYNC121#define FNONBLOCK O_NONBLOCK122#define FNDELAY O_NDELAY123124#define F_OK 0125#define R_OK 4126#define W_OK 2127#define X_OK 1128#define F_ULOCK 0129#define F_LOCK 1130#define F_TLOCK 2131#define F_TEST 3132133#define F_SETLEASE 1024134#define F_GETLEASE 1025135#define F_NOTIFY 1026136#define F_CANCELLK 1029137#define F_SETPIPE_SZ 1031138#define F_GETPIPE_SZ 1032139#define F_ADD_SEALS 1033140#define F_GET_SEALS 1034141142#define F_SEAL_SEAL 0x0001143#define F_SEAL_SHRINK 0x0002144#define F_SEAL_GROW 0x0004145#define F_SEAL_WRITE 0x0008146#define F_SEAL_FUTURE_WRITE 0x0010147148#define F_GET_RW_HINT 1035149#define F_SET_RW_HINT 1036150#define F_GET_FILE_RW_HINT 1037151#define F_SET_FILE_RW_HINT 1038152153#define RWF_WRITE_LIFE_NOT_SET 0154#define RWH_WRITE_LIFE_NONE 1155#define RWH_WRITE_LIFE_SHORT 2156#define RWH_WRITE_LIFE_MEDIUM 3157#define RWH_WRITE_LIFE_LONG 4158#define RWH_WRITE_LIFE_EXTREME 5159160#define DN_ACCESS 0x00000001161#define DN_MODIFY 0x00000002162#define DN_CREATE 0x00000004163#define DN_DELETE 0x00000008164#define DN_RENAME 0x00000010165#define DN_ATTRIB 0x00000020166#define DN_MULTISHOT 0x80000000167168int lockf(int, int, off_t);169#endif170171#if defined(_GNU_SOURCE)172#define F_OWNER_TID 0173#define F_OWNER_PID 1174#define F_OWNER_PGRP 2175#define F_OWNER_GID 2176struct file_handle {177unsigned handle_bytes;178int handle_type;179unsigned char f_handle[];180};181struct f_owner_ex {182int type;183pid_t pid;184};185#define FALLOC_FL_KEEP_SIZE 1186#define FALLOC_FL_PUNCH_HOLE 2187#define MAX_HANDLE_SZ 128188#define SYNC_FILE_RANGE_WAIT_BEFORE 1189#define SYNC_FILE_RANGE_WRITE 2190#define SYNC_FILE_RANGE_WAIT_AFTER 4191#define SPLICE_F_MOVE 1192#define SPLICE_F_NONBLOCK 2193#define SPLICE_F_MORE 4194#define SPLICE_F_GIFT 8195int fallocate(int, int, off_t, off_t);196int name_to_handle_at(int, const char *, struct file_handle *, int *, int);197int open_by_handle_at(int, struct file_handle *, int);198ssize_t readahead(int, off_t, size_t);199int sync_file_range(int, off_t, off_t, unsigned);200ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);201ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned);202ssize_t tee(int, int, size_t, unsigned);203#define loff_t off_t204#endif205206#if defined(_LARGEFILE64_SOURCE)207#define F_GETLK64 F_GETLK208#define F_SETLK64 F_SETLK209#define F_SETLKW64 F_SETLKW210#define flock64 flock211#define open64 open212#define openat64 openat213#define creat64 creat214#define lockf64 lockf215#define posix_fadvise64 posix_fadvise216#define posix_fallocate64 posix_fallocate217#define off64_t off_t218#if defined(_GNU_SOURCE)219#define fallocate64 fallocate220#endif221#endif222223#ifdef __cplusplus224}225#endif226227#endif228229230