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