]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
lib/nolibc: Import `signalfd` definitions from `musl`
authorSergiu Moga <sergiu@unikraft.io>
Thu, 20 Mar 2025 18:56:10 +0000 (20:56 +0200)
committerUnikraft Bot <monkey@unikraft.io>
Wed, 23 Apr 2025 10:01:21 +0000 (10:01 +0000)
Import `musl`'s header for `signalfd` definitions to allow
nolibc builds a way to call into the signalfd implementation.

Source of import:
Repository: https://git.musl-libc.org/cgit/musl
Tag: v1.2.4 (f5f55d65)
Path: include/sys/signalfd.h

Checkpatch-Ignore: SPDX_LICENSE_TAG
Checkpatch-Ignore: FUNCTION_ARGUMENTS
Checkpatch-Ignore: PREFER_KERNEL_TYPES
Checkpatch-Ignore: SPACING
Checkpatch-Ignore: COMMIT_LOG_USE_LINK
Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
Approved-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Andrei Tatar <andrei@unikraft.io>
GitHub-Closes: #1619

lib/nolibc/musl-imported/include/sys/signalfd.h [new file with mode: 0644]

diff --git a/lib/nolibc/musl-imported/include/sys/signalfd.h b/lib/nolibc/musl-imported/include/sys/signalfd.h
new file mode 100644 (file)
index 0000000..1d4aa45
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef _SYS_SIGNALFD_H
+#define _SYS_SIGNALFD_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <fcntl.h>
+
+#define __NEED_sigset_t
+
+#include <signal.h>
+
+#define SFD_CLOEXEC O_CLOEXEC
+#define SFD_NONBLOCK O_NONBLOCK
+
+int signalfd(int, const sigset_t *, int);
+
+struct signalfd_siginfo {
+       uint32_t  ssi_signo;
+       int32_t   ssi_errno;
+       int32_t   ssi_code;
+       uint32_t  ssi_pid;
+       uint32_t  ssi_uid;
+       int32_t   ssi_fd;
+       uint32_t  ssi_tid;
+       uint32_t  ssi_band;
+       uint32_t  ssi_overrun;
+       uint32_t  ssi_trapno;
+       int32_t   ssi_status;
+       int32_t   ssi_int;
+       uint64_t  ssi_ptr;
+       uint64_t  ssi_utime;
+       uint64_t  ssi_stime;
+       uint64_t  ssi_addr;
+       uint16_t  ssi_addr_lsb;
+       uint16_t  __pad2;
+       int32_t   ssi_syscall;
+       uint64_t  ssi_call_addr;
+       uint32_t  ssi_arch;
+       uint8_t   __pad[128-14*4-5*8-2*2];
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif