linux/include/uapi/linux/hidraw.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2/*
   3 *  Copyright (c) 2007 Jiri Kosina
   4 */
   5/*
   6 * This program is free software; you can redistribute it and/or modify it
   7 * under the terms and conditions of the GNU General Public License,
   8 * version 2, as published by the Free Software Foundation.
   9 *
  10 * You should have received a copy of the GNU General Public License along with
  11 * this program; if not, write to the Free Software Foundation, Inc.,
  12 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
  13 */
  14#ifndef _UAPI_HIDRAW_H
  15#define _UAPI_HIDRAW_H
  16
  17
  18
  19#include <linux/hid.h>
  20#include <linux/types.h>
  21
  22struct hidraw_report_descriptor {
  23        __u32 size;
  24        __u8 value[HID_MAX_DESCRIPTOR_SIZE];
  25};
  26
  27struct hidraw_devinfo {
  28        __u32 bustype;
  29        __s16 vendor;
  30        __s16 product;
  31};
  32
  33/* ioctl interface */
  34#define HIDIOCGRDESCSIZE        _IOR('H', 0x01, int)
  35#define HIDIOCGRDESC            _IOR('H', 0x02, struct hidraw_report_descriptor)
  36#define HIDIOCGRAWINFO          _IOR('H', 0x03, struct hidraw_devinfo)
  37#define HIDIOCGRAWNAME(len)     _IOC(_IOC_READ, 'H', 0x04, len)
  38#define HIDIOCGRAWPHYS(len)     _IOC(_IOC_READ, 'H', 0x05, len)
  39/* The first byte of SFEATURE and GFEATURE is the report number */
  40#define HIDIOCSFEATURE(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len)
  41#define HIDIOCGFEATURE(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len)
  42#define HIDIOCGRAWUNIQ(len)     _IOC(_IOC_READ, 'H', 0x08, len)
  43/* The first byte of SINPUT and GINPUT is the report number */
  44#define HIDIOCSINPUT(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x09, len)
  45#define HIDIOCGINPUT(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0A, len)
  46/* The first byte of SOUTPUT and GOUTPUT is the report number */
  47#define HIDIOCSOUTPUT(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0B, len)
  48#define HIDIOCGOUTPUT(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x0C, len)
  49
  50#define HIDRAW_FIRST_MINOR 0
  51#define HIDRAW_MAX_DEVICES 64
  52/* number of reports to buffer */
  53#define HIDRAW_BUFFER_SIZE 64
  54
  55
  56/* kernel-only API declarations */
  57
  58#endif /* _UAPI_HIDRAW_H */
  59