diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:06:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:06:04 +0000 |
commit | 2f0649f6fe411d7e07c8d56cf8ea56db53536da8 (patch) | |
tree | 778611fb52176dce1ad06c68e87b2cb348ca0f7b /usr/include/fcntl.h | |
parent | Initial commit. (diff) | |
download | klibc-2f0649f6fe411d7e07c8d56cf8ea56db53536da8.tar.xz klibc-2f0649f6fe411d7e07c8d56cf8ea56db53536da8.zip |
Adding upstream version 2.0.13.upstream/2.0.13upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'usr/include/fcntl.h')
-rw-r--r-- | usr/include/fcntl.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/usr/include/fcntl.h b/usr/include/fcntl.h new file mode 100644 index 0000000..cb2e4e5 --- /dev/null +++ b/usr/include/fcntl.h @@ -0,0 +1,67 @@ +/* + * fcntl.h + */ + +#ifndef _FCNTL_H +#define _FCNTL_H + +#include <klibc/extern.h> +#include <klibc/compiler.h> +#include <klibc/seek.h> +#include <sys/types.h> +#if defined(__mips__) && ! defined(__mips64) +# include <klibc/archfcntl.h> +#elif _BITSIZE == 32 +/* We want a struct flock with 64-bit offsets, which we define below */ +# define HAVE_ARCH_STRUCT_FLOCK +#endif +#include <linux/fcntl.h> +#include <bitsize.h> + +#if !defined(__mips__) && _BITSIZE == 32 + +/* + * <linux/fcntl.h> defines struct flock with offsets of type + * __kernel_off_t (= long) and struct flock64 with offsets of + * type __kernel_loff_t (= long long). We want struct flock + * to have 64-bit offsets, so we define it here. + */ + +struct flock { + short l_type; + short l_whence; + __kernel_loff_t l_start; + __kernel_loff_t l_len; + __kernel_pid_t l_pid; +#ifdef __ARCH_FLOCK64_PAD + __ARCH_FLOCK64_PAD +#endif +}; + +#ifdef F_GETLK64 +# undef F_GETLK +# define F_GETLK F_GETLK64 +#endif + +#ifdef F_SETLK64 +# undef F_SETLK +# define F_SETLK F_SETLK64 +#endif + +#ifdef F_SETLKW64 +# undef F_SETLKW +# define F_SETLKW F_SETLKW64 +#endif + +#endif /* _BITSIZE == 32 */ + +/* This is defined here as well as in <unistd.h> */ +#ifndef _KLIBC_IN_OPEN_C +__extern int open(const char *, int, ...); +__extern int openat(int, const char *, int, ...); +#endif + +__extern int creat(const char *, mode_t); +__extern int fcntl(int, int, ...); + +#endif /* _FCNTL_H */ |