Skip to content

Commit 48a4bad

Browse files
authored
Add <linux/capabilith.h> to the general module. (#42)
This includes the `CAP_*` constants. Fixes #41.
1 parent c43aec4 commit 48a4bad

File tree

15 files changed

+1446
-17
lines changed

15 files changed

+1446
-17
lines changed

gen/modules/general.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// Selected Linux headers.
77

88
#include <linux/auxvec.h>
9+
#include <linux/capability.h>
910
#include <linux/eventpoll.h>
1011
#include <linux/fadvise.h>
1112
#include <linux/falloc.h>

src/aarch64/general.rs

Lines changed: 104 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,74 @@ pub const AT_BASE_PLATFORM: u32 = 24;
167167
pub const AT_RANDOM: u32 = 25;
168168
pub const AT_HWCAP2: u32 = 26;
169169
pub const AT_EXECFN: u32 = 31;
170+
pub const __BITS_PER_LONG: u32 = 64;
171+
pub const __FD_SETSIZE: u32 = 1024;
172+
pub const _LINUX_CAPABILITY_VERSION_1: u32 = 429392688;
173+
pub const _LINUX_CAPABILITY_U32S_1: u32 = 1;
174+
pub const _LINUX_CAPABILITY_VERSION_2: u32 = 537333798;
175+
pub const _LINUX_CAPABILITY_U32S_2: u32 = 2;
176+
pub const _LINUX_CAPABILITY_VERSION_3: u32 = 537396514;
177+
pub const _LINUX_CAPABILITY_U32S_3: u32 = 2;
178+
pub const VFS_CAP_REVISION_MASK: u32 = 4278190080;
179+
pub const VFS_CAP_REVISION_SHIFT: u32 = 24;
180+
pub const VFS_CAP_FLAGS_MASK: i64 = -4278190081;
181+
pub const VFS_CAP_FLAGS_EFFECTIVE: u32 = 1;
182+
pub const VFS_CAP_REVISION_1: u32 = 16777216;
183+
pub const VFS_CAP_U32_1: u32 = 1;
184+
pub const VFS_CAP_REVISION_2: u32 = 33554432;
185+
pub const VFS_CAP_U32_2: u32 = 2;
186+
pub const VFS_CAP_REVISION_3: u32 = 50331648;
187+
pub const VFS_CAP_U32_3: u32 = 2;
188+
pub const VFS_CAP_U32: u32 = 2;
189+
pub const VFS_CAP_REVISION: u32 = 50331648;
190+
pub const _LINUX_CAPABILITY_VERSION: u32 = 429392688;
191+
pub const _LINUX_CAPABILITY_U32S: u32 = 1;
192+
pub const CAP_CHOWN: u32 = 0;
193+
pub const CAP_DAC_OVERRIDE: u32 = 1;
194+
pub const CAP_DAC_READ_SEARCH: u32 = 2;
195+
pub const CAP_FOWNER: u32 = 3;
196+
pub const CAP_FSETID: u32 = 4;
197+
pub const CAP_KILL: u32 = 5;
198+
pub const CAP_SETGID: u32 = 6;
199+
pub const CAP_SETUID: u32 = 7;
200+
pub const CAP_SETPCAP: u32 = 8;
201+
pub const CAP_LINUX_IMMUTABLE: u32 = 9;
202+
pub const CAP_NET_BIND_SERVICE: u32 = 10;
203+
pub const CAP_NET_BROADCAST: u32 = 11;
204+
pub const CAP_NET_ADMIN: u32 = 12;
205+
pub const CAP_NET_RAW: u32 = 13;
206+
pub const CAP_IPC_LOCK: u32 = 14;
207+
pub const CAP_IPC_OWNER: u32 = 15;
208+
pub const CAP_SYS_MODULE: u32 = 16;
209+
pub const CAP_SYS_RAWIO: u32 = 17;
210+
pub const CAP_SYS_CHROOT: u32 = 18;
211+
pub const CAP_SYS_PTRACE: u32 = 19;
212+
pub const CAP_SYS_PACCT: u32 = 20;
213+
pub const CAP_SYS_ADMIN: u32 = 21;
214+
pub const CAP_SYS_BOOT: u32 = 22;
215+
pub const CAP_SYS_NICE: u32 = 23;
216+
pub const CAP_SYS_RESOURCE: u32 = 24;
217+
pub const CAP_SYS_TIME: u32 = 25;
218+
pub const CAP_SYS_TTY_CONFIG: u32 = 26;
219+
pub const CAP_MKNOD: u32 = 27;
220+
pub const CAP_LEASE: u32 = 28;
221+
pub const CAP_AUDIT_WRITE: u32 = 29;
222+
pub const CAP_AUDIT_CONTROL: u32 = 30;
223+
pub const CAP_SETFCAP: u32 = 31;
224+
pub const CAP_MAC_OVERRIDE: u32 = 32;
225+
pub const CAP_MAC_ADMIN: u32 = 33;
226+
pub const CAP_SYSLOG: u32 = 34;
227+
pub const CAP_WAKE_ALARM: u32 = 35;
228+
pub const CAP_BLOCK_SUSPEND: u32 = 36;
229+
pub const CAP_AUDIT_READ: u32 = 37;
230+
pub const CAP_PERFMON: u32 = 38;
231+
pub const CAP_BPF: u32 = 39;
232+
pub const CAP_CHECKPOINT_RESTORE: u32 = 40;
233+
pub const CAP_LAST_CAP: u32 = 40;
170234
pub const O_DIRECTORY: u32 = 16384;
171235
pub const O_NOFOLLOW: u32 = 32768;
172236
pub const O_DIRECT: u32 = 65536;
173237
pub const O_LARGEFILE: u32 = 131072;
174-
pub const __BITS_PER_LONG: u32 = 64;
175-
pub const __FD_SETSIZE: u32 = 1024;
176238
pub const O_ACCMODE: u32 = 3;
177239
pub const O_RDONLY: u32 = 0;
178240
pub const O_WRONLY: u32 = 1;
@@ -2486,6 +2548,46 @@ pub type __wsum = __u32;
24862548
pub type __poll_t = crate::ctypes::c_uint;
24872549
#[repr(C)]
24882550
#[derive(Debug, Copy, Clone)]
2551+
pub struct __user_cap_header_struct {
2552+
pub version: __u32,
2553+
pub pid: crate::ctypes::c_int,
2554+
}
2555+
pub type cap_user_header_t = *mut __user_cap_header_struct;
2556+
#[repr(C)]
2557+
#[derive(Debug, Copy, Clone)]
2558+
pub struct __user_cap_data_struct {
2559+
pub effective: __u32,
2560+
pub permitted: __u32,
2561+
pub inheritable: __u32,
2562+
}
2563+
pub type cap_user_data_t = *mut __user_cap_data_struct;
2564+
#[repr(C)]
2565+
#[derive(Debug, Copy, Clone)]
2566+
pub struct vfs_cap_data {
2567+
pub magic_etc: __le32,
2568+
pub data: [vfs_cap_data__bindgen_ty_1; 2usize],
2569+
}
2570+
#[repr(C)]
2571+
#[derive(Debug, Copy, Clone)]
2572+
pub struct vfs_cap_data__bindgen_ty_1 {
2573+
pub permitted: __le32,
2574+
pub inheritable: __le32,
2575+
}
2576+
#[repr(C)]
2577+
#[derive(Debug, Copy, Clone)]
2578+
pub struct vfs_ns_cap_data {
2579+
pub magic_etc: __le32,
2580+
pub data: [vfs_ns_cap_data__bindgen_ty_1; 2usize],
2581+
pub rootid: __le32,
2582+
}
2583+
#[repr(C)]
2584+
#[derive(Debug, Copy, Clone)]
2585+
pub struct vfs_ns_cap_data__bindgen_ty_1 {
2586+
pub permitted: __le32,
2587+
pub inheritable: __le32,
2588+
}
2589+
#[repr(C)]
2590+
#[derive(Debug, Copy, Clone)]
24892591
pub struct f_owner_ex {
24902592
pub type_: crate::ctypes::c_int,
24912593
pub pid: __kernel_pid_t,

src/arm/general.rs

Lines changed: 104 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,74 @@ pub const AT_RANDOM: u32 = 25;
166166
pub const AT_HWCAP2: u32 = 26;
167167
pub const AT_EXECFN: u32 = 31;
168168
pub const AT_MINSIGSTKSZ: u32 = 51;
169+
pub const __BITS_PER_LONG: u32 = 32;
170+
pub const __FD_SETSIZE: u32 = 1024;
171+
pub const _LINUX_CAPABILITY_VERSION_1: u32 = 429392688;
172+
pub const _LINUX_CAPABILITY_U32S_1: u32 = 1;
173+
pub const _LINUX_CAPABILITY_VERSION_2: u32 = 537333798;
174+
pub const _LINUX_CAPABILITY_U32S_2: u32 = 2;
175+
pub const _LINUX_CAPABILITY_VERSION_3: u32 = 537396514;
176+
pub const _LINUX_CAPABILITY_U32S_3: u32 = 2;
177+
pub const VFS_CAP_REVISION_MASK: u32 = 4278190080;
178+
pub const VFS_CAP_REVISION_SHIFT: u32 = 24;
179+
pub const VFS_CAP_FLAGS_MASK: i64 = -4278190081;
180+
pub const VFS_CAP_FLAGS_EFFECTIVE: u32 = 1;
181+
pub const VFS_CAP_REVISION_1: u32 = 16777216;
182+
pub const VFS_CAP_U32_1: u32 = 1;
183+
pub const VFS_CAP_REVISION_2: u32 = 33554432;
184+
pub const VFS_CAP_U32_2: u32 = 2;
185+
pub const VFS_CAP_REVISION_3: u32 = 50331648;
186+
pub const VFS_CAP_U32_3: u32 = 2;
187+
pub const VFS_CAP_U32: u32 = 2;
188+
pub const VFS_CAP_REVISION: u32 = 50331648;
189+
pub const _LINUX_CAPABILITY_VERSION: u32 = 429392688;
190+
pub const _LINUX_CAPABILITY_U32S: u32 = 1;
191+
pub const CAP_CHOWN: u32 = 0;
192+
pub const CAP_DAC_OVERRIDE: u32 = 1;
193+
pub const CAP_DAC_READ_SEARCH: u32 = 2;
194+
pub const CAP_FOWNER: u32 = 3;
195+
pub const CAP_FSETID: u32 = 4;
196+
pub const CAP_KILL: u32 = 5;
197+
pub const CAP_SETGID: u32 = 6;
198+
pub const CAP_SETUID: u32 = 7;
199+
pub const CAP_SETPCAP: u32 = 8;
200+
pub const CAP_LINUX_IMMUTABLE: u32 = 9;
201+
pub const CAP_NET_BIND_SERVICE: u32 = 10;
202+
pub const CAP_NET_BROADCAST: u32 = 11;
203+
pub const CAP_NET_ADMIN: u32 = 12;
204+
pub const CAP_NET_RAW: u32 = 13;
205+
pub const CAP_IPC_LOCK: u32 = 14;
206+
pub const CAP_IPC_OWNER: u32 = 15;
207+
pub const CAP_SYS_MODULE: u32 = 16;
208+
pub const CAP_SYS_RAWIO: u32 = 17;
209+
pub const CAP_SYS_CHROOT: u32 = 18;
210+
pub const CAP_SYS_PTRACE: u32 = 19;
211+
pub const CAP_SYS_PACCT: u32 = 20;
212+
pub const CAP_SYS_ADMIN: u32 = 21;
213+
pub const CAP_SYS_BOOT: u32 = 22;
214+
pub const CAP_SYS_NICE: u32 = 23;
215+
pub const CAP_SYS_RESOURCE: u32 = 24;
216+
pub const CAP_SYS_TIME: u32 = 25;
217+
pub const CAP_SYS_TTY_CONFIG: u32 = 26;
218+
pub const CAP_MKNOD: u32 = 27;
219+
pub const CAP_LEASE: u32 = 28;
220+
pub const CAP_AUDIT_WRITE: u32 = 29;
221+
pub const CAP_AUDIT_CONTROL: u32 = 30;
222+
pub const CAP_SETFCAP: u32 = 31;
223+
pub const CAP_MAC_OVERRIDE: u32 = 32;
224+
pub const CAP_MAC_ADMIN: u32 = 33;
225+
pub const CAP_SYSLOG: u32 = 34;
226+
pub const CAP_WAKE_ALARM: u32 = 35;
227+
pub const CAP_BLOCK_SUSPEND: u32 = 36;
228+
pub const CAP_AUDIT_READ: u32 = 37;
229+
pub const CAP_PERFMON: u32 = 38;
230+
pub const CAP_BPF: u32 = 39;
231+
pub const CAP_CHECKPOINT_RESTORE: u32 = 40;
232+
pub const CAP_LAST_CAP: u32 = 40;
169233
pub const O_DIRECTORY: u32 = 16384;
170234
pub const O_NOFOLLOW: u32 = 32768;
171235
pub const O_DIRECT: u32 = 65536;
172236
pub const O_LARGEFILE: u32 = 131072;
173-
pub const __BITS_PER_LONG: u32 = 32;
174-
pub const __FD_SETSIZE: u32 = 1024;
175237
pub const O_ACCMODE: u32 = 3;
176238
pub const O_RDONLY: u32 = 0;
177239
pub const O_WRONLY: u32 = 1;
@@ -2572,6 +2634,46 @@ pub type __wsum = __u32;
25722634
pub type __poll_t = crate::ctypes::c_uint;
25732635
#[repr(C)]
25742636
#[derive(Debug, Copy, Clone)]
2637+
pub struct __user_cap_header_struct {
2638+
pub version: __u32,
2639+
pub pid: crate::ctypes::c_int,
2640+
}
2641+
pub type cap_user_header_t = *mut __user_cap_header_struct;
2642+
#[repr(C)]
2643+
#[derive(Debug, Copy, Clone)]
2644+
pub struct __user_cap_data_struct {
2645+
pub effective: __u32,
2646+
pub permitted: __u32,
2647+
pub inheritable: __u32,
2648+
}
2649+
pub type cap_user_data_t = *mut __user_cap_data_struct;
2650+
#[repr(C)]
2651+
#[derive(Debug, Copy, Clone)]
2652+
pub struct vfs_cap_data {
2653+
pub magic_etc: __le32,
2654+
pub data: [vfs_cap_data__bindgen_ty_1; 2usize],
2655+
}
2656+
#[repr(C)]
2657+
#[derive(Debug, Copy, Clone)]
2658+
pub struct vfs_cap_data__bindgen_ty_1 {
2659+
pub permitted: __le32,
2660+
pub inheritable: __le32,
2661+
}
2662+
#[repr(C)]
2663+
#[derive(Debug, Copy, Clone)]
2664+
pub struct vfs_ns_cap_data {
2665+
pub magic_etc: __le32,
2666+
pub data: [vfs_ns_cap_data__bindgen_ty_1; 2usize],
2667+
pub rootid: __le32,
2668+
}
2669+
#[repr(C)]
2670+
#[derive(Debug, Copy, Clone)]
2671+
pub struct vfs_ns_cap_data__bindgen_ty_1 {
2672+
pub permitted: __le32,
2673+
pub inheritable: __le32,
2674+
}
2675+
#[repr(C)]
2676+
#[derive(Debug, Copy, Clone)]
25752677
pub struct f_owner_ex {
25762678
pub type_: crate::ctypes::c_int,
25772679
pub pid: __kernel_pid_t,

0 commit comments

Comments
 (0)