FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

uhid - USB generic HID support

 

NAME

      uhid - USB generic HID support
 

SYNOPSIS

      To compile this driver into the kernel, place the following line in your
      kernel configuration file:
 
            device uhid
 
      Alternatively, to load the driver as a module at boot time, place the
      following line in loader.conf(5):
 
            uhid_load="YES"
 

DESCRIPTION

      The uhid driver provides support for all HID (Human Interface Device)
      interfaces in USB devices that do not have a special driver.
 
      The device handles the following ioctl(2) calls:
 
      USB_GET_REPORT_ID (int)
              Get the report identifier used by this HID report.
 
      USB_GET_REPORT_DESC (struct usb_ctl_report_desc)
              Get the HID report descriptor.  Using this descriptor the exact
              layout and meaning of data to/from the device can be found.  The
              report descriptor is delivered without any processing.
 
              struct usb_ctl_report_desc {
                  int     ucrd_size;
                  u_char  ucrd_data[1024];    /* filled data size will vary */
              };
 
      USB_SET_IMMED (int)
              Sets the device in a mode where each read(2) will return the cur‐
              rent value of the input report.  Normally a read(2) will only
              return the data that the device reports on its interrupt pipe.
              This call may fail if the device does not support this feature.
 
      USB_GET_REPORT (struct usb_ctl_report)
              Get a report from the device without waiting for data on the
              interrupt pipe.  The report field indicates which report is
              requested.  It should be UHID_INPUT_REPORT, UHID_OUTPUT_REPORT,
              or UHID_FEATURE_REPORT.  This call may fail if the device does
              not support this feature.
 
              struct usb_ctl_report {
                      int ucr_report;
                      u_char  ucr_data[1024]; /* used data size will vary */
              };
 
      USB_SET_REPORT (struct usb_ctl_report)
              Set a report in the device.  The report field indicates which
              report is to be set.  It should be UHID_INPUT_REPORT,
              UHID_OUTPUT_REPORT, or UHID_FEATURE_REPORT.  This call may fail
              if the device does not support this feature.
 
      Use read(2) to get data from the device.  Data should be read in chunks
      of the size prescribed by the report descriptor.
 
      Use write(2) to send data to the device.  Data should be written in
      chunks of the size prescribed by the report descriptor.
 

FILES

      /dev/uhid?
      usbhidctl(1), usb(4)
 

HISTORY

      The uhid driver appeared in NetBSD 1.4.  This manual page was adopted
      from NetBSD by Tom Rhodes 〈trhodes@FreeBSD.org〉 in April 2002.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.