X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Ffcntl.h;h=87ecf59b055d122fcad96b911c5d004eb73a5eb4;hp=6faf9cda2d1bfc90e343be716b2c251557f04f17;hb=780aede41913528781bbc8ff0d0e27505595f7c0;hpb=c2b18f3531b8cd2d5e2295626cff77b7765b356e diff --git a/include/fcntl.h b/include/fcntl.h index 6faf9cda..87ecf59b 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -9,6 +9,12 @@ extern "C" { #define __NEED_pid_t #define __NEED_mode_t +#ifdef _GNU_SOURCE +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec +#endif + #include #include @@ -34,6 +40,8 @@ int posix_fallocate(int, off_t, off_t); #define O_WRONLY 01 #define O_RDWR 02 +#define F_DUPFD_CLOEXEC 1030 + #define F_RDLCK 0 #define F_WRLCK 1 #define F_UNLCK 2 @@ -78,6 +86,53 @@ int posix_fallocate(int, off_t, off_t); #define S_IRWXO 0007 #endif +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define FAPPEND O_APPEND +#define FFSYNC O_FSYNC +#define FASYNC O_ASYNC +#define FNONBLOCK O_NONBLOCK +#define FNDELAY O_NDELAY + +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 + +int lockf(int, int, off_t); +#endif + +#if defined(_GNU_SOURCE) +#define F_OWNER_TID 0 +#define F_OWNER_PID 1 +#define F_OWNER_PGRP 2 +#define F_OWNER_GID 2 +struct f_owner_ex { + int type; + pid_t pid; +}; +#define SPLICE_F_MOVE 1 +#define SPLICE_F_NONBLOCK 2 +#define SPLICE_F_MORE 4 +#define SPLICE_F_GIFT 8 +ssize_t vmsplice(int, const struct iovec *, size_t, unsigned); +ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned); +#define loff_t off_t +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define open64 open +#define openat64 openat +#define creat64 creat +#define lockf64 lockf +#define posix_fadvise64 posix_fadvise +#define posix_fallocate64 posix_fallocate +#define off64_t off_t +#endif + #ifdef __cplusplus } #endif