@@ -1376,6 +1376,25 @@ s! {
13761376 pub userns_fd: crate :: __u64,
13771377 }
13781378
1379+ // linux/pidfd.h
1380+
1381+ pub struct pidfd_info {
1382+ mask: crate :: __u64,
1383+ cgroupid: crate :: __u64,
1384+ pid: crate :: __u32,
1385+ tgid: crate :: __u32,
1386+ ppid: crate :: __u32,
1387+ ruid: crate :: __u32,
1388+ rgid: crate :: __u32,
1389+ euid: crate :: __u32,
1390+ egid: crate :: __u32,
1391+ suid: crate :: __u32,
1392+ sgid: crate :: __u32,
1393+ fsuid: crate :: __u32,
1394+ fsgid: crate :: __u32,
1395+ exit_code: crate :: __s32,
1396+ }
1397+
13791398 // linux/uio.h
13801399
13811400 pub struct dmabuf_cmsg {
@@ -3153,6 +3172,35 @@ pub const MREMAP_MAYMOVE: c_int = 1;
31533172pub const MREMAP_FIXED : c_int = 2 ;
31543173pub const MREMAP_DONTUNMAP : c_int = 4 ;
31553174
3175+ // linux/pidfd.h
3176+ pub const PIDFD_NONBLOCK : c_uint = O_NONBLOCK as c_uint ;
3177+ pub const PIDFD_THREAD : c_uint = O_EXCL as c_uint ;
3178+
3179+ pub const PIDFD_SIGNAL_THREAD : c_uint = 1 << 0 ;
3180+ pub const PIDFD_SIGNAL_THREAD_GROUP : c_uint = 1 << 1 ;
3181+ pub const PIDFD_SIGNAL_PROCESS_GROUP : c_uint = 1 << 2 ;
3182+
3183+ pub const PIDFD_INFO_PID : c_uint = 1 << 0 ;
3184+ pub const PIDFD_INFO_CREDS : c_uint = 1 << 1 ;
3185+ pub const PIDFD_INFO_CGROUPID : c_uint = 1 << 2 ;
3186+ pub const PIDFD_INFO_EXIT : c_uint = 1 << 3 ;
3187+
3188+ pub const PIDFD_INFO_SIZE_VER0 : c_uint = 64 ;
3189+
3190+ const PIDFS_IOCTL_MAGIC : c_uint = 0xFF ;
3191+ pub const PIDFD_GET_CGROUP_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 1 ) ;
3192+ pub const PIDFD_GET_IPC_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 2 ) ;
3193+ pub const PIDFD_GET_MNT_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 3 ) ;
3194+ pub const PIDFD_GET_NET_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 4 ) ;
3195+ pub const PIDFD_GET_PID_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 5 ) ;
3196+ pub const PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 6 ) ;
3197+ pub const PIDFD_GET_TIME_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 7 ) ;
3198+ pub const PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 8 ) ;
3199+ pub const PIDFD_GET_USER_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 9 ) ;
3200+ pub const PIDFD_GET_UTS_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 10 ) ;
3201+ pub const PIDFD_GET_INFO : c_uint = _IOWR :: < pidfd_info > ( PIDFS_IOCTL_MAGIC , 11 ) ;
3202+
3203+ // linux/prctl.h
31563204pub const PR_SET_PDEATHSIG : c_int = 1 ;
31573205pub const PR_GET_PDEATHSIG : c_int = 2 ;
31583206
0 commit comments