1// SPDX-License-Identifier: GPL-2.0-only
2#ifndef LINUX_WAITID_H
3#define LINUX_WAITID_H
4
5struct waitid_info {
6 pid_t pid;
7 uid_t uid;
8 int status;
9 int cause;
10};
11
12struct wait_opts {
13 enum pid_type wo_type;
14 int wo_flags;
15 struct pid *wo_pid;
16
17 struct waitid_info *wo_info;
18 int wo_stat;
19 struct rusage *wo_rusage;
20
21 wait_queue_entry_t child_wait;
22 int notask_error;
23};
24
25bool pid_child_should_wake(struct wait_opts *wo, struct task_struct *p);
26long __do_wait(struct wait_opts *wo);
27int kernel_waitid_prepare(struct wait_opts *wo, int which, pid_t upid,
28 struct waitid_info *infop, int options,
29 struct rusage *ru);
30#endif
31

source code of linux/kernel/exit.h