I found this arcane construct inside include/linux/wait.h
 #define DEFINE_WAIT_FUNC(name, function)                                \
        wait_queue_t name = {                                            \
                 .private        = current,                              \
                 .func           = function,                             \
                 .task_list      = LIST_HEAD_INIT((name).task_list),     \
        }
I know good amount on macros and preproc directives in general, but I am absolutely lost on this one. Can someone please explain the above code structure in detail including the '\' at the end of the line. Thanks.
Note: I dont need to know what it does in linux, only the syntactic meaning behind it.
 
     
     
     
    