Changeset 095b2017 in mainline for uspace/lib/usb/include
- Timestamp:
- 2011-03-25T17:13:02Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b8d453ec, fa3de85
- Parents:
- da88eb82 (diff), da3dafc (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/lib/usb/include/usb
- Files:
-
- 2 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/classes/hidparser.h
rda88eb82 r095b2017 70 70 * Description of path of usage pages and usages in report descriptor 71 71 */ 72 #define USB_HID_PATH_COMPARE_STRICT 0 73 #define USB_HID_PATH_COMPARE_END 1 74 #define USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY 4 75 72 76 typedef struct { 73 77 int32_t usage_page; 78 int32_t usage; 79 80 link_t link; 81 } usb_hid_report_usage_path_t; 82 83 typedef struct { 84 int depth; 85 link_t link; 74 86 } usb_hid_report_path_t; 75 87 … … 79 91 typedef struct { 80 92 int32_t id; 81 int32_t usage_page;82 int32_t usage;83 93 int32_t usage_minimum; 84 94 int32_t usage_maximum; … … 107 117 uint8_t item_flags; 108 118 119 usb_hid_report_path_t *usage_path; 109 120 link_t link; 110 121 } usb_hid_report_item_t; … … 117 128 link_t feature; 118 129 } usb_hid_report_parser_t; 119 120 130 121 131 … … 194 204 int usb_hid_parse_report(const usb_hid_report_parser_t *parser, 195 205 const uint8_t *data, size_t size, 206 usb_hid_report_path_t *path, int flags, 196 207 const usb_hid_report_in_callbacks_t *callbacks, void *arg); 197 208 198 209 int usb_hid_report_input_length(const usb_hid_report_parser_t *parser, 199 const usb_hid_report_path_t *path);210 usb_hid_report_path_t *path, int flags); 200 211 201 212 … … 204 215 void usb_hid_descriptor_print(usb_hid_report_parser_t *parser); 205 216 217 /* usage path functions */ 218 usb_hid_report_path_t *usb_hid_report_path(void); 219 void usb_hid_report_path_free(usb_hid_report_path_t *path); 220 int usb_hid_report_path_append_item(usb_hid_report_path_t *usage_path, int32_t usage_page, int32_t usage); 221 void usb_hid_report_remove_last_item(usb_hid_report_path_t *usage_path); 222 void usb_hid_report_null_last_item(usb_hid_report_path_t *usage_path); 223 void usb_hid_report_set_last_item(usb_hid_report_path_t *usage_path, int32_t tag, int32_t data); 224 int usb_hid_report_compare_usage_path(usb_hid_report_path_t *report_path, usb_hid_report_path_t *path, int flags); 225 int usb_hid_report_path_clone(usb_hid_report_path_t *new_usage_path, usb_hid_report_path_t *usage_path); 226 227 228 // output 229 // - funkce co vrati cesty poli v output reportu 230 // - funkce co pro danou cestu nastavi data 231 // - finalize 232 206 233 #endif 207 234 /** -
uspace/lib/usb/include/usb/classes/hidreport.h
rda88eb82 r095b2017 1 1 /* 2 * Copyright (c) 201 0Lubos Slovak2 * Copyright (c) 2011 Lubos Slovak 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup drvusbhid29 /** @addtogroup libusb 30 30 * @{ 31 31 */ 32 32 /** @file 33 * Descriptor dumping.33 * USB HID report parser initialization from descriptors. 34 34 */ 35 35 36 #ifndef USBHID_DESCDUMP_H_37 #define USBHID_DESCDUMP_H_36 #ifndef LIBUSB_HIDREPORT_H_ 37 #define LIBUSB_HIDREPORT_H_ 38 38 39 #include <usb/de scriptor.h>40 #include <usb/classes/hid .h>39 #include <usb/devdrv.h> 40 #include <usb/classes/hidparser.h> 41 41 42 void dump_standard_configuration_descriptor( 43 int index, const usb_standard_configuration_descriptor_t *d); 42 /** 43 * Retrieves the Report descriptor from the USB device and initializes the 44 * report parser. 45 * 46 * \param dev USB device representing a HID device. 47 * \param parser HID Report parser. 48 * 49 * \retval EOK if successful. 50 * \retval EINVAL if one of the parameters is not given (is NULL). 51 * \retval ENOENT if there are some descriptors missing. 52 * \retval ENOMEM if an error with allocation occured. 53 * \retval EINVAL if the Report descriptor's size does not match the size 54 * from the interface descriptor. 55 * \return Other value inherited from function usb_pipe_start_session(), 56 * usb_pipe_end_session() or usb_request_get_descriptor(). 57 */ 58 int usb_hid_process_report_descriptor(usb_device_t *dev, 59 usb_hid_report_parser_t *parser); 44 60 45 void dump_standard_interface_descriptor( 46 const usb_standard_interface_descriptor_t *d); 47 48 void dump_standard_endpoint_descriptor( 49 const usb_standard_endpoint_descriptor_t *d); 50 51 void dump_standard_hid_descriptor_header( 52 const usb_standard_hid_descriptor_t *d); 53 54 void dump_standard_hid_class_descriptor_info( 55 const usb_standard_hid_class_descriptor_info_t *d); 56 57 void dump_hid_class_descriptor(int index, uint8_t type, 58 const uint8_t *d, size_t size); 59 60 #endif /* USBHID_DESCDUMP_H_ */ 61 #endif /* LIBUSB_HIDREPORT_H_ */ 61 62 62 63 /** -
uspace/lib/usb/include/usb/classes/hidreq.h
rda88eb82 r095b2017 27 27 */ 28 28 29 /** @addtogroup drvusbhid29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 34 34 */ 35 35 36 #ifndef USB HID_HIDREQ_H_37 #define USB HID_HIDREQ_H_36 #ifndef USB_KBD_HIDREQ_H_ 37 #define USB_KBD_HIDREQ_H_ 38 38 39 39 #include <stdint.h> 40 40 41 41 #include <usb/classes/hid.h> 42 43 #include "hiddev.h" 42 #include <usb/pipes.h> 44 43 45 44 /*----------------------------------------------------------------------------*/ 46 45 47 int usbhid_req_set_report(usb hid_dev_t *hid_dev,46 int usbhid_req_set_report(usb_pipe_t *ctrl_pipe, int iface_no, 48 47 usb_hid_report_type_t type, uint8_t *buffer, size_t buf_size); 49 48 50 int usbhid_req_set_protocol(usbhid_dev_t *hid_dev, usb_hid_protocol_t protocol); 49 int usbhid_req_set_protocol(usb_pipe_t *ctrl_pipe, int iface_no, 50 usb_hid_protocol_t protocol); 51 51 52 int usbhid_req_set_idle(usb hid_dev_t *hid_dev, uint8_t duration);52 int usbhid_req_set_idle(usb_pipe_t *ctrl_pipe, int iface_no, uint8_t duration); 53 53 54 int usbhid_req_get_report(usbhid_dev_t *hid_dev, usb_hid_report_type_t type, 55 uint8_t *buffer, size_t buf_size, size_t *actual_size); 54 int usbhid_req_get_report(usb_pipe_t *ctrl_pipe, int iface_no, 55 usb_hid_report_type_t type, uint8_t *buffer, size_t buf_size, 56 size_t *actual_size); 56 57 57 int usbhid_req_get_protocol(usbhid_dev_t *hid_dev, usb_hid_protocol_t *protocol); 58 int usbhid_req_get_protocol(usb_pipe_t *ctrl_pipe, int iface_no, 59 usb_hid_protocol_t *protocol); 58 60 59 int usbhid_req_get_idle(usb hid_dev_t *hid_dev, uint8_t *duration);61 int usbhid_req_get_idle(usb_pipe_t *ctrl_pipe, int iface_no, uint8_t *duration); 60 62 61 63 /*----------------------------------------------------------------------------*/ 62 64 63 #endif /* USB HID_HIDREQ_H_ */65 #endif /* USB_KBD_HIDREQ_H_ */ 64 66 65 67 /** -
uspace/lib/usb/include/usb/request.h
rda88eb82 r095b2017 41 41 #include <usb/pipes.h> 42 42 #include <usb/descriptor.h> 43 44 /** USB device status - device is self powered (opposed to bus powered). */ 45 #define USB_DEVICE_STATUS_SELF_POWERED ((uint16_t)(1 << 0)) 46 47 /** USB device status - remote wake-up signaling is enabled. */ 48 #define USB_DEVICE_STATUS_REMOTE_WAKEUP ((uint16_t)(1 << 1)) 49 50 /** USB endpoint status - endpoint is halted (stalled). */ 51 #define USB_ENDPOINT_STATUS_HALTED ((uint16_t)(1 << 0)) 43 52 44 53 /** Standard device request. */
Note:
See TracChangeset
for help on using the changeset viewer.