linux-headers (unknown)

(root)/
include/
linux/
hidraw.h
       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 _HIDRAW_H
      15  #define _HIDRAW_H
      16  
      17  
      18  
      19  #include <linux/hid.h>
      20  #include <linux/types.h>
      21  
      22  struct hidraw_report_descriptor {
      23  	__u32 size;
      24  	__u8 value[HID_MAX_DESCRIPTOR_SIZE];
      25  };
      26  
      27  struct 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 /* _HIDRAW_H */