@@ -1376,6 +1376,25 @@ s! {
1376
1376
pub userns_fd: crate :: __u64,
1377
1377
}
1378
1378
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
+
1379
1398
// linux/uio.h
1380
1399
1381
1400
pub struct dmabuf_cmsg {
@@ -3153,6 +3172,35 @@ pub const MREMAP_MAYMOVE: c_int = 1;
3153
3172
pub const MREMAP_FIXED : c_int = 2 ;
3154
3173
pub const MREMAP_DONTUNMAP : c_int = 4 ;
3155
3174
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
3156
3204
pub const PR_SET_PDEATHSIG : c_int = 1 ;
3157
3205
pub const PR_GET_PDEATHSIG : c_int = 2 ;
3158
3206
0 commit comments