40 #include <ti/drivers/net/wifi/simplelink.h> 42 #include <ti/net/utils/str_mpl.h> 44 #include <ti/net/atcmd/atcmd_netapp.h> 45 #include <ti/net/atcmd/atcmd_defs.h> 46 #include <ti/net/atcmd/atcmd_event.h> 47 #include <ti/net/atcmd/atcmd_gen.h> 48 #include <ti/net/atcmd/atcmd.h> 53 #define ATCMDNETAPP_MAX_BUFFER_LEN (1480) 54 #define ATCMDNETAPP_MAX_SECURITY_FILE_NAME_SIZE (96) 55 #define ATCMDNETAPP_MAX_DOMAIN_NAME_LEN (63) 56 #define ATCMDNETAPP_MAX_SIZE_OF_DEVICE_NAME (80) 59 const uint16_t ATCmdNetapp_serviceSize[] =
62 (uint16_t)
sizeof(SlNetAppGetFullServiceWithTextIpv4List_t),
63 (uint16_t)
sizeof(SlNetAppGetFullServiceIpv4List_t),
64 (uint16_t)
sizeof(SlNetAppGetShortServiceIpv4List_t),
65 (uint16_t)
sizeof(SlNetAppGetFullServiceWithTextIpv6List_t),
66 (uint16_t)
sizeof(SlNetAppGetFullServiceIpv6List_t),
67 (uint16_t)
sizeof(SlNetAppGetShortServiceIpv6List_t)
74 typedef struct _ATCmdNetapp_t_
83 typedef struct _ATCmdNetapp_GetHostByName_t_
89 }ATCmdNetapp_GetHostByName_t;
91 typedef struct _ATCmdNetapp_GetHostByService_t_
100 }ATCmdNetapp_GetHostByService_t;
102 typedef struct _ATCmdNetapp_Ping_t_
104 SlNetAppPingCommand_t pingParams;
106 SlNetAppPingReport_t report;
109 typedef struct _ATCmdNetapp_GetServiceList_t_
117 }ATCmdNetapp_GetServiceList_t;
119 typedef struct _ATCmdNetapp_RegisterService_t_
122 uint8_t serviceNameLen;
128 }ATCmdNetapp_RegisterService_t;
130 typedef struct _ATCmdNetapp_UnregisterService_t_
133 uint8_t serviceNameLen;
135 }ATCmdNetapp_UnregisterService_t;
137 typedef struct _ATCmdNetapp_Set_t_
170 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappType,
sizeof(ATCmd_netappType)/
sizeof(StrMpl_List_t), (
char **)&arg, &appBitMap, ATCMD_DELIM_TRM,ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
172 ATCmd_errorResult(ATCmd_errorParseStr,ret);
177 if (appBitMap > 0x0F)
179 ATCmd_errorResult(ATCmd_errorParseStr,0);
183 ret = sl_NetAppStart(appBitMap);
187 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
216 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappType,
sizeof(ATCmd_netappType)/
sizeof(StrMpl_List_t), (
char **)&arg, &appBitMap, ATCMD_DELIM_TRM,ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
218 ATCmd_errorResult(ATCmd_errorParseStr,ret);
222 if (appBitMap > 0x0F)
224 ATCmd_errorResult(ATCmd_errorParseStr,0);
229 ret = sl_NetAppStop(appBitMap);
233 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
251 int32_t ATCmdNetapp_getHostByNameFree(ATCmdNetapp_GetHostByName_t *params)
255 if (params->hostName != NULL)
257 free(params->hostName);
274 int32_t ATCmdNetapp_getHostByNameParse(
char *buff, ATCmdNetapp_GetHostByName_t *params)
279 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->hostName, ATCMD_DELIM_ARG, 0xFF ,ATCmd_excludeDelimStr)) < 0)
283 params->nameLen = strlen((
char *)params->hostName);
286 if ((ret = StrMpl_getListVal(ATCmd_sockDomain,
sizeof(ATCmd_sockDomain)/
sizeof(StrMpl_List_t), &buff, ¶ms->family, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_16) ) < 0)
304 int32_t ATCmdNetapp_getHostByNameResult(
void *args, int32_t num,
char *buff)
306 ATCmdNetapp_GetHostByName_t *params = (ATCmdNetapp_GetHostByName_t *)args;
309 StrMpl_setStr(ATCmd_netappGetHostByNameStr,&buff,ATCMD_DELIM_EVENT);
310 StrMpl_setStr((
char *)params->hostName,&buff,ATCMD_DELIM_ARG);
312 if (params->family == SL_AF_INET)
315 ATCmd_valToIPv4(params->addr[0], ip);
316 StrMpl_setArrayVal(ip,&buff,4,ATCMD_DELIM_TRM,ATCMD_DELIM_INTER,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_8 | STRMPL_FLAG_PARAM_UNSIGNED);
318 else if (params->family == SL_AF_INET6)
321 StrMpl_setArrayVal(params->addr,&buff,4,ATCMD_DELIM_TRM,ATCMD_DELIM_ARRAY,STRMPL_FLAG_PARAM_HEX | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
323 ATCmdNetapp_getHostByNameFree(params);
342 ATCmdNetapp_GetHostByName_t *params;
344 params = malloc(
sizeof(ATCmdNetapp_GetHostByName_t));
348 ATCmd_errorResult(ATCmd_errorAllocStr,0);
351 memset(params, 0x0,
sizeof(ATCmdNetapp_GetHostByName_t));
354 ret = ATCmdNetapp_getHostByNameParse((
char *)arg, params);
358 ATCmd_errorResult(ATCmd_errorParseStr,ret);
359 ATCmdNetapp_getHostByNameFree(params);
364 ret = sl_NetAppDnsGetHostByName(params->hostName, params->nameLen, (_u32 *)params->addr, params->family);
368 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
369 ATCmdNetapp_getHostByNameFree(params);
373 ATCmd_commandResult(ATCmdNetapp_getHostByNameResult,params,0);
388 int32_t ATCmdNetapp_getHostByServiceFree(ATCmdNetapp_GetHostByService_t *params)
392 if (params->serviceName != NULL)
394 free(params->serviceName);
396 if (params->text != NULL)
415 int32_t ATCmdNetapp_getHostByServiceParse(
char *buff, ATCmdNetapp_GetHostByService_t *params)
420 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->serviceName, ATCMD_DELIM_ARG, SL_NETAPP_MAX_SERVICE_NAME_SIZE ,ATCmd_excludeDelimStr)) < 0)
424 params->serviceLen = strlen((
char *)params->serviceName);
427 if ((ret = StrMpl_getListVal(ATCmd_sockDomain,
sizeof(ATCmd_sockDomain)/
sizeof(StrMpl_List_t), &buff, ¶ms->family, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
445 int32_t ATCmdNetapp_getHostByServiceResult(
void *args, int32_t num,
char *buff)
447 ATCmdNetapp_GetHostByService_t *params = (ATCmdNetapp_GetHostByService_t *)args;
450 StrMpl_setStr(ATCmd_netappGetHostByServiceStr,&buff,ATCMD_DELIM_EVENT);
451 StrMpl_setStr((
char *)params->serviceName,&buff,ATCMD_DELIM_ARG);
454 StrMpl_setVal(¶ms->port,&buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
455 if (params->family == SL_AF_INET)
458 ATCmd_valToIPv4(params->addr[0], ip);
459 StrMpl_setArrayVal(ip,&buff,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_8 | STRMPL_FLAG_PARAM_UNSIGNED);
461 else if (params->family == SL_AF_INET6)
464 StrMpl_setArrayVal(params->addr,&buff,4,ATCMD_DELIM_ARG,ATCMD_DELIM_ARRAY,STRMPL_FLAG_PARAM_HEX | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
466 StrMpl_setStr((
char *)params->text,&buff,ATCMD_DELIM_TRM);
467 ATCmdNetapp_getHostByServiceFree(params);
486 ATCmdNetapp_GetHostByService_t *params;
488 params = malloc(
sizeof(ATCmdNetapp_GetHostByService_t));
492 ATCmd_errorResult(ATCmd_errorAllocStr,0);
495 memset(params, 0x0,
sizeof(ATCmdNetapp_GetHostByService_t));
498 ret = ATCmdNetapp_getHostByServiceParse((
char *)arg, params);
502 ATCmd_errorResult(ATCmd_errorParseStr,ret);
503 ATCmdNetapp_getHostByServiceFree(params);
507 params->textLen = SL_NETAPP_MAX_SERVICE_TEXT_SIZE;
508 params->text = malloc(params->textLen);
509 if (params->text == NULL)
511 ATCmd_errorResult(ATCmd_errorAllocStr,0);
512 ATCmdNetapp_getHostByServiceFree(params);
516 ret = sl_NetAppDnsGetHostByService(params->serviceName, params->serviceLen, params->family,(_u32 *)params->addr,(_u32 *)¶ms->port,¶ms->textLen,params->text);
520 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
521 ATCmdNetapp_getHostByServiceFree(params);
525 ATCmd_commandResult(ATCmdNetapp_getHostByServiceResult,params,0);
541 int32_t ATCmdNetapp_sendFree(ATCmdNetapp_t *params)
543 if (params->data != NULL)
560 int32_t ATCmdNetapp_sendParse(
char *buff, ATCmdNetapp_t *params)
566 if ((ret = StrMpl_getVal(&buff, ¶ms->handle, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
572 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappFlags,
sizeof(ATCmd_netappFlags)/
sizeof(StrMpl_List_t), &buff, ¶ms->flags, ATCMD_DELIM_ARG,ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
577 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
583 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
588 if (params->format == ATCMD_DATA_FORMAT_BASE64)
591 outputLen = StrMpl_getBase64DecBufSize((uint8_t *)buff,params->len);
592 params->data = malloc(outputLen);
593 if (params->data == NULL)
597 if (StrMpl_decodeBase64((uint8_t *)buff, params->len, params->data, (uint32_t *)&outputLen) < 0)
601 params->len = outputLen;
605 params->data = malloc(params->len);
606 if (params->data == NULL)
611 memcpy(params->data, buff, params->len);
632 ATCmdNetapp_t params;
634 memset(¶ms, 0x0,
sizeof(ATCmdNetapp_t));
637 ret = ATCmdNetapp_sendParse((
char *)arg, ¶ms);
641 ATCmd_errorResult(ATCmd_errorParseStr,ret);
642 ATCmdNetapp_sendFree(¶ms);
647 ret = sl_NetAppSend(params.handle, params.len, params.data,params.flags);
651 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
658 ATCmdNetapp_sendFree(¶ms);
670 int32_t ATCmdNetapp_recvFree(ATCmdNetapp_t *params)
674 if (params->data != NULL)
693 int32_t ATCmdNetapp_recvParse(
char *buff, ATCmdNetapp_t *params)
698 if ((ret = StrMpl_getVal(&buff, ¶ms->handle, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
704 if ((ret = StrMpl_getVal(&buff, ¶ms->format , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
710 if ((ret = StrMpl_getVal(&buff, ¶ms->len, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
728 int32_t ATCmdNetapp_recvResult(
void *args, int32_t num,
char *buff)
730 ATCmdNetapp_t *params = (ATCmdNetapp_t *)args;
733 StrMpl_setStr(ATCmd_netappRecvStr,&buff,ATCMD_DELIM_EVENT);
735 StrMpl_setVal(¶ms->handle, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
737 StrMpl_setBitmaskListStr(ATCmd_netappFlags,
sizeof(ATCmd_netappFlags)/
sizeof(StrMpl_List_t),¶ms->flags, &buff, ATCMD_DELIM_ARG, ATCMD_DELIM_BIT, STRMPL_FLAG_PARAM_SIZE_32);
739 StrMpl_setVal(¶ms->format, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
741 outputLen = params->len;
742 if (params->format == ATCMD_DATA_FORMAT_BASE64)
745 outputLen = StrMpl_getBase64EncBufSize(params->len);
747 StrMpl_setVal(&outputLen, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
749 if (params->format == ATCMD_DATA_FORMAT_BASE64)
752 StrMpl_encodeBase64(params->data, params->len, (uint8_t *)buff, &outputLen);
756 memcpy(buff,params->data,params->len);
758 ATCmdNetapp_recvFree(params);
777 ATCmdNetapp_t *params;
779 params = malloc(
sizeof(ATCmdNetapp_t));
783 ATCmd_errorResult(ATCmd_errorAllocStr,0);
787 memset(params, 0x0,
sizeof(ATCmdNetapp_t));
790 ret = ATCmdNetapp_recvParse((
char *)arg, params);
794 ATCmd_errorResult(ATCmd_errorParseStr,ret);
795 ATCmdNetapp_recvFree(params);
800 ret = sl_NetAppRecv(params->handle, ¶ms->len, params->data,(_u32 *)¶ms->flags);
804 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
805 ATCmdNetapp_recvFree(params);
809 ATCmd_commandResult(ATCmdNetapp_recvResult,params,0);
827 int32_t ATCmdNetapp_pingParse(
char *buff, ATCmdNetapp_Ping_t *params)
833 if ((ret = StrMpl_getListVal(ATCmd_sockDomain,
sizeof(ATCmd_sockDomain)/
sizeof(StrMpl_List_t), &buff, ¶ms->family, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
837 if (params->family == SL_AF_INET)
840 if ((ret = StrMpl_getArrayVal(&buff,(
void *)ip,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER, STRMPL_FLAG_PARAM_SIZE_8,ATCmd_excludeDelimArray )) < 0)
844 params->pingParams.Ip = SL_IPV4_VAL(ip[0],ip[1],ip[2],ip[3]);
846 else if (params->family == SL_AF_INET6)
849 if ((ret = StrMpl_getArrayVal(&buff, (
void *)¶ms->pingParams.Ip,4,ATCMD_DELIM_ARG,ATCMD_DELIM_ARRAY,STRMPL_FLAG_PARAM_SIZE_32,ATCmd_excludeDelimArray)) < 0)
860 if ((ret = StrMpl_getVal(&buff, ¶ms->pingParams.PingSize, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
866 if ((ret = StrMpl_getVal(&buff, ¶ms->pingParams.PingIntervalTime , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32)) < 0)
872 if ((ret = StrMpl_getVal(&buff, ¶ms->pingParams.PingRequestTimeout, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
878 if ((ret = StrMpl_getVal(&buff, ¶ms->pingParams.TotalNumberOfAttempts , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32)) < 0)
884 if ((ret = StrMpl_getVal(&buff, ¶ms->pingParams.Flags, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
901 int32_t ATCmdNetapp_pingResult(
void *args, int32_t num,
char *buff)
903 SlNetAppPingReport_t *params = (SlNetAppPingReport_t *)args;
905 StrMpl_setStr(ATCmd_netappPingStr,&buff,ATCMD_DELIM_EVENT);
908 StrMpl_setVal(¶ms->PacketsSent, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
910 StrMpl_setVal(¶ms->PacketsReceived, &buff,ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
912 StrMpl_setVal(¶ms->AvgRoundTime, &buff,ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
919 void ATCmdNetapp_pingReport(SlNetAppPingReport_t *report)
921 SlNetAppPingReport_t *params = malloc(
sizeof(SlNetAppPingReport_t));
927 memcpy(params,report,
sizeof(SlNetAppPingReport_t));
928 ATCmd_commandResult(ATCmdNetapp_pingResult,params,0);
945 ATCmdNetapp_Ping_t params;
947 memset(¶ms, 0x0,
sizeof(ATCmdNetapp_Ping_t));
950 ret = ATCmdNetapp_pingParse((
char *)arg, ¶ms);
954 ATCmd_errorResult(ATCmd_errorParseStr,ret);
959 ret = sl_NetAppPing(¶ms.pingParams, params.family,¶ms.report,ATCmdNetapp_pingReport);
963 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
980 int32_t ATCmdNetapp_getServiceListFree(ATCmdNetapp_GetServiceList_t *params)
984 if (params->buffer != NULL)
986 free(params->buffer);
1003 int32_t ATCmdNetapp_getServiceListParse(
char *buff, ATCmdNetapp_GetServiceList_t *params)
1008 if ((ret = StrMpl_getVal(&buff, ¶ms->offest, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1014 if ((ret = StrMpl_getVal(&buff, ¶ms->maxCount , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
1020 if ((ret = StrMpl_getListVal(ATCmd_netappServiceListFlags,
sizeof(ATCmd_netappServiceListFlags)/
sizeof(StrMpl_List_t), &buff, ¶ms->flags, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1038 int32_t ATCmdNetapp_getServiceListResult(
void *args, int32_t num,
char *buff)
1040 ATCmdNetapp_GetServiceList_t *params = (ATCmdNetapp_GetServiceList_t *)args;
1043 uint8_t numParams = ((params->flags == SL_NETAPP_SHORT_SERVICE_IPV4_TYPE) || (params->flags == SL_NETAPP_SHORT_SERVICE_IPV6_TYPE))? 2:
1044 ((params->flags == SL_NETAPP_FULL_SERVICE_IPV4_TYPE) || (params->flags == SL_NETAPP_FULL_SERVICE_IPV6_TYPE))?4:5;
1046 StrMpl_setStr(ATCmd_netappGetServiceListStr,&buff,ATCMD_DELIM_EVENT);
1048 for (i=0;i < params->count;i++)
1050 delimiter = ATCMD_DELIM_ARG;
1051 if ((params->flags == SL_NETAPP_FULL_SERVICE_WITH_TEXT_IPV4_TYPE) ||
1052 (params->flags == SL_NETAPP_FULL_SERVICE_IPV4_TYPE) ||
1053 (params->flags == SL_NETAPP_SHORT_SERVICE_IPV4_TYPE))
1056 ATCmd_valToIPv4(((SlNetAppGetShortServiceIpv4List_t *)(params->buffer))->service_ipv4, ip);
1057 StrMpl_setArrayVal(ip,&buff,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_8 | STRMPL_FLAG_PARAM_UNSIGNED);
1060 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1063 StrMpl_setVal(&(((SlNetAppGetShortServiceIpv4List_t *)(params->buffer))->service_port), &buff,delimiter,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1067 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceIpv4List_t *)(params->buffer))->service_name),&buff,ATCMD_DELIM_ARG);
1071 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1074 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceIpv4List_t *)(params->buffer))->service_host),&buff,delimiter);
1078 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1080 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceWithTextIpv4List_t *)(params->buffer))->service_text),&buff,delimiter);
1087 StrMpl_setArrayVal(((SlNetAppGetShortServiceIpv6List_t *)(params->buffer))->service_ipv6,&buff,4,ATCMD_DELIM_TRM,ATCMD_DELIM_ARRAY,STRMPL_FLAG_PARAM_HEX | STRMPL_FLAG_PARAM_SIZE_32 | STRMPL_FLAG_PARAM_UNSIGNED);
1092 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1095 StrMpl_setVal(&(((SlNetAppGetShortServiceIpv6List_t *)(params->buffer))->service_port),&buff,delimiter,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1099 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceIpv6List_t *)(params->buffer))->service_name),&buff,ATCMD_DELIM_ARG);
1103 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1106 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceIpv6List_t *)(params->buffer))->service_host),&buff,delimiter);
1110 delimiter = (i == (params->count - 1))?ATCMD_DELIM_TRM:ATCMD_DELIM_LIST;
1112 StrMpl_setStr((
char *)(((SlNetAppGetFullServiceWithTextIpv6List_t *)(params->buffer))->service_text),&buff,delimiter);
1118 ATCmdNetapp_getServiceListFree(params);
1138 ATCmdNetapp_GetServiceList_t *params;
1140 params = malloc(
sizeof(ATCmdNetapp_GetServiceList_t));
1144 ATCmd_errorResult(ATCmd_errorAllocStr,0);
1147 memset(params, 0x0,
sizeof(ATCmdNetapp_GetServiceList_t));
1150 ret = ATCmdNetapp_getServiceListParse((
char *)arg, params);
1154 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1155 ATCmdNetapp_getServiceListFree(params);
1158 params->bufferLen = params->maxCount * ATCmdNetapp_serviceSize[params->flags];
1159 if (params->bufferLen > ATCMDNETAPP_MAX_BUFFER_LEN)
1161 params->bufferLen = ATCMDNETAPP_MAX_BUFFER_LEN;
1163 params->buffer = malloc(params->bufferLen);
1164 if (params->buffer == NULL)
1166 ATCmd_errorResult(ATCmd_errorAllocStr,0);
1167 ATCmdNetapp_getServiceListFree(params);
1171 params->count = sl_NetAppGetServiceList(params->offest, params->maxCount, params->flags,params->buffer,params->bufferLen);
1173 if (params->count < 0)
1175 ATCmd_errorResult(ATCmd_errorCmdStr,params->count);
1176 ATCmdNetapp_getServiceListFree(params);
1181 ATCmd_commandResult(ATCmdNetapp_getServiceListResult,params,0);
1196 int32_t ATCmdNetapp_registerServiceFree(ATCmdNetapp_RegisterService_t *params)
1198 if (params->serviceName != NULL)
1200 free(params->serviceName);
1202 if (params->text!= NULL)
1219 int32_t ATCmdNetapp_registerServiceParse(
char *buff, ATCmdNetapp_RegisterService_t *params)
1224 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->serviceName, ATCMD_DELIM_ARG, SL_NETAPP_MAX_SERVICE_NAME_SIZE ,ATCmd_excludeDelimStr)) < 0)
1228 params->serviceNameLen = strlen((
char *)params->serviceName);
1231 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->text, ATCMD_DELIM_ARG, SL_NETAPP_MAX_SERVICE_TEXT_SIZE ,ATCmd_excludeDelimStr)) < 0)
1235 params->textLen = strlen((
char *)params->text);
1238 if ((ret = StrMpl_getVal(&buff, ¶ms->port, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1244 if ((ret = StrMpl_getVal(&buff, ¶ms->ttl , ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32)) < 0)
1250 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappRegServiceOptions,
sizeof(ATCmd_netappRegServiceOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->options, ATCMD_DELIM_TRM , ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1272 ATCmdNetapp_RegisterService_t params;
1274 memset(¶ms, 0x0,
sizeof(ATCmdNetapp_RegisterService_t));
1277 ret = ATCmdNetapp_registerServiceParse((
char *)arg, ¶ms);
1281 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1282 ATCmdNetapp_registerServiceFree(¶ms);
1286 if ((params.serviceNameLen + params.textLen) > SL_NETAPP_MDNS_MAX_SERVICE_NAME_AND_TEXT_LENGTH)
1288 ATCmd_errorResult(ATCmd_errorParseStr,0);
1289 ATCmdNetapp_registerServiceFree(¶ms);
1294 ret = sl_NetAppMDNSRegisterService(params.serviceName, params.serviceNameLen, params.text,params.textLen,params.port,params.ttl,params.options);
1298 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1304 ATCmdNetapp_registerServiceFree(¶ms);
1317 int32_t ATCmdNetapp_unregisterServiceFree(ATCmdNetapp_UnregisterService_t *params)
1319 if (params->serviceName != NULL)
1321 free(params->serviceName);
1336 int32_t ATCmdNetapp_unregisterServiceParse(
char *buff, ATCmdNetapp_UnregisterService_t *params)
1341 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->serviceName, ATCMD_DELIM_ARG, SL_NETAPP_MAX_SERVICE_NAME_SIZE ,ATCmd_excludeDelimStr)) < 0)
1343 if (ret != STRMPL_ERROR_PARAM_MISSING)
1348 params->serviceNameLen = strlen((
char *)params->serviceName);
1351 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappRegServiceOptions,
sizeof(ATCmd_netappRegServiceOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->options, ATCMD_DELIM_TRM , ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
1353 if (ret != STRMPL_ERROR_PARAM_MISSING)
1377 ATCmdNetapp_UnregisterService_t params;
1379 memset(¶ms, 0x0,
sizeof(ATCmdNetapp_UnregisterService_t));
1382 ret = ATCmdNetapp_unregisterServiceParse((
char *)arg, ¶ms);
1386 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1387 ATCmdNetapp_unregisterServiceFree(¶ms);
1392 ret = sl_NetAppMDNSUnRegisterService(params.serviceName, params.serviceNameLen, params.options);
1396 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1402 ATCmdNetapp_unregisterServiceFree(¶ms);
1416 int32_t ATCmdNetapp_setFree(ATCmdNetapp_Set_t *params)
1418 if (params->value != NULL)
1420 free(params->value);
1435 int32_t ATCmdNetapp_setParse(
char *buff, ATCmdNetapp_Set_t *params)
1441 if ((ret = StrMpl_getListVal(ATCmd_netappType,
sizeof(ATCmd_netappType)/
sizeof(StrMpl_List_t), &buff, ¶ms->id, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1449 case SL_NETAPP_HTTP_SERVER_ID:
1450 if ((ret = StrMpl_getListVal(ATCmd_netappHttpSrvOptions,
sizeof(ATCmd_netappHttpSrvOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1455 switch (params->option)
1457 case SL_NETAPP_HTTP_AUTH_CHECK:
1458 case SL_NETAPP_HTTP_ROM_PAGES_ACCESS:
1459 case SL_NETAPP_HTTP_SECONDARY_PORT_ENABLE:
1460 case SL_NETAPP_HTTP_PRIMARY_PORT_SECURITY_MODE:
1461 params->len =
sizeof(uint8_t);
1462 params->value = malloc(params->len);
1463 if (params->value == NULL)
1467 if ((ret = StrMpl_getVal(&buff, (
void *)params->value , ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_8)) < 0)
1472 case SL_NETAPP_HTTP_PRIMARY_PORT_NUMBER:
1473 case SL_NETAPP_HTTP_SECONDARY_PORT_NUMBER:
1474 params->len =
sizeof(uint16_t);
1475 params->value = malloc(params->len);
1476 if (params->value == NULL)
1480 if ((ret = StrMpl_getVal(&buff, (
void *)params->value , ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16)) < 0)
1485 case SL_NETAPP_HTTP_AUTH_NAME:
1486 case SL_NETAPP_HTTP_AUTH_PASSWORD:
1487 case SL_NETAPP_HTTP_AUTH_REALM:
1488 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, SL_NETAPP_MAX_AUTH_NAME_LEN ,ATCmd_excludeDelimStr)) < 0)
1492 params->len = strlen((
char *)params->value);
1495 case SL_NETAPP_HTTP_PRIVATE_KEY_FILENAME:
1496 case SL_NETAPP_HTTP_DEVICE_CERTIFICATE_FILENAME:
1497 case SL_NETAPP_HTTP_CA_CERTIFICATE_FILE_NAME:
1498 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, ATCMDNETAPP_MAX_SECURITY_FILE_NAME_SIZE ,ATCmd_excludeDelimStr)) < 0)
1502 params->len = strlen((
char *)params->value);
1505 case SL_NETAPP_HTTP_TEMP_REGISTER_MDNS_SERVICE_NAME:
1506 case SL_NETAPP_HTTP_TEMP_UNREGISTER_MDNS_SERVICE_NAME:
1507 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, ATCMDNETAPP_MAX_SIZE_OF_DEVICE_NAME ,ATCmd_excludeDelimStr)) < 0)
1511 params->len = strlen((
char *)params->value);
1519 case SL_NETAPP_DHCP_SERVER_ID:
1520 if ((ret = StrMpl_getListVal(ATCmd_netappDhcpSrvOptions,
sizeof(ATCmd_netappDhcpSrvOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1525 switch (params->option)
1527 case SL_NETAPP_DHCP_SRV_BASIC_OPT:
1528 params->len =
sizeof(SlNetAppDhcpServerBasicOpt_t);
1529 params->value = malloc(params->len);
1530 if (params->value == NULL)
1534 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppDhcpServerBasicOpt_t *)(params->value))->lease_time), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1538 if ((ret = StrMpl_getArrayVal(&buff,(
void *)ip,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER, STRMPL_FLAG_PARAM_SIZE_8 ,ATCmd_excludeDelimArray)) < 0)
1542 ((SlNetAppDhcpServerBasicOpt_t *)(params->value))->ipv4_addr_start = SL_IPV4_VAL(ip[0],ip[1],ip[2],ip[3]);
1543 if ((ret = StrMpl_getArrayVal(&buff,(
void *)ip,4,ATCMD_DELIM_TRM,ATCMD_DELIM_INTER, STRMPL_FLAG_PARAM_SIZE_8 ,ATCmd_excludeDelimArray)) < 0)
1547 ((SlNetAppDhcpServerBasicOpt_t *)(params->value))->ipv4_addr_last = SL_IPV4_VAL(ip[0],ip[1],ip[2],ip[3]);
1555 case SL_NETAPP_MDNS_ID:
1556 if ((ret = StrMpl_getListVal(ATCmd_netappMdnsOptions,
sizeof(ATCmd_netappMdnsOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1561 switch (params->option)
1563 case SL_NETAPP_MDNS_CONT_QUERY_OPT:
1564 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, ATCMDNETAPP_MAX_SIZE_OF_DEVICE_NAME ,ATCmd_excludeDelimStr)) < 0)
1568 params->len = strlen((
char *)params->value);
1570 case SL_NETAPP_MDNS_QEVETN_MASK_OPT:
1571 params->len =
sizeof(uint32_t);
1572 params->value = malloc(params->len);
1573 if (params->value == NULL)
1577 if ((ret = StrMpl_getBitmaskListVal(ATCmd_netappMdnsTypes,
sizeof(ATCmd_netappMdnsTypes)/
sizeof(StrMpl_List_t), &buff, (
void *)params->value, ATCMD_DELIM_TRM, ATCMD_DELIM_BIT, ATCmd_excludeDelimArray, STRMPL_FLAG_PARAM_SIZE_32)) < 0)
1583 case SL_NETAPP_MDNS_TIMING_PARAMS_OPT:
1584 params->len =
sizeof(SlNetAppServiceAdvertiseTimingParameters_t);
1585 params->value = malloc(params->len);
1586 if (params->value == NULL)
1590 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->t), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1594 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->p), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1598 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->k), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1602 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->RetransInterval), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1606 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->Maxinterval), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1610 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->max_time), ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32 )) < 0)
1622 case SL_NETAPP_DEVICE_ID:
1623 if ((ret = StrMpl_getListVal(ATCmd_netappDevOptions,
sizeof(ATCmd_netappDevOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1628 switch (params->option)
1630 case SL_NETAPP_DEVICE_URN:
1631 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, SL_NETAPP_MAX_DEVICE_URN_LEN ,ATCmd_excludeDelimStr)) < 0)
1635 params->len = strlen((
char *)params->value);
1638 case SL_NETAPP_DEVICE_DOMAIN:
1639 if ((ret = StrMpl_getAllocStr(&buff, (
char **)¶ms->value, ATCMD_DELIM_TRM, ATCMDNETAPP_MAX_DOMAIN_NAME_LEN ,ATCmd_excludeDelimStr)) < 0)
1643 params->len = strlen((
char *)params->value);
1650 case SL_NETAPP_DNS_CLIENT_ID:
1651 if ((ret = StrMpl_getListVal(ATCmd_netappDnsClientOptions,
sizeof(ATCmd_netappDnsClientOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1656 switch (params->option)
1658 case SL_NETAPP_DNS_CLIENT_TIME:
1659 params->value = malloc(
sizeof(SlNetAppDnsClientTime_t));
1660 if (params->value == NULL)
1664 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppDnsClientTime_t *)(params->value))->MaxResponseTime), ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1668 if ((ret = StrMpl_getVal(&buff, &(((SlNetAppDnsClientTime_t *)(params->value))->NumOfRetries), ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16 )) < 0)
1672 params->len =
sizeof(SlNetAppDnsClientTime_t);
1701 ATCmdNetapp_Set_t params;
1703 memset(¶ms, 0x0,
sizeof(ATCmdNetapp_Set_t));
1706 ret = ATCmdNetapp_setParse((
char *)arg, ¶ms);
1710 ATCmd_errorResult(ATCmd_errorParseStr,ret);
1711 ATCmdNetapp_setFree(¶ms);
1716 ret = sl_NetAppSet(params.id,params.option,params.len,params.value);
1720 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
1727 ATCmdNetapp_setFree(¶ms);
1740 int32_t ATCmdNetapp_getFree(ATCmdNetapp_Set_t *params)
1744 if (params->value != NULL)
1746 free(params->value);
1763 int32_t ATCmdNetapp_getParse(
char *buff, ATCmdNetapp_Set_t *params)
1768 if ((ret = StrMpl_getListVal(ATCmd_netappType,
sizeof(ATCmd_netappType)/
sizeof(StrMpl_List_t), &buff, ¶ms->id, ATCMD_DELIM_ARG, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1776 case SL_NETAPP_HTTP_SERVER_ID:
1777 if ((ret = StrMpl_getListVal(ATCmd_netappHttpSrvOptions,
sizeof(ATCmd_netappHttpSrvOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1782 switch (params->option)
1784 case SL_NETAPP_HTTP_AUTH_CHECK:
1785 case SL_NETAPP_HTTP_ROM_PAGES_ACCESS:
1786 case SL_NETAPP_HTTP_SECONDARY_PORT_ENABLE:
1787 case SL_NETAPP_HTTP_PRIMARY_PORT_SECURITY_MODE:
1788 params->len =
sizeof(uint8_t);
1790 case SL_NETAPP_HTTP_PRIMARY_PORT_NUMBER:
1791 case SL_NETAPP_HTTP_SECONDARY_PORT_NUMBER:
1792 params->len =
sizeof(uint16_t);
1794 case SL_NETAPP_HTTP_AUTH_NAME:
1795 case SL_NETAPP_HTTP_AUTH_PASSWORD:
1796 case SL_NETAPP_HTTP_AUTH_REALM:
1797 params->len = SL_NETAPP_MAX_AUTH_NAME_LEN;
1800 case SL_NETAPP_HTTP_PRIVATE_KEY_FILENAME:
1801 case SL_NETAPP_HTTP_DEVICE_CERTIFICATE_FILENAME:
1802 case SL_NETAPP_HTTP_CA_CERTIFICATE_FILE_NAME:
1803 params->len = ATCMDNETAPP_MAX_SECURITY_FILE_NAME_SIZE;
1806 case SL_NETAPP_HTTP_TEMP_REGISTER_MDNS_SERVICE_NAME:
1807 case SL_NETAPP_HTTP_TEMP_UNREGISTER_MDNS_SERVICE_NAME:
1808 params->len = ATCMDNETAPP_MAX_SIZE_OF_DEVICE_NAME;
1816 case SL_NETAPP_DHCP_SERVER_ID:
1817 if ((ret = StrMpl_getListVal(ATCmd_netappDhcpSrvOptions,
sizeof(ATCmd_netappDhcpSrvOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1822 switch (params->option)
1824 case SL_NETAPP_DHCP_SRV_BASIC_OPT:
1825 params->len =
sizeof(SlNetAppDhcpServerBasicOpt_t);
1832 case SL_NETAPP_MDNS_ID:
1833 if ((ret = StrMpl_getListVal(ATCmd_netappMdnsOptions,
sizeof(ATCmd_netappMdnsOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1838 switch (params->option)
1840 case SL_NETAPP_MDNS_CONT_QUERY_OPT:
1841 params->len = ATCMDNETAPP_MAX_SIZE_OF_DEVICE_NAME;
1843 case SL_NETAPP_MDNS_QEVETN_MASK_OPT:
1844 params->len =
sizeof(uint32_t);
1847 case SL_NETAPP_MDNS_TIMING_PARAMS_OPT:
1848 params->len =
sizeof(SlNetAppServiceAdvertiseTimingParameters_t);
1856 case SL_NETAPP_DEVICE_ID:
1857 if ((ret = StrMpl_getListVal(ATCmd_netappDevOptions,
sizeof(ATCmd_netappDevOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1862 switch (params->option)
1864 case SL_NETAPP_DEVICE_URN:
1865 params->len = SL_NETAPP_MAX_DEVICE_URN_LEN;
1868 case SL_NETAPP_DEVICE_DOMAIN:
1869 params->len = ATCMDNETAPP_MAX_DOMAIN_NAME_LEN;
1876 case SL_NETAPP_DNS_CLIENT_ID:
1877 if ((ret = StrMpl_getListVal(ATCmd_netappDnsClientOptions,
sizeof(ATCmd_netappDnsClientOptions)/
sizeof(StrMpl_List_t), &buff, ¶ms->option, ATCMD_DELIM_TRM, STRMPL_FLAG_PARAM_SIZE_8 )) < 0)
1882 switch (params->option)
1884 case SL_NETAPP_DNS_CLIENT_TIME:
1885 params->len =
sizeof(SlNetAppDnsClientTime_t);
1896 params->value = malloc(params->len);
1897 if (params->value == NULL)
1915 int32_t ATCmdNetapp_getResult(
void *args, int32_t num,
char *buff)
1918 ATCmdNetapp_Set_t *params = (ATCmdNetapp_Set_t *)args;
1921 StrMpl_setStr(ATCmd_netappGetStr,&buff,ATCMD_DELIM_EVENT);
1925 case SL_NETAPP_HTTP_SERVER_ID:
1927 switch (params->option)
1929 case SL_NETAPP_HTTP_AUTH_CHECK:
1930 case SL_NETAPP_HTTP_ROM_PAGES_ACCESS:
1931 case SL_NETAPP_HTTP_SECONDARY_PORT_ENABLE:
1932 case SL_NETAPP_HTTP_PRIMARY_PORT_SECURITY_MODE:
1933 StrMpl_setVal(params->value, &buff, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_8 |STRMPL_FLAG_PARAM_UNSIGNED | STRMPL_FLAG_PARAM_DEC);
1935 case SL_NETAPP_HTTP_PRIMARY_PORT_NUMBER:
1936 case SL_NETAPP_HTTP_SECONDARY_PORT_NUMBER:
1937 StrMpl_setVal(params->value, &buff, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16 |STRMPL_FLAG_PARAM_UNSIGNED | STRMPL_FLAG_PARAM_DEC);
1939 case SL_NETAPP_HTTP_AUTH_NAME:
1940 case SL_NETAPP_HTTP_AUTH_PASSWORD:
1941 case SL_NETAPP_HTTP_AUTH_REALM:
1942 StrMpl_setStr((
char *)params->value, &buff, ATCMD_DELIM_TRM);
1950 case SL_NETAPP_DHCP_SERVER_ID:
1952 switch (params->option)
1954 case SL_NETAPP_DHCP_SRV_BASIC_OPT:
1955 StrMpl_setVal(&(((SlNetAppDhcpServerBasicOpt_t *)(params->value))->lease_time), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED | STRMPL_FLAG_PARAM_DEC);
1956 ATCmd_valToIPv4(((SlNetAppDhcpServerBasicOpt_t *)(params->value))->ipv4_addr_start, ip);
1957 StrMpl_setArrayVal(ip,&buff,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_8 | STRMPL_FLAG_PARAM_UNSIGNED);
1958 ATCmd_valToIPv4(((SlNetAppDhcpServerBasicOpt_t *)(params->value))->ipv4_addr_last, ip);
1959 StrMpl_setArrayVal(ip,&buff,4,ATCMD_DELIM_ARG,ATCMD_DELIM_INTER,STRMPL_FLAG_PARAM_DEC | STRMPL_FLAG_PARAM_SIZE_8 | STRMPL_FLAG_PARAM_UNSIGNED);
1966 case SL_NETAPP_MDNS_ID:
1968 switch (params->option)
1970 case SL_NETAPP_MDNS_CONT_QUERY_OPT:
1971 StrMpl_setStr((
char *)params->value, &buff, ATCMD_DELIM_TRM);
1973 case SL_NETAPP_MDNS_QEVETN_MASK_OPT:
1974 StrMpl_setBitmaskListStr(ATCmd_netappMdnsTypes,
sizeof(ATCmd_netappMdnsTypes)/
sizeof(StrMpl_List_t), params->value, &buff, ATCMD_DELIM_TRM, ATCMD_DELIM_BIT, STRMPL_FLAG_PARAM_SIZE_32);
1977 case SL_NETAPP_MDNS_TIMING_PARAMS_OPT:
1978 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->t), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1979 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->p), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1980 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->k), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1981 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->RetransInterval), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1982 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->Maxinterval), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1983 StrMpl_setVal(&(((SlNetAppServiceAdvertiseTimingParameters_t *)(params->value))->max_time), &buff, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_32|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
1992 case SL_NETAPP_DEVICE_ID:
1994 switch (params->option)
1996 case SL_NETAPP_DEVICE_URN:
1997 case SL_NETAPP_DEVICE_DOMAIN:
1998 StrMpl_setStr((
char *)params->value, &buff, ATCMD_DELIM_TRM);
2005 case SL_NETAPP_DNS_CLIENT_ID:
2007 switch (params->option)
2009 case SL_NETAPP_DNS_CLIENT_TIME:
2010 StrMpl_setVal(&(((SlNetAppDnsClientTime_t *)(params->value))->MaxResponseTime), &buff, ATCMD_DELIM_ARG,STRMPL_FLAG_PARAM_SIZE_16|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
2011 StrMpl_setVal(&(((SlNetAppDnsClientTime_t *)(params->value))->NumOfRetries), &buff, ATCMD_DELIM_TRM,STRMPL_FLAG_PARAM_SIZE_16|STRMPL_FLAG_PARAM_UNSIGNED|STRMPL_FLAG_PARAM_DEC);
2021 ATCmdNetapp_getFree(params);
2040 ATCmdNetapp_Set_t *params;
2042 params = malloc(
sizeof(ATCmdNetapp_Set_t));
2046 ATCmd_errorResult(ATCmd_errorAllocStr,0);
2049 memset(params, 0x0,
sizeof(ATCmdNetapp_Set_t));
2052 ret = ATCmdNetapp_getParse((
char *)arg, params);
2056 ATCmd_errorResult(ATCmd_errorParseStr,ret);
2057 ATCmdNetapp_getFree(params);
2062 ret = sl_NetAppGet(params->id,params->option,¶ms->len,params->value);
2066 ATCmd_errorResult(ATCmd_errorCmdStr,ret);
2067 ATCmdNetapp_getFree(params);
2071 ATCmd_commandResult(ATCmdNetapp_getResult,params,0);
int32_t ATCmdNetapp_pingCallback(void *arg)
Netapp Ping callback.
int32_t ATCmdNetapp_startCallback(void *arg)
Netapp start callback.
int32_t ATCmdNetapp_getServiceListCallback(void *arg)
Netapp GetServiceList callback.
int32_t ATCmdNetapp_getHostByServiceCallback(void *arg)
Netapp Get Host By Service callback.
int32_t ATCmdNetapp_stopCallback(void *arg)
Netapp stop callback.
int32_t ATCmdNetapp_getHostByNameCallback(void *arg)
Netapp Get Host By Name callback.
int32_t ATCmdNetapp_sendCallback(void *arg)
Netapp Send callback.
int32_t ATCmdNetapp_registerServiceCallback(void *arg)
Netapp RegisterMDNS callback.
int32_t ATCmdNetapp_getCallback(void *arg)
Netapp Get callback.
int32_t ATCmdNetapp_unregisterServiceCallback(void *arg)
Netapp UnregisterMDNS callback.
int32_t ATCmdNetapp_setCallback(void *arg)
Netapp Set callback.
int32_t ATCmdNetapp_recvCallback(void *arg)
Netapp Recv callback.