IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


hid_init(3)

NAME

     usbhid, hid_get_report_desc, hid_use_report_desc,
     hid_dispose_report_desc, hid_start_parse, hid_end_parse, hid_get_item,
     hid_report_size, hid_locate, hid_usage_page, hid_usage_in_page, hid_init,
     hid_get_data, hid_set_data -- USB HID access routines


LIBRARY

     USB Human Interface Devices Library (libusbhid, -lusbhid)


SYNOPSIS

     #include <usbhid.h>

     report_desc_t
     hid_get_report_desc(int file);

     report_desc_t
     hid_use_report_desc(unsigned char *data, unsigned int size);

     void
     hid_dispose_report_desc(report_desc_t d);

     hid_data_t
     hid_start_parse(report_desc_t d, int kindset, int id);

     void
     hid_end_parse(hid_data_t s);

     int
     hid_get_item(hid_data_t s, hid_item_t *h);

     int
     hid_report_size(report_desc_t d, hid_kind_t k, int id);

     int
     hid_locate(report_desc_t d, u_int usage, hid_kind_t k, hid_item_t *h,
	 int id);

     char *
     hid_usage_page(int i);

     char *
     hid_usage_in_page(u_int u);

     int
     hid_parse_usage_page(const char *);

     char *
     hid_parse_usage_in_page(const char *);

     void
     hid_init(char *file);

     int
     hid_get_data(void *data, hid_item_t *h);

     void
     hid_set_data(void *data, hid_item_t *h, u_int data);
     descriptor which contains the data layout information and then use this
     information.

     The routines can be divided into four parts: extraction of the descrip-
     tor, parsing of the descriptor, translating to/from symbolic names, and
     data manipulation.

   Descriptor Functions
     A report descriptor can be obtained by calling hid_get_report_desc() with
     a file descriptor obtained by opening a uhid(4) device.  Alternatively a
     data buffer containing the report descriptor can be passed into
     hid_use_report_desc().  The data is copied into an internal structure.
     When the report descriptor is no longer needed it should be freed by
     calling hid_dispose_report_desc().  The type report_desc_t is opaque and
     should be used when calling the parsing functions.  If
     hid_dispose_report_desc() fails it will return NULL.

   Descriptor Parsing Functions
     To parse the report descriptor the hid_start_parse() function should be
     called with a report descriptor and a set that describes which items that
     are interesting.  The set is obtained by OR-ing together values (1 << k)
     where k is an item of type hid_kind_t.  The report ID (if present) is
     given by id.  The function returns NULL if the initialization fails, oth-
     erwise an opaque value to be used in subsequent calls.  After parsing the
     hid_end_parse() function should be called to free internal data struc-
     tures.

     To iterate through all the items in the report descriptor hid_get_item()
     should be called while it returns a value greater than 0.	When the
     report descriptor ends it will returns 0; a syntax error within the
     report descriptor will cause a return value less than 0.  The struct
     pointed to by h will be filled with the relevant data for the item.  The
     definition of hid_item_t can be found in <usbhid.h> and the meaning of
     the components in the USB HID documentation.

     Data should be read/written to the device in the size of the report.  The
     size of a report (of a certain kind) can be computed by the
     hid_report_size() function.  If the report is prefixed by an ID byte it
     is given by id.

     To locate a single item the hid_locate() function can be used.  It should
     be given the usage code of the item and its kind and it will fill the
     item and return non-zero if the item was found.

   Name Translation Functions
     The function hid_usage_page() will return the symbolic name of a usage
     page, and the function hid_usage_in_page() will return the symbolic name
     of the usage within the page.  Both these functions may return a pointer
     to static data.

     The functions hid_parse_usage_page() and hid_parse_usage_in_page() are
     the inverses of hid_usage_page() and hid_usage_in_page().	They take a
     usage string and return the number of the usage, or -1 if it cannot be
     found.

     Before any of these functions can be called the usage table must be
     parsed, this is done by calling hid_init() with the name of the table.
     Passing NULL to this function will cause it to use the default table.
     Not yet.


FILES

     /usr/share/misc/usb_hid_usages  The default HID usage table.


BUGS

     This man page is woefully incomplete.


SEE ALSO

     The USB specifications can be found at
     http://www.usb.org/developers/docs/.

     uhid(4), usb(4)


HISTORY

     The usbhid library first appeared in NetBSD 1.5.

FreeBSD 5.4		       December 29, 2001		   FreeBSD 5.4

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk