Changes in uspace/lib/usb/include/usb/classes/hidparser.h [3de529c:d972534] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/classes/hidparser.h
r3de529c 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 size_t offset;79 int32_t delimiter;80 44 81 int32_t unit_exponent; 82 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; 83 52 84 /*85 * some not yet used fields86 */87 int32_t string_index;88 int32_t string_minimum;89 int32_t string_maximum;90 int32_t designator_index;91 int32_t designator_minimum;92 int32_t designator_maximum;93 int32_t physical_minimum;94 int32_t physical_maximum;95 96 uint8_t item_flags;97 98 link_t link;99 53 } usb_hid_report_item_t; 100 54 101 55 102 56 /** HID report parser structure. */ 103 typedef struct { 104 link_t input; 105 link_t output; 106 link_t feature; 107 } usb_hid_report_parser_t; 108 57 typedef struct { 58 } usb_hid_report_parser_t; 109 59 110 60 … … 177 127 int usb_hid_boot_keyboard_output_report(uint8_t leds, uint8_t *data, size_t size); 178 128 179 int usb_hid_parser_init(usb_hid_report_parser_t *parser);180 129 int usb_hid_parse_report_descriptor(usb_hid_report_parser_t *parser, 181 130 const uint8_t *data, size_t size); … … 186 135 187 136 188 void usb_hid_free_report_parser(usb_hid_report_parser_t *parser); 189 190 void usb_hid_descriptor_print(usb_hid_report_parser_t *parser); 137 int usb_hid_free_report_parser(usb_hid_report_parser_t *parser); 191 138 192 139 #endif
Note:
See TracChangeset
for help on using the changeset viewer.