Linux Kernel input evdev

来源:互联网 发布:js设计模式划分 编辑:程序博客网 时间:2024/04/25 21:16
struct evdev {int open;struct input_handle handle;wait_queue_head_t wait;struct evdev_client __rcu *grab;struct list_head client_list;spinlock_t client_lock; /* protects client_list */struct mutex mutex;struct device dev;struct cdev cdev;bool exist;};
struct evdev_client {unsigned int head;unsigned int tail;unsigned int packet_head; /* [future] position of the first element of next packet */spinlock_t buffer_lock; /* protects access to buffer, head and tail */struct fasync_struct *fasync;struct evdev *evdev;struct list_head node;unsigned int clk_type;bool revoked;unsigned long *evmasks[EV_CNT];unsigned int bufsize;struct input_event buffer[];};
                                             
0 0