50 lines
1.3 KiB
Diff
50 lines
1.3 KiB
Diff
diff --git a/src/header/mod.rs b/src/header/mod.rs
|
|
diff --git a/src/header/sys_signalfd/cbindgen.toml b/src/header/sys_signalfd/cbindgen.toml
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/src/header/sys_signalfd/cbindgen.toml
|
|
@@ -0,0 +1,24 @@
|
|
+sys_includes = ["signal.h", "stdint.h", "stddef.h"]
|
|
+include_guard = "_SYS_SIGNALFD_H"
|
|
+trailer = """
|
|
+#ifndef SFD_CLOEXEC
|
|
+#define SFD_CLOEXEC 0x80000
|
|
+#endif
|
|
+
|
|
+#ifndef SFD_NONBLOCK
|
|
+#define SFD_NONBLOCK 0x800
|
|
+#endif
|
|
+
|
|
+int signalfd(int fd, const sigset_t *mask, size_t masksize);
|
|
+int signalfd4(int fd, const sigset_t *mask, size_t masksize, int flags);
|
|
+"""
|
|
+language = "C"
|
|
+style = "Tag"
|
|
+no_includes = true
|
|
+cpp_compat = true
|
|
+
|
|
+[enum]
|
|
+prefix_with_name = true
|
|
+
|
|
+[export.rename]
|
|
+"signalfd_siginfo" = "struct signalfd_siginfo"
|
|
diff --git a/src/header/sys_signalfd/mod.rs b/src/header/sys_signalfd/mod.rs
|
|
new file mode 100644
|
|
--- /dev/null
|
|
+++ b/src/header/sys_signalfd/mod.rs
|
|
@@ -0,0 +1,14 @@
|
|
+//! `sys/signalfd.h` implementation.
|
|
+
|
|
+use crate::{
|
|
+ header::signal::{self, sigset_t, signalfd_siginfo},
|
|
+ platform::types::c_int,
|
|
+};
|
|
+
|
|
+pub const SFD_CLOEXEC: c_int = signal::SFD_CLOEXEC;
|
|
+pub const SFD_NONBLOCK: c_int = signal::SFD_NONBLOCK;
|
|
+
|
|
+#[unsafe(no_mangle)]
|
|
+pub extern "C" fn _cbindgen_export_sys_signalfd_siginfo(siginfo: signalfd_siginfo) {
|
|
+ let _ = siginfo;
|
|
+}
|