Changeset 51b46f2 in mainline for uspace/lib
- Timestamp:
- 2011-03-01T15:39:52Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e135751
- Parents:
- 0e3505a (diff), cc44f7e (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
- Files:
-
- 5 edited
-
include/usb/classes/hid.h (modified) (2 diffs)
-
include/usb/classes/hidparser.h (modified) (1 diff)
-
include/usb/request.h (modified) (1 diff)
-
src/hidparser.c (modified) (1 diff)
-
src/request.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/classes/hid.h
r0e3505a r51b46f2 51 51 } usb_hid_request_t; 52 52 53 typedef enum { 54 USB_HID_REPORT_TYPE_INPUT = 1, 55 USB_HID_REPORT_TYPE_OUTPUT = 2, 56 USB_HID_REPORT_TYPE_FEATURE = 3 57 } usb_hid_report_type_t; 58 59 typedef enum { 60 USB_HID_PROTOCOL_BOOT = 0, 61 USB_HID_PROTOCOL_REPORT = 1 62 } usb_hid_protocol_t; 63 53 64 /** USB/HID subclass constants. */ 54 65 typedef enum { … … 62 73 USB_HID_PROTOCOL_KEYBOARD = 1, 63 74 USB_HID_PROTOCOL_MOUSE = 2 64 } usb_hid_ protocol_t;75 } usb_hid_iface_protocol_t; 65 76 66 77 /** Part of standard USB HID descriptor specifying one class descriptor. -
uspace/lib/usb/include/usb/classes/hidparser.h
r0e3505a r51b46f2 70 70 } usb_hid_report_in_callbacks_t; 71 71 72 #define USB_HID_BOOT_KEYBOARD_NUM_LOCK 0x01 73 #define USB_HID_BOOT_KEYBOARD_CAPS_LOCK 0x02 74 #define USB_HID_BOOT_KEYBOARD_SCROLL_LOCK 0x04 75 #define USB_HID_BOOT_KEYBOARD_COMPOSE 0x08 76 #define USB_HID_BOOT_KEYBOARD_KANA 0x10 72 73 typedef enum { 74 USB_HID_MOD_LCTRL = 0x01, 75 USB_HID_MOD_LSHIFT = 0x02, 76 USB_HID_MOD_LALT = 0x04, 77 USB_HID_MOD_LGUI = 0x08, 78 USB_HID_MOD_RCTRL = 0x10, 79 USB_HID_MOD_RSHIFT = 0x20, 80 USB_HID_MOD_RALT = 0x40, 81 USB_HID_MOD_RGUI = 0x80, 82 USB_HID_MOD_COUNT = 8 83 } usb_hid_modifiers_t; 84 85 typedef enum { 86 USB_HID_LED_NUM_LOCK = 0x1, 87 USB_HID_LED_CAPS_LOCK = 0x2, 88 USB_HID_LED_SCROLL_LOCK = 0x4, 89 USB_HID_LED_COMPOSE = 0x8, 90 USB_HID_LED_KANA = 0x10, 91 USB_HID_LED_COUNT = 5 92 } usb_hid_led_t; 93 94 static const usb_hid_modifiers_t 95 usb_hid_modifiers_consts[USB_HID_MOD_COUNT] = { 96 USB_HID_MOD_LCTRL, 97 USB_HID_MOD_LSHIFT, 98 USB_HID_MOD_LALT, 99 USB_HID_MOD_LGUI, 100 USB_HID_MOD_RCTRL, 101 USB_HID_MOD_RSHIFT, 102 USB_HID_MOD_RALT, 103 USB_HID_MOD_RGUI 104 }; 105 106 //static const usb_hid_led_t usb_hid_led_consts[USB_HID_LED_COUNT] = { 107 // USB_HID_LED_NUM_LOCK, 108 // USB_HID_LED_CAPS_LOCK, 109 // USB_HID_LED_SCROLL_LOCK, 110 // USB_HID_LED_COMPOSE, 111 // USB_HID_LED_KANA 112 //}; 113 114 //#define USB_HID_BOOT_KEYBOARD_NUM_LOCK 0x01 115 //#define USB_HID_BOOT_KEYBOARD_CAPS_LOCK 0x02 116 //#define USB_HID_BOOT_KEYBOARD_SCROLL_LOCK 0x04 117 //#define USB_HID_BOOT_KEYBOARD_COMPOSE 0x08 118 //#define USB_HID_BOOT_KEYBOARD_KANA 0x10 77 119 78 120 /* -
uspace/lib/usb/include/usb/request.h
r0e3505a r51b46f2 96 96 int usb_request_set_address(usb_endpoint_pipe_t *, usb_address_t); 97 97 int usb_request_get_descriptor(usb_endpoint_pipe_t *, usb_request_type_t, 98 uint8_t, uint8_t, uint16_t, void *, size_t, size_t *); 98 usb_request_recipient_t, uint8_t, uint8_t, uint16_t, void *, size_t, 99 size_t *); 99 100 int usb_request_get_descriptor_alloc(usb_endpoint_pipe_t *, usb_request_type_t, 100 u int8_t, uint8_t, uint16_t, void **, size_t *);101 usb_request_recipient_t, uint8_t, uint8_t, uint16_t, void **, size_t *); 101 102 int usb_request_get_device_descriptor(usb_endpoint_pipe_t *, 102 103 usb_standard_device_descriptor_t *); -
uspace/lib/usb/src/hidparser.c
r0e3505a r51b46f2 144 144 int usb_hid_boot_keyboard_output_report(uint8_t leds, uint8_t *data, size_t size) 145 145 { 146 if (size !=1){146 if (size < 1){ 147 147 return -1; 148 148 } 149 149 150 /* used only first five bits, others are only padding*/ 151 *data = leds; 150 data[0] = leds; 152 151 return EOK; 153 152 } -
uspace/lib/usb/src/request.c
r0e3505a r51b46f2 36 36 #include <errno.h> 37 37 #include <assert.h> 38 #include <usb/debug.h> 38 39 39 40 #define MAX_DATA_LENGTH ((size_t)(0xFFFF)) … … 209 210 */ 210 211 int usb_request_get_descriptor(usb_endpoint_pipe_t *pipe, 211 usb_request_type_t request_type, 212 usb_request_type_t request_type, usb_request_recipient_t recipient, 212 213 uint8_t descriptor_type, uint8_t descriptor_index, 213 214 uint16_t language, … … 224 225 225 226 return usb_control_request_get(pipe, 226 request_type, USB_REQUEST_RECIPIENT_DEVICE,227 request_type, recipient, 227 228 USB_DEVREQ_GET_DESCRIPTOR, 228 229 wValue, language, … … 242 243 */ 243 244 int usb_request_get_descriptor_alloc(usb_endpoint_pipe_t * pipe, 244 usb_request_type_t request_type, 245 usb_request_type_t request_type, usb_request_recipient_t recipient, 245 246 uint8_t descriptor_type, uint8_t descriptor_index, 246 247 uint16_t language, … … 258 259 uint8_t tmp_buffer[1]; 259 260 size_t bytes_transfered; 260 rc = usb_request_get_descriptor(pipe, request_type, 261 rc = usb_request_get_descriptor(pipe, request_type, recipient, 261 262 descriptor_type, descriptor_index, language, 262 263 &tmp_buffer, 1, &bytes_transfered); … … 283 284 } 284 285 285 rc = usb_request_get_descriptor(pipe, request_type, 286 rc = usb_request_get_descriptor(pipe, request_type, recipient, 286 287 descriptor_type, descriptor_index, language, 287 288 buffer, size, &bytes_transfered); … … 320 321 usb_standard_device_descriptor_t descriptor_tmp; 321 322 int rc = usb_request_get_descriptor(pipe, 322 USB_REQUEST_TYPE_STANDARD, USB_ DESCTYPE_DEVICE,323 0, 0,323 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 324 USB_DESCTYPE_DEVICE, 0, 0, 324 325 &descriptor_tmp, sizeof(descriptor_tmp), 325 326 &actually_transferred); … … 366 367 usb_standard_configuration_descriptor_t descriptor_tmp; 367 368 int rc = usb_request_get_descriptor(pipe, 368 USB_REQUEST_TYPE_STANDARD, USB_ DESCTYPE_CONFIGURATION,369 index, 0,369 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 370 USB_DESCTYPE_CONFIGURATION, index, 0, 370 371 &descriptor_tmp, sizeof(descriptor_tmp), 371 372 &actually_transferred); … … 406 407 407 408 return usb_request_get_descriptor(pipe, 408 USB_REQUEST_TYPE_STANDARD, USB_ DESCTYPE_CONFIGURATION,409 index, 0,409 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 410 USB_DESCTYPE_CONFIGURATION, index, 0, 410 411 descriptor, descriptor_size, actual_size); 411 412 } … … 452 453 size_t string_descriptor_size = 0; 453 454 rc = usb_request_get_descriptor_alloc(pipe, 454 USB_REQUEST_TYPE_STANDARD, USB_DESCTYPE_STRING, 0, 0, 455 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 456 USB_DESCTYPE_STRING, 0, 0, 455 457 (void **) &string_descriptor, &string_descriptor_size); 456 458 if (rc != EOK) { … … 535 537 size_t string_size; 536 538 rc = usb_request_get_descriptor_alloc(pipe, 537 USB_REQUEST_TYPE_STANDARD, USB_ DESCTYPE_STRING,538 index, uint16_host2usb(lang),539 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 540 USB_DESCTYPE_STRING, index, uint16_host2usb(lang), 539 541 (void **) &string, &string_size); 540 542 if (rc != EOK) {
Note:
See TracChangeset
for help on using the changeset viewer.
