summaryrefslogtreecommitdiff
path: root/tests/headers/fcntl.c
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-15 14:42:29 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-15 14:42:29 +0100
commit7cd3b7caee10d62f7be674afb86a136bf30485d6 (patch)
tree121a8c79114174b765713387187d930b102f760f /tests/headers/fcntl.c
parent3b3325f761b09ebbfef04c44eed546cc4fdeb329 (diff)
Add mqueue rt api, add header tests
Diffstat (limited to 'tests/headers/fcntl.c')
-rw-r--r--tests/headers/fcntl.c86
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/headers/fcntl.c b/tests/headers/fcntl.c
new file mode 100644
index 00000000..bccc51c7
--- /dev/null
+++ b/tests/headers/fcntl.c
@@ -0,0 +1,86 @@
+// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fcntl.h.html
+
+#include "core.h"
+
+#include <fcntl.h>
+
+TEST(fcntl_h)
+{
+ TYPE(mode_t);
+ TYPE(off_t);
+ TYPE(pid_t);
+
+ TYPE(struct f_owner_ex);
+ STRUCT_MEMBER(struct f_owner_ex, int, type);
+ STRUCT_MEMBER(struct f_owner_ex, pid_t, pid);
+
+ TYPE(struct flock);
+ STRUCT_MEMBER(struct flock, short, l_type);
+ STRUCT_MEMBER(struct flock, short, l_whence);
+ STRUCT_MEMBER(struct flock, off_t, l_start);
+ STRUCT_MEMBER(struct flock, off_t, l_len);
+ STRUCT_MEMBER(struct flock, pid_t, l_pid);
+
+ MACRO(F_DUPFD);
+ MACRO(F_DUPFD_CLOEXEC);
+ MACRO(F_GETFD);
+ MACRO(F_SETFD);
+ MACRO(F_GETFL);
+ MACRO(F_SETFL);
+ MACRO(F_GETLK);
+ MACRO(F_SETLK);
+ MACRO(F_SETLKW);
+ MACRO(F_GETOWN);
+ MACRO(F_SETOWN);
+
+ MACRO(FD_CLOEXEC);
+
+ MACRO(F_RDLCK);
+ MACRO(F_UNLCK);
+ MACRO(F_WRLCK);
+
+ MACRO(SEEK_SET);
+ MACRO(SEEK_CUR);
+ MACRO(SEEK_END);
+
+ MACRO(O_CLOEXEC);
+ MACRO(O_CREAT);
+ MACRO(O_DIRECTORY);
+ MACRO(O_EXCL);
+ MACRO(O_NOCTTY);
+ MACRO(O_NOFOLLOW);
+ MACRO(O_TRUNC);
+ MACRO(O_TTY_INIT);
+
+ MACRO(O_APPEND);
+ MACRO(O_DSYNC);
+ MACRO(O_NONBLOCK);
+ MACRO(O_RSYNC);
+ MACRO(O_SYNC);
+
+ MACRO(O_ACCMODE);
+ MACRO(O_EXEC);
+ MACRO(O_RDONLY);
+ MACRO(O_RDWR);
+ MACRO(O_SEARCH);
+ MACRO(O_WRONLY);
+
+ MACRO(AT_FDCWD);
+ MACRO(AT_EACCESS);
+ MACRO(AT_SYMLINK_NOFOLLOW);
+ MACRO(AT_REMOVEDIR);
+
+ MACRO(POSIX_FADV_DONTNEED);
+ MACRO(POSIX_FADV_NOREUSE);
+ MACRO(POSIX_FADV_NORMAL);
+ MACRO(POSIX_FADV_RANDOM);
+ MACRO(POSIX_FADV_SEQUENTIAL);
+ MACRO(POSIX_FADV_WILLNEED);
+
+ FUNCTION(creat, int (*f)(const char *, mode_t));
+ FUNCTION(fcntl, int (*f)(int, int, ...));
+ FUNCTION(open, int (*f)(const char *, int, ...));
+ FUNCTION(openat, int (*f)(int, const char *, int, ...));
+ FUNCTION(posix_fadvise, int (*f)(int, off_t, off_t, int));
+ FUNCTION(posix_fallocate, int (*f)(int, off_t, off_t));
+}