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, 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; +}