Go to the documentation of this file. 1 #ifndef __LINUX_COMPLETION_H
2 #define __LINUX_COMPLETION_H
11 #include <linux/wait.h>
30 #define COMPLETION_INITIALIZER(work) \
31 { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
33 #define COMPLETION_INITIALIZER_ONSTACK(work) \
34 ({ init_completion(&work); work; })
44 #define DECLARE_COMPLETION(work) \
45 struct completion work = COMPLETION_INITIALIZER(work)
60 # define DECLARE_COMPLETION_ONSTACK(work) \
61 struct completion work = COMPLETION_INITIALIZER_ONSTACK(work)
63 # define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)
73 static inline void init_completion(
struct completion *
x)
83 unsigned long timeout);
101 #define INIT_COMPLETION(x) ((x).done = 0)