UM10503 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2012. All rights reserved.User manual Rev. 1.3 — 6 July 2012 642 of 1269NXP Semiconductors UM10503Chapter 25: LPC43xx USB API25.5.27 USBD_CDC_APICDC class API functions structure.This module exposes functions which interact directlywith USB device controller hardware.USB_Configure_Event USB_CB_TUSB_CB_T USBD_API_INIT_PARAM::USB_Configure_EventEvent for USB configuration number changed. This event fires when a the USB host changes theselected configuration number. On receiving configuration change request from host, the stackenables/configures the endpoints needed by the new configuration before calling this callbackfunction.Remark: This event is called from USB_ISR context and hence is time-critical. Having delays inthis callback will prevent the device from enumerating correctly or operate properly.USB_Interface_Event USB_CB_TUSB_CB_T USBD_API_INIT_PARAM::USB_Interface_EventEvent for USB interface setting changed. This event fires when a the USB host changes theinterface setting to one of alternate interface settings. On receiving interface change request fromhost, the stack enables/configures the endpoints needed by the new alternate interface settingbefore calling this callback function.Remark: This event is called from USB_ISR context and hence is time-critical. Having delays inthis callback will prevent the device from enumerating correctly or operate properly.USB_Feature_Event USB_CB_TUSB_CB_T USBD_API_INIT_PARAM::USB_Feature_EventEvent for USB feature changed. This event fires when a the USB host send set/clear featurerequest. The stack handles this request for USB_FEATURE_REMOTE_WAKEUP,USB_FEATURE_TEST_MODE and USB_FEATURE_ENDPOINT_STALL features only. Onreceiving feature request from host, the stack handle the request appropriately and then calls thiscallback function.Remark: This event is called from USB_ISR context and hence is time-critical. Having delays inthis callback will prevent the device from enumerating correctly or operate properly.virt_to_phys uint32_t(*uint32_t(* USBD_API_INIT_PARAM::virt_to_phys)(void *vaddr))(void *vaddr)Reserved parameter for future use. should be set to zero.cache_flush void(*void(* USBD_API_INIT_PARAM::cache_flush)(uint32_t *start_adr, uint32_t *end_adr))(uint32_t *start_adr,uint32_t *end_adr)Reserved parameter for future use. should be set to zero.Table 518. USBD_API_INIT_PARAM class structureMember DescriptionTable 519. USBD_CDC_API class structureMember DescriptionGetMemSize uint32_t(*uint32_t USBD_CDC_API::GetMemSize)(USBD_CDC_INIT_PARAM_T *param)Function to determine the memory required by the CDC function driver module.This function is called by application layer before calling pUsbApi->CDC->Init(), to allocate memoryused by CDC function driver module. The application should allocate the memory which is accessibleby USB controller/DMA controller.Remark: Some memory areas are not accessible by all bus masters.Parameters:1. param = Structure containing CDC function driver module initialization parameters.Returns:Returns the required memory size in bytes.