linux_raw_sys/x86/
landlock.rs1pub type __s8 = crate::ctypes::c_schar;
4pub type __u8 = crate::ctypes::c_uchar;
5pub type __s16 = crate::ctypes::c_short;
6pub type __u16 = crate::ctypes::c_ushort;
7pub type __s32 = crate::ctypes::c_int;
8pub type __u32 = crate::ctypes::c_uint;
9pub type __s64 = crate::ctypes::c_longlong;
10pub type __u64 = crate::ctypes::c_ulonglong;
11pub type __kernel_key_t = crate::ctypes::c_int;
12pub type __kernel_mqd_t = crate::ctypes::c_int;
13pub type __kernel_mode_t = crate::ctypes::c_ushort;
14pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort;
15pub type __kernel_uid_t = crate::ctypes::c_ushort;
16pub type __kernel_gid_t = crate::ctypes::c_ushort;
17pub type __kernel_old_dev_t = crate::ctypes::c_ushort;
18pub type __kernel_long_t = crate::ctypes::c_long;
19pub type __kernel_ulong_t = crate::ctypes::c_ulong;
20pub type __kernel_ino_t = __kernel_ulong_t;
21pub type __kernel_pid_t = crate::ctypes::c_int;
22pub type __kernel_suseconds_t = __kernel_long_t;
23pub type __kernel_daddr_t = crate::ctypes::c_int;
24pub type __kernel_uid32_t = crate::ctypes::c_uint;
25pub type __kernel_gid32_t = crate::ctypes::c_uint;
26pub type __kernel_old_uid_t = __kernel_uid_t;
27pub type __kernel_old_gid_t = __kernel_gid_t;
28pub type __kernel_size_t = crate::ctypes::c_uint;
29pub type __kernel_ssize_t = crate::ctypes::c_int;
30pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
31pub type __kernel_off_t = __kernel_long_t;
32pub type __kernel_loff_t = crate::ctypes::c_longlong;
33pub type __kernel_old_time_t = __kernel_long_t;
34pub type __kernel_time_t = __kernel_long_t;
35pub type __kernel_time64_t = crate::ctypes::c_longlong;
36pub type __kernel_clock_t = __kernel_long_t;
37pub type __kernel_timer_t = crate::ctypes::c_int;
38pub type __kernel_clockid_t = crate::ctypes::c_int;
39pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
40pub type __kernel_uid16_t = crate::ctypes::c_ushort;
41pub type __kernel_gid16_t = crate::ctypes::c_ushort;
42pub type __le16 = __u16;
43pub type __be16 = __u16;
44pub type __le32 = __u32;
45pub type __be32 = __u32;
46pub type __le64 = __u64;
47pub type __be64 = __u64;
48pub type __sum16 = __u16;
49pub type __wsum = __u32;
50pub type __poll_t = crate::ctypes::c_uint;
51#[repr(C)]
52#[derive(Debug, Copy, Clone)]
53pub struct landlock_ruleset_attr {
54pub handled_access_fs: __u64,
55pub handled_access_net: __u64,
56pub scoped: __u64,
57}
58#[repr(C, packed)]
59#[derive(Debug, Copy, Clone)]
60pub struct landlock_path_beneath_attr {
61pub allowed_access: __u64,
62pub parent_fd: __s32,
63}
64#[repr(C)]
65#[derive(Debug, Copy, Clone)]
66pub struct landlock_net_port_attr {
67pub allowed_access: __u64,
68pub port: __u64,
69}
70pub const __BITS_PER_LONG_LONG: u32 = 64;
71pub const LANDLOCK_CREATE_RULESET_VERSION: u32 = 1;
72pub const LANDLOCK_CREATE_RULESET_ERRATA: u32 = 2;
73pub const LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF: u32 = 1;
74pub const LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON: u32 = 2;
75pub const LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF: u32 = 4;
76pub const LANDLOCK_ACCESS_FS_EXECUTE: u32 = 1;
77pub const LANDLOCK_ACCESS_FS_WRITE_FILE: u32 = 2;
78pub const LANDLOCK_ACCESS_FS_READ_FILE: u32 = 4;
79pub const LANDLOCK_ACCESS_FS_READ_DIR: u32 = 8;
80pub const LANDLOCK_ACCESS_FS_REMOVE_DIR: u32 = 16;
81pub const LANDLOCK_ACCESS_FS_REMOVE_FILE: u32 = 32;
82pub const LANDLOCK_ACCESS_FS_MAKE_CHAR: u32 = 64;
83pub const LANDLOCK_ACCESS_FS_MAKE_DIR: u32 = 128;
84pub const LANDLOCK_ACCESS_FS_MAKE_REG: u32 = 256;
85pub const LANDLOCK_ACCESS_FS_MAKE_SOCK: u32 = 512;
86pub const LANDLOCK_ACCESS_FS_MAKE_FIFO: u32 = 1024;
87pub const LANDLOCK_ACCESS_FS_MAKE_BLOCK: u32 = 2048;
88pub const LANDLOCK_ACCESS_FS_MAKE_SYM: u32 = 4096;
89pub const LANDLOCK_ACCESS_FS_REFER: u32 = 8192;
90pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384;
91pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768;
92pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1;
93pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2;
94pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1;
95pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2;
96#[repr(u32)]
97#[non_exhaustive]
98#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
99pub enum landlock_rule_type {
100LANDLOCK_RULE_PATH_BENEATH = 1,
101LANDLOCK_RULE_NET_PORT = 2,
102}