void cshell_icc_open(void) { ICC_CHAN_ATTR_S attr; UDI_OPEN_PARAM cshell_icc_param; UDI_HANDLE cshell_udi_handle = UDI_INVALID_HANDLE; if (1 == g_usb_cshell_disabled) { printk("%s : usb cshell disabled\n", __FUNCTION__); return ; } attr.enChanMode = ICC_CHAN_MODE_STREAM; attr.u32Priority = 255; attr.u32TimeOut = 1000; attr.event_cb = cshell_event_cb; attr.read_cb = cshell_read_cb; attr.write_cb = cshell_write_cb; attr.u32FIFOInSize = 8192; attr.u32FIFOOutSize = 8192; cshell_icc_param.devid = (UDI_DEVICE_ID)UDI_BUILD_DEV_ID(UDI_DEV_ICC, 31); cshell_icc_param.pPrivate = &attr; cshell_udi_handle = udi_open(&cshell_icc_param); if(cshell_udi_handle <= 0) { printk("cshell_icc_open fail,cshell_udi_handle is %d \n",cshell_udi_handle); g_cshell_udi_handle = -1; } else { printk("cshell_icc_open success,cshell_udi_handle is %d \n",cshell_udi_handle); g_cshell_udi_handle = cshell_udi_handle; } }
VOS_UINT32 dms_NcmCfg(VOS_VOID) { VOS_UINT32 ret = ERR_MSP_SUCCESS; BSP_S32 slNcmHandle ; DMS_PHY_BEAR_PROPERTY_STRU *pstComCfg =NULL; UDI_OPEN_PARAM stParam ; pstComCfg = dmsgetPhyBearProperty(); if(pstComCfg[EN_DMS_BEARER_USB_NCM].slPortHandle != UDI_INVALID_HANDLE) { return ERR_MSP_SUCCESS; } stParam.devid = UDI_NCM_CTRL_ID; slNcmHandle = udi_open(&stParam); if(slNcmHandle ==UDI_INVALID_HANDLE) { ret = ERR_MSP_FAILURE; } else { pstComCfg[EN_DMS_BEARER_USB_NCM].slPortHandle = slNcmHandle; ret = (VOS_UINT32)udi_ioctl (slNcmHandle , NCM_IOCTL_REG_NDIS_RESP_STATUS_FUNC, dms_AtNdisWrtCB); ret = ERR_MSP_SUCCESS; } /*配置 NDIS CTRL 通道*/ Dms_NcmProcCbReg(g_atConnectBrk,(USB_NAS_AT_CMD_RECV)g_atCmdRcv); return ret; }
/***************************************************************************** 函 数 名 : diag_PortOpen 功能描述 : 输入参数 : 输出参数 : 返 回 值 : 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2012年8月27日 修改内容 : Creat Function *****************************************************************************/ VOS_UINT32 diag_PortOpen(DIAG_PORT_PHY_BEAR_ENUM enPort,UDI_DEVICE_ID devid,\ VOS_VOID * pEvtCB,VOS_VOID* pWrtCB,VOS_VOID* pRdCB) { UDI_HANDLE slUartHd = 0; VOS_UINT32 ret = ERR_MSP_SUCCESS; UDI_OPEN_PARAM stParam = {0}; ACM_READ_BUFF_INFO stReadParam; if(DIAG_PORT_GET_HANDLE(enPort) != UDI_INVALID_HANDLE) { return ERR_MSP_SUCCESS; } DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN+enPort, 0, 0, 0); stParam.devid = devid; slUartHd = udi_open(&stParam); if(UDI_INVALID_HANDLE == slUartHd) { return ERR_MSP_FAILURE; } stReadParam.u32BuffSize = DIAG_DATA_READ_BUFFER_SIZE; stReadParam.u32BuffNum = DIAG_DATA_MAX_BUFFER_COUNT; ret = udi_ioctl(slUartHd,ACM_IOCTL_RELLOC_READ_BUFF,&stReadParam); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 1); goto ERR_OUT; } ret = udi_ioctl(slUartHd,ACM_IOCTL_SEND_BUFF_CAN_DMA,&stReadParam); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 2); goto ERR_OUT; } ret = udi_ioctl((int)slUartHd,ACM_IOCTL_SET_READ_CB, pRdCB); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 3); goto ERR_OUT; } ret = udi_ioctl((int)slUartHd,ACM_IOCTL_SET_WRITE_CB, pWrtCB); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 4); goto ERR_OUT; } ret = udi_ioctl((int)slUartHd, (int)ACM_IOCTL_SET_EVT_CB, pEvtCB); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 5); goto ERR_OUT; } ret = udi_ioctl((int)slUartHd, (int)ACM_IOCTL_WRITE_DO_COPY, 0); if(ret) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 6); goto ERR_OUT; } g_diagPort_ctrl.bFlag = VOS_TRUE; DIAG_PORT_HANDLE_SWITCH(enPort,slUartHd); /*修改端口句柄*/ DIAG_PORT_CHAN_STATE_SWITCH(enPort,ACM_EVT_DEV_READY);/*打开之后修改端口状态*/ return ERR_MSP_SUCCESS; ERR_OUT: udi_close(slUartHd); return ret; }