diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:44:07 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:44:07 +0100 |
| commit | 01cf24ec66c663e3f40be1d5c703aa9666effc85 (patch) | |
| tree | 9e5bed524b013ee2609d7e5f1282eaa96eec404c | |
| parent | 6f6c027a90fba09f06ea0937b57cfd349661620e (diff) | |
Add inotify and reorganize eventfd and io_uring syscalls
| -rw-r--r-- | include/sys/inotify.h | 41 | ||||
| -rw-r--r-- | lib/libc/sys/Kbuild | 12 | ||||
| -rw-r--r-- | lib/libc/sys/eventfd/Kbuild | 3 | ||||
| -rw-r--r-- | lib/libc/sys/eventfd/eventfd.c (renamed from lib/libc/sys/eventfd.c) | 0 | ||||
| -rw-r--r-- | lib/libc/sys/eventfd/eventfd_read.c (renamed from lib/libc/sys/eventfd_read.c) | 0 | ||||
| -rw-r--r-- | lib/libc/sys/eventfd/eventfd_write.c (renamed from lib/libc/sys/eventfd_write.c) | 0 | ||||
| -rw-r--r-- | lib/libc/sys/inotify/Kbuild | 1 | ||||
| -rw-r--r-- | lib/libc/sys/inotify/inotify_add_watch.c | 7 | ||||
| -rw-r--r-- | lib/libc/sys/inotify/inotify_init.c | 7 | ||||
| -rw-r--r-- | lib/libc/sys/inotify/inotify_rm_watch.c | 7 | ||||
| -rw-r--r-- | lib/libc/sys/io_uring/Kbuild | 3 | ||||
| -rw-r--r-- | lib/libc/sys/io_uring/io_uring_enter.c (renamed from lib/libc/sys/io_uring_enter.c) | 0 | ||||
| -rw-r--r-- | lib/libc/sys/io_uring/io_uring_register.c (renamed from lib/libc/sys/io_uring_register.c) | 0 | ||||
| -rw-r--r-- | lib/libc/sys/io_uring/io_uring_setup.c (renamed from lib/libc/sys/io_uring_setup.c) | 0 |
14 files changed, 74 insertions, 7 deletions
diff --git a/include/sys/inotify.h b/include/sys/inotify.h new file mode 100644 index 00000000..b7a59853 --- /dev/null +++ b/include/sys/inotify.h @@ -0,0 +1,41 @@ +#ifndef __SYS_INOTIFY_H +#define __SYS_INOTIFY_H + +typedef __UINT32_TYPE__ uint32_t; + +#define IN_ACCESS 0x00000001 +#define IN_MODIFY 0x00000002 +#define IN_ATTRIB 0x00000004 +#define IN_CLOSE_WRITE 0x00000008 +#define IN_CLOSE_NOWRITE 0x00000010 +#define IN_OPEN 0x00000020 +#define IN_MOVED_FROM 0x00000040 +#define IN_MOVED_TO 0x00000080 +#define IN_CREATE 0x00000100 +#define IN_DELETE 0x00000200 +#define IN_DELETE_SELF 0x00000400 +#define IN_MOVE_SELF 0x00000800 +#define IN_UNMOUNT 0x00002000 +#define IN_Q_OVERFLOW 0x00004000 +#define IN_IGNORED 0x00008000 +#define IN_ISDIR 0x40000000 +#define IN_ONESHOT 0x80000000 +#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) +#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) +#define IN_ALL_EVENTS \ + (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \ + IN_MOVED_TO | IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF) + +struct inotify_event { + int wd; + uint32_t mask; + uint32_t cookie; + uint32_t len; + char name[]; +}; + +int inotify_add_watch(int, const char *, uint32_t); +int inotify_init(void); +int inotify_rm_watch(int, int); + +#endif diff --git a/lib/libc/sys/Kbuild b/lib/libc/sys/Kbuild index caaf922a..a2928e14 100644 --- a/lib/libc/sys/Kbuild +++ b/lib/libc/sys/Kbuild @@ -1,14 +1,12 @@ -obj-y += eventfd.o -obj-y += eventfd_read.o -obj-y += eventfd_write.o +obj-y += eventfd/ +obj-y += inotify/ +obj-y += io_uring/ + +obj-y += flock.o obj-y += getauxval.o -obj-y += io_uring_enter.o -obj-y += io_uring_register.o -obj-y += io_uring_setup.o obj-y += ioctl.o obj-y += mount.o obj-y += reboot.o obj-y += sysinfo.o obj-y += umount.o obj-y += umount2.o -obj-y += flock.o diff --git a/lib/libc/sys/eventfd/Kbuild b/lib/libc/sys/eventfd/Kbuild new file mode 100644 index 00000000..ad7a3422 --- /dev/null +++ b/lib/libc/sys/eventfd/Kbuild @@ -0,0 +1,3 @@ +obj-y += eventfd.o +obj-y += eventfd_read.o +obj-y += eventfd_write.o diff --git a/lib/libc/sys/eventfd.c b/lib/libc/sys/eventfd/eventfd.c index b0fb5d86..b0fb5d86 100644 --- a/lib/libc/sys/eventfd.c +++ b/lib/libc/sys/eventfd/eventfd.c diff --git a/lib/libc/sys/eventfd_read.c b/lib/libc/sys/eventfd/eventfd_read.c index 78d73623..78d73623 100644 --- a/lib/libc/sys/eventfd_read.c +++ b/lib/libc/sys/eventfd/eventfd_read.c diff --git a/lib/libc/sys/eventfd_write.c b/lib/libc/sys/eventfd/eventfd_write.c index 9c89b388..9c89b388 100644 --- a/lib/libc/sys/eventfd_write.c +++ b/lib/libc/sys/eventfd/eventfd_write.c diff --git a/lib/libc/sys/inotify/Kbuild b/lib/libc/sys/inotify/Kbuild new file mode 100644 index 00000000..339bef40 --- /dev/null +++ b/lib/libc/sys/inotify/Kbuild @@ -0,0 +1 @@ +obj-y += inotify_init.o diff --git a/lib/libc/sys/inotify/inotify_add_watch.c b/lib/libc/sys/inotify/inotify_add_watch.c new file mode 100644 index 00000000..22ffd7b1 --- /dev/null +++ b/lib/libc/sys/inotify/inotify_add_watch.c @@ -0,0 +1,7 @@ +#include <sys/inotify.h> +#include <syscall.h> + +int inotify_add_watch(int fildes, const char *name, uint32_t mask) +{ + return syscall(inotify_add_watch, fildes, name, mask); +} diff --git a/lib/libc/sys/inotify/inotify_init.c b/lib/libc/sys/inotify/inotify_init.c new file mode 100644 index 00000000..5baa9589 --- /dev/null +++ b/lib/libc/sys/inotify/inotify_init.c @@ -0,0 +1,7 @@ +#include <sys/inotify.h> +#include <syscall.h> + +int inotify_init(void) +{ + return syscall(inotify_init); +} diff --git a/lib/libc/sys/inotify/inotify_rm_watch.c b/lib/libc/sys/inotify/inotify_rm_watch.c new file mode 100644 index 00000000..e2729cd0 --- /dev/null +++ b/lib/libc/sys/inotify/inotify_rm_watch.c @@ -0,0 +1,7 @@ +#include <sys/inotify.h> +#include <syscall.h> + +int inotify_rm_watch(int fildes, int wd) +{ + return syscall(inotify_rm_watch, fildes, wd); +} diff --git a/lib/libc/sys/io_uring/Kbuild b/lib/libc/sys/io_uring/Kbuild new file mode 100644 index 00000000..7a25a4b1 --- /dev/null +++ b/lib/libc/sys/io_uring/Kbuild @@ -0,0 +1,3 @@ +obj-y += io_uring_enter.o +obj-y += io_uring_register.o +obj-y += io_uring_setup.o diff --git a/lib/libc/sys/io_uring_enter.c b/lib/libc/sys/io_uring/io_uring_enter.c index 5fe0773d..5fe0773d 100644 --- a/lib/libc/sys/io_uring_enter.c +++ b/lib/libc/sys/io_uring/io_uring_enter.c diff --git a/lib/libc/sys/io_uring_register.c b/lib/libc/sys/io_uring/io_uring_register.c index bee2355f..bee2355f 100644 --- a/lib/libc/sys/io_uring_register.c +++ b/lib/libc/sys/io_uring/io_uring_register.c diff --git a/lib/libc/sys/io_uring_setup.c b/lib/libc/sys/io_uring/io_uring_setup.c index 0a368a81..0a368a81 100644 --- a/lib/libc/sys/io_uring_setup.c +++ b/lib/libc/sys/io_uring/io_uring_setup.c |
