1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 ****************************************************************************
11 ****************************************************************************/
12 #ifndef __LINUX_COMPLETION_H
13 #define __LINUX_COMPLETION_H
15 #include <linux/wait.h>
19 wait_queue_head_t wait;
22 #define COMPLETION_INITIALIZER(work) { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
24 #define COMPLETION_INITIALIZER_ONSTACK(work) ({ init_completion(&work); work; })
26 #define DECLARE_COMPLETION(work) struct completion work = COMPLETION_INITIALIZER(work)
28 #define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)
30 #define INIT_COMPLETION(x) ((x).done = 0)