Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/include/usb/classes/hidparser.h

    r3de529c rd972534  
    3737
    3838#include <stdint.h>
    39 #include <adt/list.h>
    40 #include <usb/classes/hid_report_items.h>
    41 
    42 /**
    43  * Item prefix
    44  */
    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 flags
    53  */
    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 
    6439
    6540/**
     
    6742 */
    6843typedef 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;
    8044
    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;
    8352
    84         /*
    85          * some not yet used fields
    86          */
    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;
    9953} usb_hid_report_item_t;
    10054
    10155
    10256/** 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 
     57typedef struct {
     58} usb_hid_report_parser_t;
    10959
    11060
     
    177127int usb_hid_boot_keyboard_output_report(uint8_t leds, uint8_t *data, size_t size);
    178128
    179 int usb_hid_parser_init(usb_hid_report_parser_t *parser);
    180129int usb_hid_parse_report_descriptor(usb_hid_report_parser_t *parser,
    181130    const uint8_t *data, size_t size);
     
    186135
    187136
    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);
     137int usb_hid_free_report_parser(usb_hid_report_parser_t *parser);
    191138
    192139#endif
Note: See TracChangeset for help on using the changeset viewer.