9880e0a5b2
Consolidate the active desktop path around redbear-full while landing the greeter/session stack and the runtime fixes needed to keep Wayland and KWin bring-up moving forward.
94 lines
2.5 KiB
Diff
94 lines
2.5 KiB
Diff
diff -ruN a/src/header/mod.rs b/src/header/mod.rs
|
|
--- a/src/header/mod.rs 2026-04-15 09:48:02.257700000 +0100
|
|
+++ b/src/header/mod.rs 2026-04-19 13:30:00.000000000 +0100
|
|
@@ -98,6 +98,7 @@
|
|
pub mod sys_resource;
|
|
pub mod sys_select;
|
|
+pub mod sys_signalfd;
|
|
// TODO: sys/sem.h
|
|
// TODO: sys/shm.h
|
|
pub mod sys_socket;
|
|
diff -ruN a/src/header/sys_signalfd/cbindgen.toml b/src/header/sys_signalfd/cbindgen.toml
|
|
--- a/src/header/sys_signalfd/cbindgen.toml 1970-01-01 00:00:00.000000000 +0000
|
|
+++ b/src/header/sys_signalfd/cbindgen.toml 2026-04-15 09:48:02.257754724 +0100
|
|
@@ -0,0 +1,41 @@
|
|
+sys_includes = ["signal.h", "stdint.h"]
|
|
+include_guard = "_SYS_SIGNALFD_H"
|
|
+trailer = """
|
|
+#ifndef SFD_CLOEXEC
|
|
+#define SFD_CLOEXEC 0x80000
|
|
+#endif
|
|
+
|
|
+#ifndef SFD_NONBLOCK
|
|
+#define SFD_NONBLOCK 0x800
|
|
+#endif
|
|
+
|
|
+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[28];
|
|
+};
|
|
+"""
|
|
+language = "C"
|
|
+style = "Tag"
|
|
+no_includes = true
|
|
+cpp_compat = true
|
|
|
|
+[enum]
|
|
+prefix_with_name = true
|
|
|
|
+[export.rename]
|
|
+"signalfd_siginfo" = "struct signalfd_siginfo"
|
|
diff -ruN a/src/header/sys_signalfd/mod.rs b/src/header/sys_signalfd/mod.rs
|
|
--- a/src/header/sys_signalfd/mod.rs 1970-01-01 00:00:00.000000000 +0000
|
|
+++ b/src/header/sys_signalfd/mod.rs 2026-04-15 09:48:02.257778048 +0100
|
|
@@ -0,0 +1,29 @@
|
|
+//! `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 unsafe extern "C" fn signalfd(fd: c_int, mask: *const sigset_t, masksize: usize) -> c_int {
|
|
+ unsafe { signal::signalfd(fd, mask, masksize) }
|
|
+}
|
|
+
|
|
+#[unsafe(no_mangle)]
|
|
+pub unsafe extern "C" fn signalfd4(
|
|
+ fd: c_int,
|
|
+ mask: *const sigset_t,
|
|
+ masksize: usize,
|
|
+ flags: c_int,
|
|
+) -> c_int {
|
|
+ unsafe { signal::signalfd4(fd, mask, masksize, flags) }
|
|
+}
|
|
+
|
|
+#[unsafe(no_mangle)]
|
|
+pub extern "C" fn _cbindgen_export_sys_signalfd_siginfo(siginfo: signalfd_siginfo) {
|
|
+ let _ = siginfo;
|
|
+}
|