From f89ff939d8088135cedaa4e4f3885f88d1670529 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 17 Mar 2022 22:37:51 +0700 Subject: [PATCH] rename user_arg to user_data --- src/class/cdc/cdc_host.c | 2 +- src/class/hid/hid_host.c | 18 ++++---- src/class/msc/msc_host.c | 2 +- src/host/hub.c | 14 +++--- src/host/hub.h | 14 +++--- src/host/usbh.c | 93 ++++++++++++++++++++++------------------ src/host/usbh.h | 37 ++++++++-------- 7 files changed, 95 insertions(+), 85 deletions(-) diff --git a/src/class/cdc/cdc_host.c b/src/class/cdc/cdc_host.c index a811eb667..2795750ed 100644 --- a/src/class/cdc/cdc_host.c +++ b/src/class/cdc/cdc_host.c @@ -144,7 +144,7 @@ bool tuh_cdc_set_control_line_state(uint8_t dev_addr, bool dtr, bool rts, tuh_xf .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = 0 + .user_data = 0 }; return tuh_control_xfer(dev_addr, &xfer); diff --git a/src/class/hid/hid_host.c b/src/class/hid/hid_host.c index 705b73c67..0ad917815 100644 --- a/src/class/hid/hid_host.c +++ b/src/class/hid/hid_host.c @@ -121,7 +121,7 @@ static void set_protocol_complete(uint8_t dev_addr, tuh_xfer_t* xfer) } -static bool _hidh_set_protocol(uint8_t dev_addr, uint8_t itf_num, uint8_t protocol, tuh_xfer_cb_t complete_cb, uintptr_t user_arg) +static bool _hidh_set_protocol(uint8_t dev_addr, uint8_t itf_num, uint8_t protocol, tuh_xfer_cb_t complete_cb, uintptr_t user_data) { TU_LOG2("HID Set Protocol = %d\r\n", protocol); @@ -145,7 +145,7 @@ static bool _hidh_set_protocol(uint8_t dev_addr, uint8_t itf_num, uint8_t protoc .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; TU_ASSERT( tuh_control_xfer(dev_addr, &xfer) ); @@ -202,14 +202,14 @@ bool tuh_hid_set_report(uint8_t dev_addr, uint8_t instance, uint8_t report_id, u .setup = &request, .buffer = report, .complete_cb = set_report_complete, - .user_arg = 0 + .user_data = 0 }; TU_ASSERT( tuh_control_xfer(dev_addr, &xfer) ); return true; } -static bool _hidh_set_idle(uint8_t dev_addr, uint8_t itf_num, uint16_t idle_rate, tuh_xfer_cb_t complete_cb, uintptr_t user_arg) +static bool _hidh_set_idle(uint8_t dev_addr, uint8_t itf_num, uint16_t idle_rate, tuh_xfer_cb_t complete_cb, uintptr_t user_data) { // SET IDLE request, device can stall if not support this request TU_LOG2("HID Set Idle \r\n"); @@ -233,7 +233,7 @@ static bool _hidh_set_idle(uint8_t dev_addr, uint8_t itf_num, uint16_t idle_rate .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; TU_ASSERT( tuh_control_xfer(dev_addr, &xfer) ); @@ -397,9 +397,9 @@ bool hidh_set_config(uint8_t dev_addr, uint8_t itf_num) request.wIndex = tu_htole16((uint16_t) itf_num); tuh_xfer_t xfer; - xfer.result = XFER_RESULT_SUCCESS; - xfer.setup = &request; - xfer.user_arg = CONFG_SET_IDLE; + xfer.result = XFER_RESULT_SUCCESS; + xfer.setup = &request; + xfer.user_data = CONFG_SET_IDLE; // fake request to kick-off the set config process process_set_config(dev_addr, &xfer); @@ -415,7 +415,7 @@ static void process_set_config(uint8_t dev_addr, tuh_xfer_t* xfer) TU_ASSERT(xfer->result == XFER_RESULT_SUCCESS, ); } - uintptr_t const state = xfer->user_arg; + uintptr_t const state = xfer->user_data; uint8_t const itf_num = (uint8_t) tu_le16toh(xfer->setup->wIndex); uint8_t const instance = get_instance_id_by_itfnum(dev_addr, itf_num); hidh_interface_t* hid_itf = get_instance(dev_addr, instance); diff --git a/src/class/msc/msc_host.c b/src/class/msc/msc_host.c index 789ae9c1a..5a34f2d56 100644 --- a/src/class/msc/msc_host.c +++ b/src/class/msc/msc_host.c @@ -425,7 +425,7 @@ bool msch_set_config(uint8_t dev_addr, uint8_t itf_num) .setup = &request, .buffer = &p_msc->max_lun, .complete_cb = config_get_maxlun_complete, - .user_arg = 0 + .user_data = 0 }; TU_ASSERT(tuh_control_xfer(dev_addr, &xfer)); diff --git a/src/host/hub.c b/src/host/hub.c index 03cf0ecb4..ac24988d8 100644 --- a/src/host/hub.c +++ b/src/host/hub.c @@ -78,7 +78,7 @@ static char const* const _hub_feature_str[] = // HUB //--------------------------------------------------------------------+ bool hub_port_clear_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { tusb_control_request_t const request = { @@ -100,7 +100,7 @@ bool hub_port_clear_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; TU_LOG2("HUB Clear Feature: %s, addr = %u port = %u\r\n", _hub_feature_str[feature], hub_addr, hub_port); @@ -109,7 +109,7 @@ bool hub_port_clear_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, } bool hub_port_set_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { tusb_control_request_t const request = { @@ -131,7 +131,7 @@ bool hub_port_set_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; TU_LOG2("HUB Set Feature: %s, addr = %u port = %u\r\n", _hub_feature_str[feature], hub_addr, hub_port); @@ -140,7 +140,7 @@ bool hub_port_set_feature(uint8_t hub_addr, uint8_t hub_port, uint8_t feature, } bool hub_port_get_status(uint8_t hub_addr, uint8_t hub_port, void* resp, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { tusb_control_request_t const request = { @@ -162,7 +162,7 @@ bool hub_port_get_status(uint8_t hub_addr, uint8_t hub_port, void* resp, .setup = &request, .buffer = resp, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; TU_LOG2("HUB Get Port Status: addr = %u port = %u\r\n", hub_addr, hub_port); @@ -254,7 +254,7 @@ bool hub_set_config(uint8_t dev_addr, uint8_t itf_num) .setup = &request, .buffer = _hub_buffer, .complete_cb = config_set_port_power, - .user_arg = 0 + .user_data = 0 }; TU_ASSERT( tuh_control_xfer(dev_addr, &xfer) ); diff --git a/src/host/hub.h b/src/host/hub.h index e5e22102a..390740e1f 100644 --- a/src/host/hub.h +++ b/src/host/hub.h @@ -173,31 +173,31 @@ TU_VERIFY_STATIC( sizeof(hub_port_status_response_t) == 4, "size is not correct" // Clear feature bool hub_port_clear_feature (uint8_t hub_addr, uint8_t hub_port, uint8_t feature, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Set feature bool hub_port_set_feature (uint8_t hub_addr, uint8_t hub_port, uint8_t feature, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get port status bool hub_port_get_status (uint8_t hub_addr, uint8_t hub_port, void* resp, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get status from Interrupt endpoint bool hub_edpt_status_xfer(uint8_t dev_addr); // Reset a port static inline bool hub_port_reset(uint8_t hub_addr, uint8_t hub_port, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { - return hub_port_set_feature(hub_addr, hub_port, HUB_FEATURE_PORT_RESET, complete_cb, user_arg); + return hub_port_set_feature(hub_addr, hub_port, HUB_FEATURE_PORT_RESET, complete_cb, user_data); } // Clear Reset Change static inline bool hub_port_clear_reset_change(uint8_t hub_addr, uint8_t hub_port, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { - return hub_port_clear_feature(hub_addr, hub_port, HUB_FEATURE_PORT_RESET_CHANGE, complete_cb, user_arg); + return hub_port_clear_feature(hub_addr, hub_port, HUB_FEATURE_PORT_RESET_CHANGE, complete_cb, user_data); } diff --git a/src/host/usbh.c b/src/host/usbh.c index 689634ecd..69543854d 100644 --- a/src/host/usbh.c +++ b/src/host/usbh.c @@ -110,14 +110,14 @@ typedef struct { tu_edpt_state_t ep_status[CFG_TUH_ENDPOINT_MAX][2]; #if CFG_TUH_API_EDPT_XFER -// struct -// { -// uint8_t* buffer; -// tuh_xfer_cb_t complete_cb; -// uintptr_t user_arg; -// -// volatile uint16_t actual_len; -// }ep_xfer; + struct + { + uint8_t* buffer; + tuh_xfer_cb_t complete_cb; + uintptr_t user_data; + uint16_t buflen; + volatile uint16_t actual_len; + }ep_xfer; #endif } usbh_device_t; @@ -252,7 +252,7 @@ static uint8_t _usbh_ctrl_buf[CFG_TUH_ENUMERATION_BUFSIZE]; //{ // uint8_t* buffer; // tuh_xfer_cb_t complete_cb; -// uintptr_t user_arg; +// uintptr_t user_data; // // volatile uint16_t actual_len; //}usbh_xfer_t; @@ -265,7 +265,7 @@ struct tusb_control_request_t request TU_ATTR_ALIGNED(4); uint8_t* buffer; tuh_xfer_cb_t complete_cb; - uintptr_t user_arg; + uintptr_t user_data; volatile uint16_t actual_len; uint8_t daddr; // device address that is transferring @@ -328,7 +328,7 @@ void osal_task_delay(uint32_t msec) //--------------------------------------------------------------------+ static bool _get_descriptor(uint8_t daddr, uint8_t type, uint8_t index, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { tusb_control_request_t const request = { @@ -350,69 +350,69 @@ static bool _get_descriptor(uint8_t daddr, uint8_t type, uint8_t index, uint16_t .setup = &request, .buffer = buffer, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; return tuh_control_xfer(daddr, &xfer); } bool tuh_descriptor_get(uint8_t daddr, uint8_t type, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { - return _get_descriptor(daddr, type, index, 0x0000, buffer, len, complete_cb, user_arg); + return _get_descriptor(daddr, type, index, 0x0000, buffer, len, complete_cb, user_data); } bool tuh_descriptor_get_device(uint8_t daddr, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { len = tu_min16(len, sizeof(tusb_desc_device_t)); - return tuh_descriptor_get(daddr, TUSB_DESC_DEVICE, 0, buffer, len, complete_cb, user_arg); + return tuh_descriptor_get(daddr, TUSB_DESC_DEVICE, 0, buffer, len, complete_cb, user_data); } bool tuh_descriptor_get_configuration(uint8_t daddr, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { - return tuh_descriptor_get(daddr, TUSB_DESC_CONFIGURATION, index, buffer, len, complete_cb, user_arg); + return tuh_descriptor_get(daddr, TUSB_DESC_CONFIGURATION, index, buffer, len, complete_cb, user_data); } //------------- String Descriptor -------------// bool tuh_descriptor_get_string(uint8_t daddr, uint8_t index, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { - return _get_descriptor(daddr, TUSB_DESC_STRING, index, language_id, buffer, len, complete_cb, user_arg); + return _get_descriptor(daddr, TUSB_DESC_STRING, index, language_id, buffer, len, complete_cb, user_data); } // Get manufacturer string descriptor bool tuh_descriptor_get_manufacturer_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { usbh_device_t const* dev = get_device(daddr); TU_VERIFY(dev && dev->i_manufacturer); - return tuh_descriptor_get_string(daddr, dev->i_manufacturer, language_id, buffer, len, complete_cb, user_arg); + return tuh_descriptor_get_string(daddr, dev->i_manufacturer, language_id, buffer, len, complete_cb, user_data); } // Get product string descriptor bool tuh_descriptor_get_product_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { usbh_device_t const* dev = get_device(daddr); TU_VERIFY(dev && dev->i_product); - return tuh_descriptor_get_string(daddr, dev->i_product, language_id, buffer, len, complete_cb, user_arg); + return tuh_descriptor_get_string(daddr, dev->i_product, language_id, buffer, len, complete_cb, user_data); } // Get serial string descriptor bool tuh_descriptor_get_serial_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { usbh_device_t const* dev = get_device(daddr); TU_VERIFY(dev && dev->i_serial); - return tuh_descriptor_get_string(daddr, dev->i_serial, language_id, buffer, len, complete_cb, user_arg); + return tuh_descriptor_get_string(daddr, dev->i_serial, language_id, buffer, len, complete_cb, user_data); } // Get HID report descriptor bool tuh_descriptor_get_hid_report(uint8_t daddr, uint8_t itf_num, uint8_t desc_type, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { TU_LOG2("HID Get Report Descriptor\r\n"); tusb_control_request_t const request = @@ -435,14 +435,14 @@ bool tuh_descriptor_get_hid_report(uint8_t daddr, uint8_t itf_num, uint8_t desc_ .setup = &request, .buffer = buffer, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; return tuh_control_xfer(daddr, &xfer); } bool tuh_configuration_set(uint8_t daddr, uint8_t config_num, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg) + tuh_xfer_cb_t complete_cb, uintptr_t user_data) { TU_LOG2("Set Configuration = %d\r\n", config_num); @@ -466,7 +466,7 @@ bool tuh_configuration_set(uint8_t daddr, uint8_t config_num, .setup = &request, .buffer = NULL, .complete_cb = complete_cb, - .user_arg = user_arg + .user_data = user_data }; return tuh_control_xfer(daddr, &xfer); @@ -904,7 +904,7 @@ static void _control_blocking_complete_cb(uint8_t daddr, tuh_xfer_t* xfer) { (void) daddr; // update result - *((xfer_result_t*) xfer->user_arg) = xfer->result; + *((xfer_result_t*) xfer->user_data) = xfer->result; } bool tuh_control_xfer_sync(uint8_t daddr, tuh_xfer_t* xfer, uint32_t timeout_ms) @@ -945,7 +945,7 @@ bool tuh_control_xfer (uint8_t daddr, tuh_xfer_t* xfer) _ctrl_xfer.request = (*xfer->setup); _ctrl_xfer.buffer = xfer->buffer; _ctrl_xfer.complete_cb = xfer->complete_cb; - _ctrl_xfer.user_arg = xfer->user_arg; + _ctrl_xfer.user_data = xfer->user_data; if (xfer->complete_cb) { @@ -956,8 +956,8 @@ bool tuh_control_xfer (uint8_t daddr, tuh_xfer_t* xfer) // change callback to internal blocking, and result as user argument volatile xfer_result_t result = XFER_RESULT_INVALID; - // use user_arg to point to xfer_result_t - _ctrl_xfer.user_arg = (uintptr_t) &result; + // use user_data to point to xfer_result_t + _ctrl_xfer.user_data = (uintptr_t) &result; _ctrl_xfer.complete_cb = _control_blocking_complete_cb; TU_ASSERT( hcd_setup_send(rhport, daddr, (uint8_t*) &_ctrl_xfer.request) ); @@ -974,10 +974,10 @@ bool tuh_control_xfer (uint8_t daddr, tuh_xfer_t* xfer) // update xfer result xfer->result = result; - if ( xfer->user_arg ) + if ( xfer->user_data ) { - // if user_arg is not NULL, it is also updated - *((xfer_result_t*) xfer->user_arg) = result; + // if user_data is not NULL, it is also updated + *((xfer_result_t*) xfer->user_data) = result; } xfer->actual_len = _ctrl_xfer.actual_len; @@ -1007,7 +1007,7 @@ static void _xfer_complete(uint8_t dev_addr, xfer_result_t result) .actual_len = (uint32_t) _ctrl_xfer.actual_len, .buffer = _ctrl_xfer.buffer, .complete_cb = _ctrl_xfer.complete_cb, - .user_arg = _ctrl_xfer.user_arg + .user_data = _ctrl_xfer.user_data }; usbh_lock(); @@ -1075,6 +1075,15 @@ static bool usbh_control_xfer_cb (uint8_t dev_addr, uint8_t ep_addr, xfer_result // //--------------------------------------------------------------------+ +bool tuh_edpt_xfer(uint8_t daddr, tuh_xfer_t* xfer) +{ + return true; +} + +//--------------------------------------------------------------------+ +// +//--------------------------------------------------------------------+ + // a device unplugged from rhport:hub_addr:hub_port static void process_device_unplugged(uint8_t rhport, uint8_t hub_addr, uint8_t hub_port) { @@ -1151,7 +1160,7 @@ static void process_enumeration(uint8_t dev_addr, tuh_xfer_t* xfer) return; } - uintptr_t const state = xfer->user_arg; + uintptr_t const state = xfer->user_data; switch(state) { #if CFG_TUH_HUB @@ -1345,8 +1354,8 @@ static bool enum_new_device(hcd_event_t* event) // fake transfer to kick-off the enumeration process tuh_xfer_t xfer; - xfer.result = XFER_RESULT_SUCCESS; - xfer.user_arg = ENUM_ADDR0_DEVICE_DESC; + xfer.result = XFER_RESULT_SUCCESS; + xfer.user_data = ENUM_ADDR0_DEVICE_DESC; process_enumeration(0, &xfer); @@ -1433,7 +1442,7 @@ static bool enum_request_set_addr(void) .setup = &request, .buffer = NULL, .complete_cb = process_enumeration, - .user_arg = ENUM_GET_DEVICE_DESC + .user_data = ENUM_GET_DEVICE_DESC }; uint8_t const addr0 = 0; diff --git a/src/host/usbh.h b/src/host/usbh.h index 2021545ba..30868d2f2 100644 --- a/src/host/usbh.h +++ b/src/host/usbh.h @@ -47,14 +47,15 @@ typedef void (*tuh_xfer_cb_t)(uint8_t daddr, tuh_xfer_t* xfer); struct tuh_xfer_s { uint8_t ep_addr; - xfer_result_t result; - - tusb_control_request_t const* setup; - uint32_t actual_len; // excluding setup packet - + tusb_control_request_t const* setup; // pointer to setup packet if control transfer + uint32_t buflen; uint8_t* buffer; tuh_xfer_cb_t complete_cb; - uintptr_t user_arg; + uintptr_t user_data; + + // will be updated when transfer is complete + xfer_result_t result; + uint32_t actual_len; // excluding setup packet }; //--------------------------------------------------------------------+ @@ -116,20 +117,20 @@ static inline bool tuh_ready(uint8_t daddr) // Submit a control transfer // true on success, false if there is on-going control transfer or incorrect parameters // Note: blocking if complete callback is NULL. In this case 'xfer->result' will be updated -// and if 'user_arg' point to a xfer_result_t variable, it will be updated as well. +// and if 'user_data' point to a xfer_result_t variable, it will be updated as well. bool tuh_control_xfer(uint8_t daddr, tuh_xfer_t* xfer); // Submit a bulk/interrupt transfer // true on success, false if there is on-going control transfer or incorrect parameters // Note: blocking if complete callback is NULL. In this case 'xfer->result' will be updated -// and if 'user_arg' point to a xfer_result_t variable, it will be updated as well. +// and if 'user_data' point to a xfer_result_t variable, it will be updated as well. bool tuh_edpt_xfer(uint8_t daddr, tuh_xfer_t* xfer); // Set Configuration (control transfer) // config_num = 0 will un-configure device. Note: config_num = config_descriptor_index + 1 // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_configuration_set(uint8_t daddr, uint8_t config_num, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); //--------------------------------------------------------------------+ // Endpoint Synchronous (blocking) @@ -146,43 +147,43 @@ bool tuh_control_xfer_sync(uint8_t daddr, tuh_xfer_t * xfer, uint32_t timeout_ms // Get an descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get(uint8_t daddr, uint8_t type, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get device descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_device(uint8_t daddr, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get configuration descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_configuration(uint8_t daddr, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get HID report descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_hid_report(uint8_t daddr, uint8_t itf_num, uint8_t desc_type, uint8_t index, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get string descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters -// Blocking if complete callback is NULL, in this case 'user_arg' must contain xfer_result_t variable +// Blocking if complete callback is NULL, in this case 'user_data' must contain xfer_result_t variable bool tuh_descriptor_get_string(uint8_t daddr, uint8_t index, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get manufacturer string descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_manufacturer_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get product string descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_product_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); // Get serial string descriptor (control transfer) // true on success, false if there is on-going control transfer or incorrect parameters bool tuh_descriptor_get_serial_string(uint8_t daddr, uint16_t language_id, void* buffer, uint16_t len, - tuh_xfer_cb_t complete_cb, uintptr_t user_arg); + tuh_xfer_cb_t complete_cb, uintptr_t user_data); //--------------------------------------------------------------------+ // Descriptors Synchronous (blocking)