From bd5969fc876a10b18613302db7087ef3c40f18e1 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:00 -0500 Subject: lib: Add mlibc Signed-off-by: Ian Moffett --- lib/mlibc/options/posix/include/fcntl.h | 76 +++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 lib/mlibc/options/posix/include/fcntl.h (limited to 'lib/mlibc/options/posix/include/fcntl.h') diff --git a/lib/mlibc/options/posix/include/fcntl.h b/lib/mlibc/options/posix/include/fcntl.h new file mode 100644 index 0000000..9983219 --- /dev/null +++ b/lib/mlibc/options/posix/include/fcntl.h @@ -0,0 +1,76 @@ + +#ifndef _FCNTL_H +#define _FCNTL_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define O_NDELAY O_NONBLOCK + +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +#ifndef __MLIBC_ABI_ONLY + +int creat(const char *, mode_t); +int fallocate(int fd, int mode, off_t offset, off_t len); +int fcntl(int fd, int command, ...); +int open(const char *path, int flags, ...); +int openat(int, const char *, int, ...); +int posix_fadvise(int, off_t, off_t, int); +int posix_fallocate(int, off_t, off_t); + +#endif /* !__MLIBC_ABI_ONLY */ + +// This is a linux extension + +struct file_handle { + unsigned int handle_bytes; + int handle_type; + unsigned char f_handle[0]; +}; + +#ifndef __MLIBC_ABI_ONLY + +int name_to_handle_at(int, const char *, struct file_handle *, int *, int); +int open_by_handle_at(int, struct file_handle *, int); + +ssize_t splice(int fd_in, off_t *off_in, int fd_out, off_t *off_out, size_t len, unsigned int flags); +ssize_t vmsplice(int fd, const struct iovec *iov, size_t nr_segs, unsigned int flags); + +#endif /* !__MLIBC_ABI_ONLY */ + +#define SPLICE_F_MOVE 1 +#define SPLICE_F_NONBLOCK 2 +#define SPLICE_F_MORE 4 +#define SPLICE_F_GIFT 8 + +#define AT_NO_AUTOMOUNT 0x800 + +#define F_SETPIPE_SZ 1031 +#define F_GETPIPE_SZ 1032 + +#define FALLOC_FL_KEEP_SIZE 1 +#define FALLOC_FL_PUNCH_HOLE 2 + +#ifdef __cplusplus +} +#endif + +#endif // _FCNTL_H + -- cgit v1.2.3