| 1 |
|
| 2 | |
| 3 | * Copyright (c) 1999-2000 Vojtech Pavlik
|
| 4 | *
|
| 5 | * Sponsored by SuSE
|
| 6 |
|
| 7 | |
| 8 | *
|
| 9 | * Should you need to contact me, the author, you can do so either by
|
| 10 | * e-mail - mail your message to <[email protected]>, or by paper mail:
|
| 11 | * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
|
| 12 |
|
| 13 | #ifndef _HIDDEV_H
|
| 14 | #define _HIDDEV_H
|
| 15 |
|
| 16 | #include <uapi/linux/hiddev.h>
|
| 17 |
|
| 18 |
|
| 19 | |
| 20 | * In-kernel definitions.
|
| 21 |
|
| 22 |
|
| 23 | struct hiddev {
|
| 24 | int minor;
|
| 25 | int exist;
|
| 26 | int open;
|
| 27 | struct mutex existancelock;
|
| 28 | wait_queue_head_t wait;
|
| 29 | struct hid_device *hid;
|
| 30 | struct list_head list;
|
| 31 | spinlock_t list_lock;
|
| 32 | bool initialized;
|
| 33 | };
|
| 34 |
|
| 35 | struct hid_device;
|
| 36 | struct hid_usage;
|
| 37 | struct hid_field;
|
| 38 | struct hid_report;
|
| 39 |
|
| 40 | #ifdef CONFIG_USB_HIDDEV
|
| 41 | int hiddev_connect(struct hid_device *hid, unsigned int force);
|
| 42 | void hiddev_disconnect(struct hid_device *);
|
| 43 | void hiddev_hid_event(struct hid_device *hid, struct hid_field *field,
|
| 44 | struct hid_usage *usage, __s32 value);
|
| 45 | void hiddev_report_event(struct hid_device *hid, struct hid_report *report);
|
| 46 | #else
|
| 47 | static inline int hiddev_connect(struct hid_device *hid,
|
| 48 | unsigned int force)
|
| 49 | { return -1; }
|
| 50 | static inline void hiddev_disconnect(struct hid_device *hid) { }
|
| 51 | static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field,
|
| 52 | struct hid_usage *usage, __s32 value) { }
|
| 53 | static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { }
|
| 54 | #endif
|
| 55 |
|
| 56 | #endif
|