@@ -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 {
@@ -3192,6 +3211,35 @@ pub const MREMAP_MAYMOVE: c_int = 1;
31923211pub const MREMAP_FIXED : c_int = 2 ;
31933212pub const MREMAP_DONTUNMAP : c_int = 4 ;
31943213
3214+ // linux/pidfd.h
3215+ pub const PIDFD_NONBLOCK : c_uint = O_NONBLOCK as c_uint ;
3216+ pub const PIDFD_THREAD : c_uint = O_EXCL as c_uint ;
3217+
3218+ pub const PIDFD_SIGNAL_THREAD : c_uint = 1 << 0 ;
3219+ pub const PIDFD_SIGNAL_THREAD_GROUP : c_uint = 1 << 1 ;
3220+ pub const PIDFD_SIGNAL_PROCESS_GROUP : c_uint = 1 << 2 ;
3221+
3222+ pub const PIDFD_INFO_PID : c_uint = 1 << 0 ;
3223+ pub const PIDFD_INFO_CREDS : c_uint = 1 << 1 ;
3224+ pub const PIDFD_INFO_CGROUPID : c_uint = 1 << 2 ;
3225+ pub const PIDFD_INFO_EXIT : c_uint = 1 << 3 ;
3226+
3227+ pub const PIDFD_INFO_SIZE_VER0 : c_uint = 64 ;
3228+
3229+ const PIDFS_IOCTL_MAGIC : c_uint = 0xFF ;
3230+ pub const PIDFD_GET_CGROUP_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 1 ) ;
3231+ pub const PIDFD_GET_IPC_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 2 ) ;
3232+ pub const PIDFD_GET_MNT_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 3 ) ;
3233+ pub const PIDFD_GET_NET_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 4 ) ;
3234+ pub const PIDFD_GET_PID_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 5 ) ;
3235+ pub const PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 6 ) ;
3236+ pub const PIDFD_GET_TIME_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 7 ) ;
3237+ pub const PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 8 ) ;
3238+ pub const PIDFD_GET_USER_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 9 ) ;
3239+ pub const PIDFD_GET_UTS_NAMESPACE : c_uint = _IO ( PIDFS_IOCTL_MAGIC , 10 ) ;
3240+ pub const PIDFD_GET_INFO : c_uint = _IOWR :: < pidfd_info > ( PIDFS_IOCTL_MAGIC , 11 ) ;
3241+
3242+ // linux/prctl.h
31953243pub const PR_SET_PDEATHSIG : c_int = 1 ;
31963244pub const PR_GET_PDEATHSIG : c_int = 2 ;
31973245
0 commit comments