1 // SPDX-License-Identifier: GPL-2.0-only 2 #ifndef LINUX_WAITID_H 3 #define LINUX_WAITID_H 4 5 struct waitid_info { 6 pid_t pid; 7 uid_t uid; 8 int status; 9 int cause; 10 }; 11 12 struct 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 25 bool pid_child_should_wake(struct wait_opts *wo, struct task_struct *p); 26 long __do_wait(struct wait_opts *wo); 27 int 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