| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | |
| /* | |
| * Copyright (c) 2007 Jiri Kosina | |
| */ | |
| /* | |
| * This program is free software; you can redistribute it and/or modify it | |
| * under the terms and conditions of the GNU General Public License, | |
| * version 2, as published by the Free Software Foundation. | |
| * | |
| * You should have received a copy of the GNU General Public License along with | |
| * this program; if not, write to the Free Software Foundation, Inc., | |
| * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. | |
| */ | |
| #ifndef _UAPI_HIDRAW_H | |
| #define _UAPI_HIDRAW_H | |
| #include <linux/hid.h> | |
| #include <linux/types.h> | |
| struct hidraw_report_descriptor { | |
| __u32 size; | |
| __u8 value[HID_MAX_DESCRIPTOR_SIZE]; | |
| }; | |
| struct hidraw_devinfo { | |
| __u32 bustype; | |
| __s16 vendor; | |
| __s16 product; | |
| }; | |
| /* ioctl interface */ | |
| #define HIDIOCGRDESCSIZE _IOR('H', 0x01, int) | |
| #define HIDIOCGRDESC _IOR('H', 0x02, struct hidraw_report_descriptor) | |
| #define HIDIOCGRAWINFO _IOR('H', 0x03, struct hidraw_devinfo) | |
| #define HIDIOCGRAWNAME(len) _IOC(_IOC_READ, 'H', 0x04, len) | |
| #define HIDIOCGRAWPHYS(len) _IOC(_IOC_READ, 'H', 0x05, len) | |
| /* The first byte of SFEATURE and GFEATURE is the report number */ | |
| #define HIDIOCSFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len) | |
| #define HIDIOCGFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len) | |
| #define HIDIOCGRAWUNIQ(len) _IOC(_IOC_READ, 'H', 0x08, len) | |
| /* The first byte of SINPUT and GINPUT is the report number */ | |
| #define HIDIOCSINPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x09, len) | |
| #define HIDIOCGINPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0A, len) | |
| /* The first byte of SOUTPUT and GOUTPUT is the report number */ | |
| #define HIDIOCSOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0B, len) | |
| #define HIDIOCGOUTPUT(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len) | |
| #define HIDRAW_FIRST_MINOR 0 | |
| #define HIDRAW_MAX_DEVICES 64 | |
| /* number of reports to buffer */ | |
| #define HIDRAW_BUFFER_SIZE 64 | |
| /* kernel-only API declarations */ | |
| #endif /* _UAPI_HIDRAW_H */ |