Replace Linux ioctl values (except TIOCSCTTY) with hardcoded OpenBSD
ioctl values.

Use TIOCSCTTY from libc crate, which actually knows about OpenBSD. This
lets agreety and other child sessions run with a proper controlling
terminal.

Index: greetd/src/terminal/ioctl.rs
--- greetd/src/terminal/ioctl.rs.orig
+++ greetd/src/terminal/ioctl.rs
@@ -1,16 +1,15 @@
 use nix::{ioctl_read_bad, ioctl_write_int_bad, ioctl_write_ptr_bad};
 
-pub const KDSETMODE: u16 = 0x4B3A;
-pub const KDTEXT: i32 = 0x00;
-pub const KDGRAPHICS: i32 = 0x01;
-pub const VT_OPENQRY: u16 = 0x5600;
-pub const VT_SETMODE: u16 = 0x5602;
-pub const VT_GETSTATE: u16 = 0x5603;
-pub const VT_ACTIVATE: u16 = 0x5606;
-pub const VT_WAITACTIVE: u16 = 0x5607;
-pub const VT_SETACTIVATE: u16 = 0x560F;
-pub const VT_AUTO: u8 = 0;
-pub const TIOCSCTTY: u16 = 0x540E;
+pub const KDSETMODE: u32 = 0x20004b0a;
+pub const KDTEXT: i32 = 0x00; // compatible
+pub const KDGRAPHICS: i32 = 0x01; // compatible
+pub const VT_OPENQRY: u32 = 0x40047601;
+pub const VT_SETMODE: u32 = 0x80087602;
+pub const VT_GETSTATE: u32 = 0x40067664;
+pub const VT_ACTIVATE: u32 = 0x20007605;
+pub const VT_WAITACTIVE: u32 = 0x20007606;
+pub const VT_SETACTIVATE: u32 = 0x40047607;
+pub const VT_AUTO: u8 = 0; // compatible
 
 ioctl_write_int_bad!(kd_setmode, KDSETMODE);
 ioctl_write_int_bad!(vt_activate, VT_ACTIVATE);
@@ -19,7 +18,7 @@ ioctl_write_ptr_bad!(vt_setmode, VT_SETMODE, vt_mode);
 ioctl_write_ptr_bad!(vt_setactivate, VT_SETACTIVATE, vt_setactivate);
 ioctl_read_bad!(vt_openqry, VT_OPENQRY, i64);
 ioctl_read_bad!(vt_getstate, VT_GETSTATE, vt_state);
-ioctl_write_int_bad!(term_tiocsctty, TIOCSCTTY);
+ioctl_write_int_bad!(term_tiocsctty, libc::TIOCSCTTY);
 
 #[allow(dead_code)]
 #[repr(C)]
