This source file includes following definitions.
- hidraw_init
- hidraw_exit
- hidraw_report_event
- hidraw_connect
- hidraw_disconnect
1
2
3
4
5 #ifndef _HIDRAW_H
6 #define _HIDRAW_H
7
8 #include <uapi/linux/hidraw.h>
9
10
11 struct hidraw {
12 unsigned int minor;
13 int exist;
14 int open;
15 wait_queue_head_t wait;
16 struct hid_device *hid;
17 struct device *dev;
18 spinlock_t list_lock;
19 struct list_head list;
20 };
21
22 struct hidraw_report {
23 __u8 *value;
24 int len;
25 };
26
27 struct hidraw_list {
28 struct hidraw_report buffer[HIDRAW_BUFFER_SIZE];
29 int head;
30 int tail;
31 struct fasync_struct *fasync;
32 struct hidraw *hidraw;
33 struct list_head node;
34 struct mutex read_mutex;
35 };
36
37 #ifdef CONFIG_HIDRAW
38 int hidraw_init(void);
39 void hidraw_exit(void);
40 int hidraw_report_event(struct hid_device *, u8 *, int);
41 int hidraw_connect(struct hid_device *);
42 void hidraw_disconnect(struct hid_device *);
43 #else
44 static inline int hidraw_init(void) { return 0; }
45 static inline void hidraw_exit(void) { }
46 static inline int hidraw_report_event(struct hid_device *hid, u8 *data, int len) { return 0; }
47 static inline int hidraw_connect(struct hid_device *hid) { return -1; }
48 static inline void hidraw_disconnect(struct hid_device *hid) { }
49 #endif
50
51 #endif