Changes in uspace/lib/usb/include/usb/classes/hidparser.h [da3965e:d972534] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/classes/hidparser.h
rda3965e rd972534 37 37 38 38 #include <stdint.h> 39 #include <adt/list.h>40 #include <usb/classes/hid_report_items.h>41 42 /**43 * Item prefix44 */45 #define USB_HID_ITEM_SIZE(data) ((uint8_t)(data & 0x3))46 #define USB_HID_ITEM_TAG(data) ((uint8_t)((data & 0xF0) >> 4))47 #define USB_HID_ITEM_TAG_CLASS(data) ((uint8_t)((data & 0xC) >> 2))48 #define USB_HID_ITEM_IS_LONG(data) (data == 0xFE)49 50 51 /**52 * Input/Output/Feature Item flags53 */54 #define USB_HID_ITEM_FLAG_CONSTANT(flags) (flags & 0x1)55 #define USB_HID_ITEM_FLAG_VARIABLE(flags) (flags & 0x2)56 #define USB_HID_ITEM_FLAG_RELATIVE(flags) (flags & 0x4)57 #define USB_HID_ITEM_FLAG_WRAP(flags) (flags & 0x8)58 #define USB_HID_ITEM_FLAG_LINEAR(flags) (flags & 0x10)59 #define USB_HID_ITEM_FLAG_PREFERRED(flags) (flags & 0x20)60 #define USB_HID_ITEM_FLAG_POSITION(flags) (flags & 0x40)61 #define USB_HID_ITEM_FLAG_VOLATILE(flags) (flags & 0x80)62 #define USB_HID_ITEM_FLAG_BUFFERED(flags) (flags & 0x100)63 64 39 65 40 /** … … 67 42 */ 68 43 typedef struct { 69 int32_t id;70 int32_t usage_page;71 int32_t usage;72 int32_t usage_minimum;73 int32_t usage_maximum;74 int32_t logical_minimum;75 int32_t logical_maximum;76 int32_t size;77 int32_t count;78 int32_t offset;79 44 80 int32_t unit_exponent; 81 int32_t unit; 45 uint8_t usage_min; 46 uint8_t usage_max; 47 uint8_t logical_min; 48 uint8_t logical_max; 49 uint8_t size; 50 uint8_t count; 51 uint8_t offset; 82 52 83 /*84 * some not yet used fields85 */86 int32_t string_index;87 int32_t string_minimum;88 int32_t string_maximum;89 int32_t designator_index;90 int32_t designator_minimum;91 int32_t designator_maximum;92 int32_t physical_minimum;93 int32_t physical_maximum;94 95 uint8_t item_flags;96 97 link_t link;98 53 } usb_hid_report_item_t; 99 54 100 55 101 56 /** HID report parser structure. */ 102 typedef struct { 103 link_t input; 104 link_t output; 105 link_t feature; 106 } usb_hid_report_parser_t; 107 57 typedef struct { 58 } usb_hid_report_parser_t; 108 59 109 60 … … 176 127 int usb_hid_boot_keyboard_output_report(uint8_t leds, uint8_t *data, size_t size); 177 128 178 int usb_hid_parser_init(usb_hid_report_parser_t *parser);179 129 int usb_hid_parse_report_descriptor(usb_hid_report_parser_t *parser, 180 130 const uint8_t *data, size_t size); … … 185 135 186 136 187 void usb_hid_free_report_parser(usb_hid_report_parser_t *parser); 188 189 void usb_hid_descriptor_print(usb_hid_report_parser_t *parser); 137 int usb_hid_free_report_parser(usb_hid_report_parser_t *parser); 190 138 191 139 #endif
Note:
See TracChangeset
for help on using the changeset viewer.