sint8 m2m_wifi_set_static_ip(tstrM2MIPConfig * pstrStaticIPConf) { pstrStaticIPConf->u32DNS = NM_BSP_B_L_32(pstrStaticIPConf->u32DNS); pstrStaticIPConf->u32Gateway = NM_BSP_B_L_32(pstrStaticIPConf->u32Gateway); pstrStaticIPConf->u32StaticIP = NM_BSP_B_L_32( pstrStaticIPConf->u32StaticIP); pstrStaticIPConf->u32SubnetMask = NM_BSP_B_L_32( pstrStaticIPConf->u32SubnetMask); return hif_send(M2M_REQ_GRP_IP, M2M_IP_REQ_STATIC_IP_CONF, (uint8*) pstrStaticIPConf, sizeof(tstrM2MIPConfig), NULL, 0,0); }
/********************************************************************* Function recvfrom Description Return Author Ahmed Ezzat Version 1.0 2.0 9 April 2013 --> Add timeout for recv operation. Date 5 June 2012 *********************************************************************/ sint16 recvfrom(SOCKET sock, void *pvRecvBuf, uint16 u16BufLen, uint32 u32Timeoutmsec) { sint16 s16Ret = SOCK_ERR_NO_ERROR; if((sock >= 0) && (pvRecvBuf != NULL) && (u16BufLen != 0) && (gastrSockets[sock].bIsUsed == 1)) { if(gastrSockets[sock].bIsUsed) { s16Ret = SOCK_ERR_NO_ERROR; gastrSockets[sock].pu8UserBuffer = (uint8*)pvRecvBuf; gastrSockets[sock].u16UserBufferSize = u16BufLen; if(!gastrSockets[sock].bIsRecvPending) { tstrRecvCmd strRecv; gastrSockets[sock].bIsRecvPending = 1; /* Check the timeout value. */ if(u32Timeoutmsec == 0) strRecv.u32Timeoutmsec = 0xFFFFFFFF; else strRecv.u32Timeoutmsec = NM_BSP_B_L_32(u32Timeoutmsec); strRecv.sock = sock; strRecv.u16SessionID = gastrSockets[sock].u16SessionID; s16Ret = SOCKET_REQUEST(SOCKET_CMD_RECVFROM, (uint8*)&strRecv, sizeof(tstrRecvCmd), NULL , 0, 0); if(s16Ret != SOCK_ERR_NO_ERROR) { s16Ret = SOCK_ERR_BUFFER_FULL; } } } } else { s16Ret = SOCK_ERR_INVALID_ARG; } return s16Ret; }