5 * User-space I/O driver support for HID subsystem
6 * Copyright (c) 2012 David Herrmann
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the Free
12 * Software Foundation; either version 2 of the License, or (at your option)
17 * Public header for user-space communication. We try to keep every structure
18 * aligned but to be safe we also use __attribute__((__packed__)). Therefore,
19 * the communication should be ABI compatible even between architectures.
22 #include <linux/input.h>
23 #include <linux/types.h>
25 enum uhid_event_type {
36 struct uhid_create_req {
48 } __attribute__((__packed__));
50 #define UHID_DATA_MAX 4096
52 struct uhid_input_req {
53 __u8 data[UHID_DATA_MAX];
55 } __attribute__((__packed__));
57 struct uhid_output_ev_req {
61 } __attribute__((__packed__));
67 struct uhid_create_req create;
68 struct uhid_input_req input;
69 struct uhid_output_ev_req output_ev;
71 } __attribute__((__packed__));
73 #endif /* __UHID_H_ */