#include "ctwing_at.h"

#include "sr_osal.h"

#include "sr_netdev.h"

typedef struct CTW_MNG
{
	SR_NETDEV_T *netdev;       /*!<网卡指针*/

#ifdef SR_CTWING_IP_LEN
    char srvIp[SR_CTWING_IP_LEN];  /*!<服务器地址*/
#else
	char *srvIp;      /*!<服务器地址*/
#endif

	uint16_t srvPort; /*!<服务器端口*/

}CTW_MNG_T;

static CTW_MNG_T gs_ctwMng;




#ifdef SR_USE_OS



#else

//ctwing初始化
int _CtwAtInit(char *netdevName, CTW_AT_INIT_T *init)
{

    //获取网卡
	gs_ctwMng.netdev = SR_NetdevFind(netdevName);
	if(gs_ctwMng.netdev == SR_NULL) return SR_NOEXIST;

	//初始化gs_ctwMng：ip、port
#ifdef SR_CTWING_IP_LEN
	strcpy(gs_ctwMng.srvIp,init->srvIp);
#else
	gs_ctwMng.srvIp = init->srvIp;
#endif
	gs_ctwMng.srvPort = init->srvPort;

	return SR_OK;
}


//ctwing连接
int _CtwAtConnect(void)
{
	int ret = 0;
	
	CTW_CONN_PARAM_T param = {.ip=gs_ctwMng.srvIp,.port=gs_ctwMng.srvPort};
	SR_GET_CT();

	SR_CT_BEGIN();

	ret = SR_HalNetCtwConnect(gs_ctwMng.netdev,&param);

	return ret;

	SR_CT_END();
}


//ctwing发送
int _CtwAtSend(uint8_t *data, uint32_t dLen)
{
	int ret = 0;
	
	SR_GET_CT();

	SR_CT_BEGIN();

	ret = SR_HalNetCtwSend(gs_ctwMng.netdev,data,dLen);

	return ret;

	SR_CT_END();

}



#endif






