Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      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.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef _LINUX_KLIST_H
     13 #define _LINUX_KLIST_H
     14 
     15 #include <linux/spinlock.h>
     16 #include <linux/completion.h>
     17 #include <linux/kref.h>
     18 #include <linux/list.h>
     19 
     20 struct klist_node;
     21 struct klist {
     22  spinlock_t k_lock;
     23  struct list_head k_list;
     24  void (*get)(struct klist_node *);
     25  void (*put)(struct klist_node *);
     26 };
     27 
     28 struct klist_node {
     29  struct klist * n_klist;
     30  struct list_head n_node;
     31  struct kref n_ref;
     32  struct completion n_removed;
     33 };
     34 
     35 struct klist_iter {
     36  struct klist * i_klist;
     37  struct list_head * i_head;
     38  struct klist_node * i_cur;
     39 };
     40 
     41 #endif
     42