/* Copyright (C) 2020 RDA Technologies Limited and/or its affiliates("RDA"). * All rights reserved. * * This software is supplied "AS IS" without any warranties. * RDA assumes no responsibility or liability for the use of the software, * conveys no license or title under any patent, copyright, or mask work * right to the product. RDA reserves the right to make changes in the * software without notification. RDA also make no representation or * warranty that such application will be suitable for the specified use * without further testing or modification. */ #ifndef _USB__COPS_FUNC_H_ #define _USB__COPS_FUNC_H_ #include "osi_compiler.h" OSI_EXTERN_C_BEGIN #include "usb/usb_composite_device.h" #include "quec_proj_config.h" typedef enum { USB_FUNC_GENERIC_SERIAL = 0, USB_FUNC_DEBUG_SERIAL, USB_FUNC_CDC_ACM, USB_FUNC_CCID, USB_FUNC_CDC_ECM, USB_FUNC_RNDIS, USB_FUNC_COUNT, } usbCopsFuncID_t; /** * @brief Create a generic serial function instance * * @param name serial name * @return * - NULL fail * - other the serial function */ copsFunc_t *createSerialFunc(uint32_t name); #ifdef CONFIG_QUEC_PROJECT_FEATURE_USB_AUDIO extern copsFunc_t *createUacFunc(uint32_t name); #endif /** * @brief Create a debugging serial function instance * * @param name serial name * @return * - NULL fail * - other the serial function */ copsFunc_t *createDebugSerialFunc(uint32_t name); /** * @brief Create a rndis function instance * * @return * - NULL fail * - other the rndis function */ copsFunc_t *createRndisFunc(void); /** * @brief Create an ECM function instance * * @return * - NULL fail * - other the rndis function */ copsFunc_t *createEcmFunc(void); /** * @brief Create a CCID function instance * * @param name device name * @return * - NULL fail * - other the CCID function */ copsFunc_t *createCCIDFunc(uint32_t name); /** * @brief Create a CDC-ACM function * * @param name function name * @return * - NULL fail * - other the function */ copsFunc_t *createCdcAcmFunc(uint32_t name); /** * @brief Create a DEBUG-CDC-ACM function * * @param name function name * @return * - NULL fail * - other the function */ copsFunc_t *createDebugCdcAcmFunc(uint32_t name); /** * @brief Create a MTP function * * @param name function name * @return * - NULL fail * - other the function */ copsFunc_t *createMTPFunc(uint32_t name); OSI_EXTERN_C_END #endif