support aliyun sdk on TencentOS tiny

sample: examples\aliyun_iotkit_csdk_mqtt
project: board\TencentOS_tiny_EVB_MX_Plus\KEIL\aliyun_iotkit_csdk_mqtt
This commit is contained in:
dcxajichu
2019-10-31 16:36:28 +08:00
parent 30ea36a7ab
commit 8c24d921b0
692 changed files with 199829 additions and 0 deletions

View File

@@ -0,0 +1,220 @@
#!/bin/bash
throw() {
echo "$*" >&2
exit 1
}
BRIEF=0
LEAFONLY=0
PRUNE=0
NO_HEAD=0
NORMALIZE_SOLIDUS=0
usage() {
echo
echo "Usage: JSON.sh [-b] [-l] [-p] [-s] [-h]"
echo
echo "-p - Prune empty. Exclude fields with empty values."
echo "-l - Leaf only. Only show leaf nodes, which stops data duplication."
echo "-b - Brief. Combines 'Leaf only' and 'Prune empty' options."
echo "-c - Brief. Combines 'Leaf only' and 'Prune empty' options, but print code"
echo "-n - No-head. Do not show nodes that have no path (lines that start with [])."
echo "-s - Remove escaping of the solidus symbol (straight slash)."
echo "-h - This help text."
echo
}
parse_options() {
set -- "$@"
local ARGN=$#
while [ "$ARGN" -ne 0 ]
do
case $1 in
-h) usage
exit 0
;;
-b) BRIEF=1
LEAFONLY=1
PRUNE=1
CODE=0
;;
-c) BRIEF=1
LEAFONLY=1
PRUNE=1
CODE=1
;;
-l) LEAFONLY=1
;;
-p) PRUNE=1
;;
-n) NO_HEAD=1
;;
-s) NORMALIZE_SOLIDUS=1
;;
?*) echo "ERROR: Unknown option."
usage
exit 0
;;
esac
shift 1
ARGN=$((ARGN-1))
done
}
awk_egrep () {
local pattern_string=$1
gawk '{
while ($0) {
start=match($0, pattern);
token=substr($0, start, RLENGTH);
print token;
$0=substr($0, start+RLENGTH);
}
}' pattern="$pattern_string"
}
tokenize () {
local GREP
local ESCAPE
local CHAR
if echo "test string" | egrep -ao --color=never "test" >/dev/null 2>&1
then
GREP='egrep -ao --color=never'
else
GREP='egrep -ao'
fi
if echo "test string" | egrep -o "test" >/dev/null 2>&1
then
ESCAPE='(\\[^u[:cntrl:]]|\\u[0-9a-fA-F]{4})'
CHAR='[^[:cntrl:]"\\]'
else
GREP=awk_egrep
ESCAPE='(\\\\[^u[:cntrl:]]|\\u[0-9a-fA-F]{4})'
CHAR='[^[:cntrl:]"\\\\]'
fi
local STRING="\"$CHAR*($ESCAPE$CHAR*)*\""
local NUMBER='-?(0|[1-9][0-9]*)([.][0-9]*)?([eE][+-]?[0-9]*)?'
local KEYWORD='null|false|true'
local SPACE='[[:space:]]+'
# Force zsh to expand $A into multiple words
local is_wordsplit_disabled=$(unsetopt 2>/dev/null | grep -c '^shwordsplit$')
if [ $is_wordsplit_disabled != 0 ]; then setopt shwordsplit; fi
$GREP "$STRING|$NUMBER|$KEYWORD|$SPACE|." | egrep -v "^$SPACE$"
if [ $is_wordsplit_disabled != 0 ]; then unsetopt shwordsplit; fi
}
parse_array () {
local index=0
local ary=''
read -r token
case "$token" in
']') ;;
*)
while :
do
parse_value "$1" "$index"
index=$((index+1))
ary="$ary""$value"
read -r token
case "$token" in
']') break ;;
',') ary="$ary," ;;
*) throw "EXPECTED , or ] GOT ${token:-EOF}" ;;
esac
read -r token
done
;;
esac
[ "$BRIEF" -eq 0 ] && value=$(printf '[%s]' "$ary") || value=
:
}
parse_object () {
local key
local obj=''
read -r token
case "$token" in
'}') ;;
*)
while :
do
case "$token" in
'"'*'"') key=$token ;;
*) throw "EXPECTED string GOT ${token:-EOF}" ;;
esac
read -r token
case "$token" in
':') ;;
*) throw "EXPECTED : GOT ${token:-EOF}" ;;
esac
read -r token
parse_value "$1" "$key"
obj="$obj$key:$value"
read -r token
case "$token" in
'}') break ;;
',') obj="$obj," ;;
*) throw "EXPECTED , or } GOT ${token:-EOF}" ;;
esac
read -r token
done
;;
esac
[ "$BRIEF" -eq 0 ] && value=$(printf '{%s}' "$obj") || value=
:
}
parse_value () {
local jpath="${1:+$1,}$2" isleaf=0 isempty=0 print=0
local cpath="$(echo ${jpath}|sed 's:"*,"*:__:g;s:"::g')"
case "$token" in
'{') parse_object "$jpath" ;;
'[') parse_array "$jpath" ;;
# At this point, the only valid single-character tokens are digits.
''|[!0-9]) throw "EXPECTED value GOT ${token:-EOF}" ;;
*) value=$token
# if asked, replace solidus ("\/") in json strings with normalized value: "/"
[ "$NORMALIZE_SOLIDUS" -eq 1 ] && value=$(echo "$value" | sed 's#\\/#/#g')
isleaf=1
[ "$value" = '""' ] && isempty=1
;;
esac
[ "$value" = '' ] && return
[ "$NO_HEAD" -eq 1 ] && [ -z "$jpath" ] && return
[ "$LEAFONLY" -eq 0 ] && [ "$PRUNE" -eq 0 ] && print=1
[ "$LEAFONLY" -eq 1 ] && [ "$isleaf" -eq 1 ] && [ $PRUNE -eq 0 ] && print=1
[ "$LEAFONLY" -eq 0 ] && [ "$PRUNE" -eq 1 ] && [ "$isempty" -eq 0 ] && print=1
[ "$LEAFONLY" -eq 1 ] && [ "$isleaf" -eq 1 ] && \
[ $PRUNE -eq 1 ] && [ $isempty -eq 0 ] && print=1
if [ "$CODE" = "0" ]; then
[ "$print" -eq 1 ] && printf "[%s]\t%s\n" "$jpath" "$value"
else
[ "$print" -eq 1 ] && printf "%s=%s\n" "$cpath" "$value"
fi
:
}
parse () {
read -r token
parse_value
read -r token
case "$token" in
'') ;;
*) throw "EXPECTED EOF GOT $token" ;;
esac
}
if ([ "$0" = "$BASH_SOURCE" ] || ! [ -n "$BASH_SOURCE" ]);
then
parse_options "$@"
tokenize | parse
fi
# vi: expandtab sw=2 ts=2

View File

@@ -0,0 +1,44 @@
#! /bin/bash
alias_map()
{
VAR_ALIAS="$1"
VAR_NAME="$2"
VAR_VAL="$(eval echo '${'${VAR_NAME}'}')"
eval "${VAR_ALIAS}=${VAR_VAL}"
VARS_LIST="${VARS_LIST} ${VAR_ALIAS}"
}
SELF_DIR=$(cd "$(dirname "$0")";pwd)
JPARSER=${SELF_DIR}/JSON.sh
MODEL_FL="${SELF_DIR}/../../model.json"
SRC_FL="${SELF_DIR}/linkkit_example_auto.c"
DST_FL="$1"
VARS_FL="${PWD}/.temp_dm_auto_cache"
VARS_LIST=""
if [ -f ${MODEL_FL} ]; then
echo "Processing [${MODEL_FL}] ..."
fi
${JPARSER} -c < ${MODEL_FL} > ${VARS_FL}
source ${VARS_FL}
alias_map "DEVICE_PK" "profile__productKey"
alias_map "DM_PROP_ID" "properties__0__identifier"
alias_map "DM_EVT_ID" "events__1__identifier"
alias_map "DM_EVT_OU_KEY" "events__1__outputData__0__identifier"
mkdir -p $(dirname ${DST_FL})
cp ${SRC_FL} ${DST_FL}
echo "Recognised Variables:"
echo ""
for iter in ${VARS_LIST}; do
iter_val=$(eval echo '$'${iter})
printf "%16s : %-32s\n" ${iter} ${iter_val}
sed -i "s: ###${iter}### :${iter_val}:g" ${DST_FL}
done
echo ""
rm -f ${VARS_FL}

View File

@@ -0,0 +1,222 @@
/*
* Copyright (C) 2015-2018 Alibaba Group Holding Limited
*/
#include <stdio.h>
#include <string.h>
#include "infra_types.h"
#include "infra_defs.h"
#include "infra_compat.h"
#include "infra_compat.h"
#include "dev_model_api.h"
#include "dm_wrapper.h"
#include "cJSON.h"
#ifdef ATM_ENABLED
#include "at_api.h"
#endif
void HAL_Printf(const char *fmt, ...);
int HAL_SetProductKey(char *product_key);
int HAL_SetDeviceName(char *device_name);
int HAL_SetProductSecret(char *product_secret);
int HAL_SetDeviceSecret(char *device_secret);
/* Fill in your device info here */
#define PRODUCT_KEY " ###DEVICE_PK### "
#define PRODUCT_SECRET "0HxtPRZjwr14bi7K"
#define DEVICE_NAME "auto_example1"
#define DEVICE_SECRET "L1xQk7AntumkNNc8wvHwMJsh9PBoexN0"
/* This time interval will be given to SDK for receiving packets from network */
#define USER_EXAMPLE_YIELD_TIMEOUT_MS (200)
#define EXAMPLE_TRACE(...) \
do { \
HAL_Printf("\033[1;32;40m%s.%d: ", __func__, __LINE__); \
HAL_Printf(__VA_ARGS__); \
HAL_Printf("\033[0m\r\n"); \
} while (0)
typedef struct {
int cloud_connected;
int master_devid;
int master_initialized;
} user_example_ctx_t;
static user_example_ctx_t g_user_example_ctx;
static user_example_ctx_t *user_example_get_ctx(void)
{
return &g_user_example_ctx;
}
static int user_connected_event_handler(void)
{
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
EXAMPLE_TRACE("Alibaba Cloud Connected Successfully!");
user_example_ctx->cloud_connected = 1;
return 0;
}
static int user_master_dev_available(void)
{
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
if (user_example_ctx->cloud_connected && user_example_ctx->master_initialized) {
return 1;
}
return 0;
}
static int user_disconnected_event_handler(void)
{
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
EXAMPLE_TRACE("Cloud Disconnected Event Arrived!");
user_example_ctx->cloud_connected = 0;
return 0;
}
static int user_property_set_event_handler(const int devid, const char *request, const int request_len)
{
int res = 0;
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
EXAMPLE_TRACE("Property Set Received, Devid: %d, Request: %s", devid, request);
res = IOT_Linkkit_Report(user_example_ctx->master_devid,
ITM_MSG_POST_PROPERTY,
(unsigned char *)request,
request_len);
EXAMPLE_TRACE("Post Property Message ID: %d", res);
return 0;
}
static int user_initialized(const int devid)
{
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
EXAMPLE_TRACE("Device Initialized, Devid: %d", devid);
if (user_example_ctx->master_devid == devid) {
user_example_ctx->master_initialized = 1;
}
return 0;
}
void user_post_property(void)
{
int res = 0;
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
char *property_payload = "NULL";
/* Normal Example */
property_payload = "{\" ###DM_PROP_ID### \":0}";
res = IOT_Linkkit_Report(user_example_ctx->master_devid,
ITM_MSG_POST_PROPERTY,
(unsigned char *)property_payload,
strlen(property_payload));
EXAMPLE_TRACE("Post Property Message ID: %d", res);
}
void user_post_event(void)
{
int res = 0;
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
char *event_id = " ###DM_EVT_ID### ";
char *event_payload = "NULL";
/* Normal Example */
event_payload = "{\" ###DM_EVT_OU_KEY### \":0}";
res = IOT_Linkkit_TriggerEvent(user_example_ctx->master_devid,
event_id,
strlen(event_id),
event_payload,
strlen(event_payload));
EXAMPLE_TRACE("Post Event Message ID: %d", res);
}
void set_iotx_info()
{
HAL_SetProductKey(PRODUCT_KEY);
HAL_SetProductSecret(PRODUCT_SECRET);
HAL_SetDeviceName(DEVICE_NAME);
HAL_SetDeviceSecret(DEVICE_SECRET);
}
int main(void)
{
unsigned int loop_cnt = 0;
int res = 0;
iotx_linkkit_dev_meta_info_t master_meta_info;
user_example_ctx_t *user_example_ctx = user_example_get_ctx();
#ifdef ATM_ENABLED
if (IOT_ATM_Init() < 0) {
EXAMPLE_TRACE("IOT ATM init failed!\n");
return -1;
}
#endif
IOT_SetLogLevel(IOT_LOG_DEBUG);
set_iotx_info();
/* Register Callback to Listen What You Interested inside SDK */
IOT_RegisterCallback(ITE_CONNECT_SUCC, user_connected_event_handler);
IOT_RegisterCallback(ITE_INITIALIZE_COMPLETED, user_initialized);
IOT_RegisterCallback(ITE_PROPERTY_SET, user_property_set_event_handler);
IOT_RegisterCallback(ITE_DISCONNECTED, user_disconnected_event_handler);
/* Create Meta Information Struct for IOT_Linkkit_Open() */
memset(&master_meta_info, 0, sizeof(iotx_linkkit_dev_meta_info_t));
memcpy(master_meta_info.product_key, PRODUCT_KEY, strlen(PRODUCT_KEY));
memcpy(master_meta_info.product_secret, PRODUCT_SECRET, strlen(PRODUCT_SECRET));
memcpy(master_meta_info.device_name, DEVICE_NAME, strlen(DEVICE_NAME));
memcpy(master_meta_info.device_secret, DEVICE_SECRET, strlen(DEVICE_SECRET));
/* Create Master Device Resources by IOT_Linkkit_Open() */
memset(user_example_ctx, 0, sizeof(user_example_ctx_t));
user_example_ctx->master_devid = IOT_Linkkit_Open(IOTX_LINKKIT_DEV_TYPE_MASTER, &master_meta_info);
if (user_example_ctx->master_devid < 0) {
EXAMPLE_TRACE("IOT_Linkkit_Open() Failed\n");
return -1;
}
EXAMPLE_TRACE("IOT_Linkkit_Open() Success!\n");
/* Start Connectting Alibaba Cloud */
res = IOT_Linkkit_Connect(user_example_ctx->master_devid);
if (res < 0) {
EXAMPLE_TRACE("IOT_Linkkit_Connect() Failed\n");
return -1;
}
EXAMPLE_TRACE("IOT_Linkkit_Connect() Success! res = IOT_Linkkit_Connect() = %d\n", res);
/* Infinite Loop of Processing Command Received from Cloud */
while (1) {
IOT_Linkkit_Yield(USER_EXAMPLE_YIELD_TIMEOUT_MS);
/* Post Proprety Example */
if (loop_cnt % 100 == 0 && user_master_dev_available()) {
EXAMPLE_TRACE("loop_cnt = %d, going to post property\n", loop_cnt);
user_post_property();
}
/* Post Event Example */
if (loop_cnt % 180 == 0 && user_master_dev_available()) {
EXAMPLE_TRACE("loop_cnt = %d, going to post event\n", loop_cnt);
user_post_event();
}
++ loop_cnt;
}
IOT_Linkkit_Close(user_example_ctx->master_devid);
IOT_DumpMemoryStats(IOT_LOG_DEBUG);
IOT_SetLogLevel(IOT_LOG_NONE);
return 0;
}

View File

@@ -0,0 +1,70 @@
LIB_SDK_TARGET := libiot_sdk.a
LIB_HAL_TARGET := libiot_hal.a
###############################################################################
# Compiler
CC := gcc
AR := ar
###############################################################################
# Path definitions
TOPDIR := .
BLDDIR := build
SRCDIR := eng
EXPDIR := examples
HDRDIR := $(shell find $(SRCDIR) -type d)
PROG_TARGET := $(shell ls $(EXPDIR) 2>/dev/null|grep example|sed 's:\.c::g;s:_:-:g')
PROG_TARGET := $(foreach V,$(PROG_TARGET),$(BLDDIR)/$(V))
###############################################################################
# Application source files
SOURCE_FILES_C := $(shell find $(SRCDIR) -name "*.c" -not -path "*wrappers*")
WRAPPER_IMPL_C := $(shell find $(SRCDIR) -name "*.c" -path "*wrappers*")
###############################################################################
# Standard application lib/header search paths
CFLAGS := $(addprefix -I,$(HDRDIR))
LDFLAGS := -L$(BLDDIR) -liot_sdk -liot_hal -lpthread -lrt
###############################################################################
# Dependency rules
LIB_OBJS := $(SOURCE_FILES_C:.c=.o)
LIB_OBJS := $(subst $(SRCDIR),$(BLDDIR),$(LIB_OBJS))
HAL_OBJS := $(WRAPPER_IMPL_C:.c=.o)
HAL_OBJS := $(subst $(SRCDIR),$(BLDDIR),$(HAL_OBJS))
.PHONY: prepare all clean prog
all: prepare $(BLDDIR)/$(LIB_SDK_TARGET) $(BLDDIR)/$(LIB_HAL_TARGET)
prog: all $(PROG_TARGET)
prepare:
-@mkdir -p $(BLDDIR)
$(BLDDIR)/$(LIB_SDK_TARGET): $(LIB_OBJS)
@echo "o Archiving $@ ..."
@$(AR) -rcs $@ $^
$(BLDDIR)/$(LIB_HAL_TARGET): $(HAL_OBJS)
@echo "o Archiving $@ ..."
@$(AR) -rcs $@ $^
$(PROG_TARGET): $(BLDDIR)/$(LIB_SDK_TARGET) $(BLDDIR)/$(LIB_HAL_TARGET)
@echo "+ Linking $@ ..."
@$(CC) -o $@ $(shell echo $@".c"|sed 's:$(BLDDIR):$(EXPDIR):g;s:-:_:g') $(CFLAGS) $(LDFLAGS)
$(BLDDIR)/%.o: $(SRCDIR)/%.c
@echo ": Compiling $< ..."
@mkdir -p $(shell dirname $@)
@$(CC) -o $@ -c $< $(CFLAGS)
clean:
@rm -rf $(BLDDIR)

View File

@@ -0,0 +1,700 @@
WRAPPER_NOTE:
/**
* NOTE:
*
* HAL_TCP_xxx API reference implementation: wrappers/os/ubuntu/HAL_TCP_linux.c
*
*/
WRAPPER_FUNC_REFERENCE:
/**
 *
 * 函数 FUNC_NAME() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of FUNC_NAME() requires to be implemented by user of SDK, according to target device platform
 *
 * 如果需要参考如何实现函数 FUNC_NAME(), 可以查阅SDK移植到 Ubuntu Linux 上时的示例代码
 * ---
 * If you need guidance about how to implement FUNC_NAME, you can check its reference implementation for Ubuntu platform
 *
 * https://code.aliyun.com/linkkit/c-sdk/blob/v3.0.1/wrappers/FUNC_FILE
 *
 *
 * 注意! HAL_XXX() 系列的函数虽然有阿里提供的对应参考实现, 但不建议您不做任何修改/检视的应用于您的商用设备!
 * 
 * 注意! 参考示例实现仅用于解释各个 HAL_XXX() 系列函数的语义!
 * 
 */
HAL_Malloc:
/**
* @brief Allocates a block of size bytes of memory, returning a pointer to the beginning of the block.
*
* @param [in] size @n specify block size in bytes.
* @return A pointer to the beginning of the block.
* @see None.
* @note Block value is indeterminate.
*/
HAL_Free:
/**
* @brief Deallocate memory block
*
* @param[in] ptr @n Pointer to a memory block previously allocated with platform_malloc.
* @return None.
* @see None.
* @note None.
*/
HAL_Printf:
/**
* @brief Writes formatted data to stream.
*
* @param [in] fmt: @n String that contains the text to be written, it can optionally contain embedded format specifiers
that specifies how subsequent arguments are converted for output.
* @param [in] ...: @n the variable argument list, for formatted and inserted in the resulting string replacing their respective specifiers.
* @return None.
* @see None.
* @note None.
*/
HAL_Snprintf:
/**
* @brief Writes formatted data to string.
*
* @param [out] str: @n String that holds written text.
* @param [in] len: @n Maximum length of character will be written
* @param [in] fmt: @n Format that contains the text to be written, it can optionally contain embedded format specifiers
that specifies how subsequent arguments are converted for output.
* @param [in] ...: @n the variable argument list, for formatted and inserted in the resulting string replacing their respective specifiers.
* @return bytes of character successfully written into string.
* @see None.
* @note None.
*/
HAL_SleepMs:
/**
* @brief Sleep thread itself.
*
* @param [in] ms @n the time interval for which execution is to be suspended, in milliseconds.
* @return None.
* @see None.
* @note None.
*/
HAL_UptimeMs:
/**
* @brief Retrieves the number of milliseconds that have elapsed since the system was boot.
*
* @return the number of milliseconds.
* @see None.
* @note None.
*/
HAL_MutexCreate:
/**
* @brief Create a mutex.
*
* @retval NULL : Initialize mutex failed.
* @retval NOT_NULL : The mutex handle.
* @see None.
* @note None.
*/
HAL_MutexDestroy:
/**
* @brief Destroy the specified mutex object, it will release related resource.
*
* @param [in] mutex @n The specified mutex.
* @return None.
* @see None.
* @note None.
*/
HAL_MutexLock:
/**
* @brief Waits until the specified mutex is in the signaled state.
*
* @param [in] mutex @n the specified mutex.
* @return None.
* @see None.
* @note None.
*/
HAL_MutexUnlock:
/**
* @brief Releases ownership of the specified mutex object..
*
* @param [in] mutex @n the specified mutex.
* @return None.
* @see None.
* @note None.
*/
HAL_GetProductKey:
/**
* @brief Get product key from user's system persistent storage
*
* @param [ou] product_key: array to store product key, max length is IOTX_PRODUCT_KEY_LEN
* @return the actual length of product key
*/
HAL_GetDeviceName:
/**
* @brief Get device name from user's system persistent storage
*
* @param [ou] device_name: array to store device name, max length is IOTX_DEVICE_NAME_LEN
* @return the actual length of device name
*/
HAL_GetDeviceSecret:
/**
* @brief Get device secret from user's system persistent storage
*
* @param [ou] device_secret: array to store device secret, max length is IOTX_DEVICE_SECRET_LEN
* @return the actual length of device secret
*/
HAL_GetFirmwareVersion:
/**
* @brief Get firmware version
*
* @param [ou] version: array to store firmware version, max length is IOTX_FIRMWARE_VER_LEN
* @return the actual length of firmware version
*/
HAL_TCP_Establish:
/**
* @brief Establish a TCP connection.
*
* @param [in] host: @n Specify the hostname(IP) of the TCP server
* @param [in] port: @n Specify the TCP port of TCP server
*
* @return The handle of TCP connection.
@retval (uintptr_t)(-1): Fail.
@retval All other values(0 included): Success, the value is handle of this TCP connection.
*/
HAL_TCP_Destroy:
/**
* @brief Destroy the specific TCP connection.
*
* @param [in] fd: @n Specify the TCP connection by handle.
*
* @return The result of destroy TCP connection.
* @retval < 0 : Fail.
* @retval 0 : Success.
*/
HAL_TCP_Write:
/**
* @brief Write data into the specific TCP connection.
* The API will return immediately if 'len' be written into the specific TCP connection.
*
* @param [in] fd @n A descriptor identifying a connection.
* @param [in] buf @n A pointer to a buffer containing the data to be transmitted.
* @param [in] len @n The length, in bytes, of the data pointed to by the 'buf' parameter.
* @param [in] timeout_ms @n Specify the timeout value in millisecond. In other words, the API block 'timeout_ms' millisecond maximumly.
*
* @retval < 0 : TCP connection error occur..
* @retval 0 : No any data be write into the TCP connection in 'timeout_ms' timeout period.
* @retval (0, len] : The total number of bytes be written in 'timeout_ms' timeout period.
* @see None.
*/
HAL_TCP_Read:
/**
* @brief Read data from the specific TCP connection with timeout parameter.
* The API will return immediately if 'len' be received from the specific TCP connection.
*
* @param [in] fd @n A descriptor identifying a TCP connection.
* @param [out] buf @n A pointer to a buffer to receive incoming data.
* @param [out] len @n The length, in bytes, of the data pointed to by the 'buf' parameter.
* @param [in] timeout_ms @n Specify the timeout value in millisecond. In other words, the API block 'timeout_ms' millisecond maximumly.
*
* @retval -2 : TCP connection error occur.
* @retval -1 : TCP connection be closed by remote server.
* @retval 0 : No any data be received in 'timeout_ms' timeout period.
* @retval (0, len] : The total number of bytes be received in 'timeout_ms' timeout period.
* @see None.
*/
wrapper_mqtt_init:
/**
* @brief Init the MQTT client
* This function initialize the data structures.
*
* @param [in] mqtt_params: specify the MQTT client parameter.
*
* @retval NULL : Init failed.
* @retval NOT_NULL : The handle of MQTT client.
* @see None.
*/
wrapper_mqtt_connect:
/**
* @brief Establish MQTT connection.
* This function establish MQTT connection.
*
* @param [in] client: The handle of MQTT client.
*
* @retval 0 : MQTT connect seccuss.
* @retval < 0 : MQTT connect failed.
* @see None.
*/
wrapper_mqtt_yield:
/**
* @brief Handle MQTT packet from remote server and process timeout request
* which include the MQTT subscribe, unsubscribe, publish(QOS >= 1), reconnect, etc..
*
* @param [in] client: specify the MQTT client.
* @param [in] timeout_ms: specify the timeout in millisecond in this loop.
*
* @return status.
* @see None.
*/
wrapper_mqtt_check_state:
/**
* @brief check whether MQTT connection is established or not.
*
* @param [in] client: specify the MQTT client.
*
* @retval 1 : MQTT in abnormal state.
* @retval 0 : MQTT in normal state.
* @see None.
*/
wrapper_mqtt_subscribe:
/**
* @brief Subscribe MQTT topic.
*
* @param [in] client: specify the MQTT client.
* @param [in] topic_filter: specify the topic filter.
* @param [in] qos: specify the MQTT Requested QoS.
* @param [in] topic_handle_func: specify the topic handle callback-function.
* @param [in] pcontext: specify context. When call 'topic_handle_func', it will be passed back.
*
* @retval -1 : Subscribe failed.
* @retval >=0 : Subscribe successful.
The value is a unique ID of this request.
The ID will be passed back when callback 'iotx_mqtt_param_t:handle_event'.
* @see None.
*/
wrapper_mqtt_subscribe_sync:
/**
* @brief Subscribe MQTT topic and wait suback.
*
* @param [in] client: specify the MQTT client.
* @param [in] topic_filter: specify the topic filter.
* @param [in] qos: specify the MQTT Requested QoS.
* @param [in] topic_handle_func: specify the topic handle callback-function.
* @param [in] pcontext: specify context. When call 'topic_handle_func', it will be passed back.
* @param [in] timeout_ms: time in ms to wait.
*
* @retval -1 : Subscribe failed.
* @retval >=0 : Subscribe successful.
The value is a unique ID of this request.
The ID will be passed back when callback 'iotx_mqtt_param_t:handle_event'.
* @see None.
*/
wrapper_mqtt_unsubscribe:
/**
* @brief Unsubscribe MQTT topic.
*
* @param [in] client: specify the MQTT client.
* @param [in] topic_filter: specify the topic filter.
*
* @retval -1 : Unsubscribe failed.
* @retval >=0 : Unsubscribe successful.
The value is a unique ID of this request.
The ID will be passed back when callback 'iotx_mqtt_param_t:handle_event'.
* @see None.
*/
wrapper_mqtt_publish:
/**
* @brief Publish message to specific topic.
*
* @param [in] client: specify the MQTT client.
* @param [in] topic_name: specify the topic name.
* @param [in] topic_msg: specify the topic message.
*
* @retval -1 : Publish failed.
* @retval 0 : Publish successful, where QoS is 0.
* @retval >0 : Publish successful, where QoS is >= 0.
The value is a unique ID of this request.
The ID will be passed back when callback 'iotx_mqtt_param_t:handle_event'.
* @see None.
*/
wrapper_mqtt_release:
/**
* @brief Release the MQTT client
* This function disconnect MQTT connection and release the related resource.
*
* @param [in] client: pointer of handle, specify the MQTT client.
*
* @retval 0 : Release success.
* @retval -1 : Release failed.
* @see None.
*/
wrapper_mqtt_nwk_event_handler:
/**
* @brief Only used in async network stack and FEATURE_ASYNC_PROTOCOL_STACK must be selected
*
* @param [in] client: specify the MQTT client.
* @param [in] event: specify the network event.
* @param [in] param: specify the network params.
*
* @retval -1 : Handle failed.
* @retval 0 : Handle successful.
*
*/
HAL_SemaphoreCreate:
/**
* @brief create a semaphore
*
* @return semaphore handle.
* @see None.
* @note The recommended value of maximum count of the semaphore is 255.
*/
HAL_SemaphoreDestroy:
/**
* @brief destory a semaphore
*
* @param[in] sem @n the specified sem.
* @return None.
* @see None.
* @note None.
*/
HAL_SemaphorePost:
/**
* @brief signal thread wait on a semaphore
*
* @param[in] sem @n the specified semaphore.
* @return None.
* @see None.
* @note None.
*/
HAL_SemaphoreWait:
/**
* @brief wait on a semaphore
*
* @param[in] sem @n the specified semaphore.
* @param[in] timeout_ms @n timeout interval in millisecond.
If timeout_ms is PLATFORM_WAIT_INFINITE, the function will return only when the semaphore is signaled.
* @return
@verbatim
= 0: The state of the specified object is signaled.
= -1: The time-out interval elapsed, and the object's state is nonsignaled.
@endverbatim
* @see None.
* @note None.
*/
HAL_ThreadCreate:
/**
* @brief create a thread
*
* @param[out] thread_handle @n The new thread handle, memory allocated before thread created and return it, free it after thread joined or exit.
* @param[in] start_routine @n A pointer to the application-defined function to be executed by the thread.
This pointer represents the starting address of the thread.
* @param[in] arg @n A pointer to a variable to be passed to the start_routine.
* @param[in] hal_os_thread_param @n A pointer to stack params.
* @param[out] stack_used @n if platform used stack buffer, set stack_used to 1, otherwise set it to 0.
* @return
@verbatim
= 0: on success.
= -1: error occur.
@endverbatim
* @see None.
* @note None.
*/
HAL_AT_Uart_Init:
/**
* Initialises a UART interface
*
*
* @param[in] uart the interface which should be initialised
*
* @return 0 : on success, EIO : if an error occurred with any step
*/
HAL_AT_Uart_Deinit:
/**
* Deinitialises a UART interface
*
* @param[in] uart the interface which should be deinitialised
*
* @return 0 : on success, EIO : if an error occurred with any step
*/
HAL_AT_Uart_Send:
/**
* Transmit data on a UART interface
*
* @param[in] uart the UART interface
* @param[in] data pointer to the start of data
* @param[in] size number of bytes to transmit
* @param[in] timeout timeout in milisecond, set this value to HAL_WAIT_FOREVER
* if you want to wait forever
*
* @return 0 : on success, EIO : if an error occurred with any step
*/
HAL_AT_Uart_Recv:
/**
* Receive data on a UART interface
*
* @param[in] uart the UART interface
* @param[out] data pointer to the buffer which will store incoming data
* @param[in] expect_size number of bytes to receive
* @param[out] recv_size number of bytes received
* @param[in] timeout timeout in milisecond, set this value to HAL_WAIT_FOREVER
* if you want to wait forever
*
* @return 0 : on success, EIO : if an error occurred with any step
*/
HAL_AT_CONN_Init:
/**
* Module low level init so that it's ready to setup socket connection.
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_Start:
/**
* Start a socket connection via module.
*
* @param[in] conn - connect parameters which are used to setup
* the socket connection.
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_Send:
/**
* Send data via module.
* This function does not return until all data sent.
*
* @param[in] fd - the file descripter to operate on.
* @param[in] data - pointer to data to send.
* @param[in] len - length of the data.
* @param[in] remote_ip - remote port number (optional).
* @param[in] remote_port - remote port number (optional).
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_DomainToIp:
/**
* Get IP information of the corresponding domain.
* Currently only one IP string is returned (even when the domain
* coresponses to mutliple IPs). Note: only IPv4 is supported.
*
* @param[in] domain - the domain string.
* @param[out] ip - the place to hold the dot-formatted ip string.
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_Close:
/**
* Close the socket connection.
*
* @param[in] fd - the file descripter to operate on.
* @param[in] remote_port - remote port number (optional).
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_Deinit:
/**
* Destroy or exit low level state if necessary.
*
* @return 0 - success, -1 - failure
*/
HAL_AT_CONN_RegInputCb:
/**
* Register network connection data input function
* Input data from module.
* This callback should be called when the data is received from the module
* It should tell the sal where the data comes from.
* @param[in] fd - the file descripter to operate on.
* @param[in] data - the received data.
* @param[in] len - expected length of the data when IN,
* and real read len when OUT.
* @param[in] addr - remote ip address. Caller manages the
memory (optional).
* @param[in] port - remote port number (optional).
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_Init:
/**
* Initialize low layer
*
* @param[in] iotx_mqtt_param_t a struct contain usename, password, etc.
*
* @return 0 - success, -1 - failure
*/
int HAL_AT_MQTT_Deinit:
/**
* Deinit low layer
*
* @return 0 - success, -1 - failure
*/
int HAL_AT_MQTT_Connect:
/**
* Setup MQTT Connection
*
* @param[in] product key (optional).
* @param[in] device name (optional).
* @param[in] device Secret (optional).
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_Disconnect:
/**
* Close MQTT connection
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_Subscribe:
/**
* Subscribe topic
*
* @param[in] topic
* @param[in] qos
* @param[in] mqtt_packet_id
* @param[out] mqtt_status
* @param[in] timeout_ms
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_Unsubscribe:
/**
* Unsubscribe topic
*
* @param[in] topic
* @param[in] mqtt_packet_id
* @param[out] mqtt_status
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_Publish:
/**
* Publish message
*
* @param[in] topic
* @param[in] qos
* @param[in] message
* @param[in] msg_len
*
* @return 0 - success, -1 - failure
*/
HAL_AT_MQTT_State:
/**
* Check connection status
*
* @return 0 - invalid, 1 - initialized, 2 - connected, 3 - disconnected, 4 - disconnect-reconnecting
*/
HAL_DTLSHooks_set:
/**
* @brief Set malloc/free function.
*
* @param [in] hooks: @n Specify malloc/free function you want to use
*
* @retval DTLS_SUCCESS : Success.
@retval other : Fail.
* @see None.
* @note None.
*/
HAL_DTLSSession_create:
/**
* @brief Establish a DSSL connection.
*
* @param [in] p_options: @n Specify paramter of DTLS
@verbatim
p_host : @n Specify the hostname(IP) of the DSSL server
port : @n Specify the DSSL port of DSSL server
p_ca_cert_pem : @n Specify the root certificate which is PEM format.
@endverbatim
* @return DSSL handle.
* @see None.
* @note None.
*/
HAL_DTLSSession_write:
/**
* @brief Write data into the specific DSSL connection.
*
* @param [in] context @n A descriptor identifying a connection.
* @param [in] p_data @n A pointer to a buffer containing the data to be transmitted.
* @param [in] p_datalen @n The length, in bytes, of the data pointed to by the 'p_data' parameter.
* @retval DTLS_SUCCESS : Success.
@retval other : Fail.
* @see None.
*/
HAL_DTLSSession_read:
/**
* @brief Read data from the specific DSSL connection with timeout parameter.
* The API will return immediately if len be received from the specific DSSL connection.
*
* @param [in] context @n A descriptor identifying a DSSL connection.
* @param [in] p_data @n A pointer to a buffer to receive incoming data.
* @param [in] p_datalen @n The length, in bytes, of the data pointed to by the 'p_data' parameter.
* @param [in] timeout_ms @n Specify the timeout value in millisecond. In other words, the API block 'timeout_ms' millisecond maximumly.
* @return The result of read data from DSSL connection
* @retval DTLS_SUCCESS : Read success.
* @retval DTLS_FATAL_ALERT_MESSAGE : Recv peer fatal alert message.
* @retval DTLS_PEER_CLOSE_NOTIFY : The DTLS session was closed by peer.
* @retval DTLS_READ_DATA_FAILED : Read data fail.
* @see None.
*/
HAL_DTLSSession_free:
/**
* @brief Destroy the specific DSSL connection.
*
* @param[in] context: @n Handle of the specific connection.
*
* @return The result of free dtls session
* @retval DTLS_SUCCESS : Read success.
* @retval DTLS_INVALID_PARAM : Invalid parameter.
* @retval DTLS_INVALID_CA_CERTIFICATE : Invalid CA Certificate.
* @retval DTLS_HANDSHAKE_IN_PROGRESS : Handshake in progress.
* @retval DTLS_HANDSHAKE_FAILED : Handshake failed.
* @retval DTLS_FATAL_ALERT_MESSAGE : Recv peer fatal alert message.
* @retval DTLS_PEER_CLOSE_NOTIFY : The DTLS session was closed by peer.
* @retval DTLS_SESSION_CREATE_FAILED : Create session fail.
* @retval DTLS_READ_DATA_FAILED : Read data fail.
*/

View File

@@ -0,0 +1,92 @@
INFRA_STRING||src/infra/infra_string.[ch]|output/eng/infra
INFRA_CJSON||src/infra/infra_cjson.[ch]|output/eng/infra
INFRA_HTTPC||src/infra/infra_httpc.[ch]|output/eng/infra
INFRA_JSON_PARSER||src/infra/infra_json_parser.[ch]|output/eng/infra
INFRA_LOG||src/infra/infra_log.[ch]|output/eng/infra
INFRA_MD5||src/infra/infra_md5.[ch]|output/eng/infra
INFRA_MEM_STATS||src/infra/infra_mem_stats.[ch]|output/eng/infra
INFRA_NET||src/infra/infra_net.[ch]|output/eng/infra
INFRA_REPORT||src/infra/infra_report.[ch]|output/eng/infra
INFRA_SHA256||src/infra/infra_sha256.[ch]|output/eng/infra
INFRA_AES||src/infra/infra_aes.[ch]|output/eng/infra
INFRA_AES||src/infra/infra_aes_config.h|output/eng/infra
INFRA_SHA1||src/infra/infra_sha1.[ch]|output/eng/infra
INFRA_TIMER||src/infra/infra_timer.[ch]|output/eng/infra
INFRA_TIMER||src/infra/infra_timer.[ch]|output/eng/infra
INFRA_PREAUTH||src/infra/infra_preauth.[ch]|output/eng/infra
INFRA_LOG_NETWORK_PAYLOAD||src/infra/infra_prt_nwk_payload.c|output/eng/infra
SUPPORT_TLS||certs/root_ca.c|output/eng/certs
COAP_DTLS_SUPPORT||certs/root_ca.c|output/eng/certs
DEV_SIGN||src/dev_sign|output/eng/dev_sign
DYNAMIC_REGISTER||src/dynamic_register|output/eng/dynamic_register
OTA_ENABLED||src/ota|output/eng/ota
MQTT_COMM_ENABLED||src/mqtt|output/eng/mqtt
MQTT_DEFAULT_IMPL||src/mqtt/impl|output/eng/mqtt
DEVICE_MODEL_ENABLED||src/dev_model|output/eng/dev_model
DEVICE_MODEL_ENABLED||src/dev_model/client|output/eng/dev_model
DEVICE_MODEL_ENABLED||src/dev_model/server|output/eng/dev_model
DEVICE_MODEL_ENABLED||src/dev_model/deprecated|output/eng/dev_model
DEVICE_MODEL_ENABLED&ALCS_ENABLED||src/dev_model/alcs|output/eng/dev_model
DEVICE_MODEL_ENABLED&DEVICE_MODEL_GATEWAY||src/dev_model|output/eng/dev_model
ATM_ENABLED||src/atm/at_api.[ch] src/atm/at_wrapper.h|output/eng/atm
AT_PARSER_ENABLED||src/atm/at_parser.[ch]|output/eng/atm
AT_TCP_ENABLED||src/atm/at_conn_mbox.[ch] src/atm/at_conn_mgmt.[ch] src/atm/at_tcp.c|output/eng/atm
AT_MQTT_ENABLED|MQTT_DEFAULT_IMPL&AT_TCP_ENABLED|src/atm/at_mqtt.[ch]|output/eng/atm
AT_TCP_ENABLED&AT_TCP_HAL_SIM800||wrappers/atm/at_tcp/sim800.c|output/eng/atm
AT_TCP_ENABLED&AT_TCP_HAL_MK3060||wrappers/atm/at_tcp/mk3060.c|output/eng/atm
AT_MQTT_ENABLED&AT_MQTT_HAL_ICA||wrappers/atm/at_mqtt/mqtt_ica.c|output/eng/atm
AT_MQTT_ENABLED&AT_MQTT_HAL_SIM800||wrappers/atm/at_mqtt/mqtt_sim800.c|output/eng/atm
DEV_RESET||src/dev_reset|output/eng/dev_reset
HTTP_COMM_ENABLED||src/http|output/eng/http
HTTP2_COMM_ENABLED||src/http2|output/eng/http2
HTTP2_COMM_ENABLED||external_libs/nghttp2|output/eng/wrappers/external_libs/nghttp2
COAP_COMM_ENABLED||src/coap/client|output/eng/coap_cloud
COAP_COMM_ENABLED||src/coap/CoAPPacket|output/eng/coap_cloud
COAP_COMM_ENABLED||src/coap|output/eng/coap_cloud
COAP_PACKET||src/coap/CoAPPacket|output/eng/CoAPPacket
COAP_SERVER||src/coap|output/eng/coap_server
COAP_SERVER||src/coap/server|output/eng/coap_server/server
WIFI_PROVISION_ENABLED||src/wifi_provision|output/eng/wifi_provision
AWSS_SUPPORT_SMARTCONFIG||src/wifi_provision/smartconfig|output/eng/wifi_provision/smartconfig
AWSS_SUPPORT_AHA||src/wifi_provision/phone_ap|output/eng/wifi_provision/phone_ap
AWSS_SUPPORT_ADHA||src/wifi_provision/router_ap|output/eng/wifi_provision/router_ap
AWSS_SUPPORT_SMARTCONFIG_WPS||src/wifi_provision/p2p|output/eng/wifi_provision/p2p
AWSS_SUPPORT_ZEROCONFIG||src/wifi_provision/zero_config|output/eng/wifi_provision/zero_config
AWSS_SUPPORT_DEV_AP||src/wifi_provision/dev_ap|output/eng/wifi_provision/dev_ap
AWSS_FRAMEWORKS||src/wifi_provision/frameworks|output/eng/wifi_provision/frameworks
AWSS_FRAMEWORKS||src/wifi_provision/frameworks/aplist|output/eng/wifi_provision/frameworks/aplist
AWSS_FRAMEWORKS||src/wifi_provision/frameworks/ieee80211|output/eng/wifi_provision/frameworks/ieee80211
AWSS_FRAMEWORKS||src/wifi_provision/frameworks/statics|output/eng/wifi_provision/frameworks/statics
AWSS_FRAMEWORKS||src/wifi_provision/frameworks/utils|output/eng/wifi_provision/frameworks/utils
AWSS_SUPPORT_APLIST||src/wifi_provision/frameworks/aplist|output/eng/wifi_provision/frameworks/aplist
DEV_BIND_ENABLED||src/dev_bind/|output/eng/dev_bind
DEV_BIND_ENABLED||src/dev_bind/impl|output/eng/dev_bind/impl
DEV_BIND_ENABLED||src/dev_bind/impl/os|output/eng/dev_bind/impl/os
DEV_BIND_ENABLED||src/dev_bind/impl/awss_reset|output/eng/dev_bind/impl/awss_reset
# example rules
DEV_SIGN||src/dev_sign/examples|output/examples
DYNAMIC_REGISTER||src/dynamic_register/examples|output/examples
OTA_ENABLED||src/ota/examples|output/examples
MQTT_COMM_ENABLED|ATM_ENABLED|src/mqtt/examples/mqtt_example.c|output/examples
MQTT_COMM_ENABLED&ATM_ENABLED||src/mqtt/examples/mqtt_example_at.c|output/examples
DEVICE_MODEL_ENABLED||src/dev_model/examples/cJSON.[ch]|output/eng/wrappers/external_libs
DEVICE_MODEL_ENABLED||src/dev_model/examples/linkkit_example_solo.c|output/examples
DEV_RESET||src/dev_reset/examples|output/examples
HTTP_COMM_ENABLED||src/http/examples|output/examples
HTTP2_COMM_ENABLED||src/http2/examples|output/examples
COAP_COMM_ENABLED||src/coap/examples|output/examples

View File

@@ -0,0 +1,464 @@
SUPPORT_TLS||HAL_Malloc|
SUPPORT_TLS||HAL_Free|
SUPPORT_TLS||HAL_UptimeMs|
SUPPORT_TLS||HAL_GetProductSecret|
DYNAMIC_REGISTER||HAL_Malloc|
DYNAMIC_REGISTER||HAL_Free|
DYNAMIC_REGISTER||HAL_Printf|
DYNAMIC_REGISTER||HAL_SSL_Establish|
DYNAMIC_REGISTER||HAL_SSL_Destroy|
DYNAMIC_REGISTER||HAL_SSL_Write|
DYNAMIC_REGISTER||HAL_SSL_Read|
DYNAMIC_REGISTER||HAL_GetProductKey|
DYNAMIC_REGISTER||HAL_GetProductSecret|
DYNAMIC_REGISTER||HAL_GetDeviceName|
DYNAMIC_REGISTER||HAL_Malloc|
DYNAMIC_REGISTER||HAL_Free|
DYNAMIC_REGISTER||HAL_Snprintf|
DYNAMIC_REGISTER||HAL_SleepMs|
DYNAMIC_REGISTER||HAL_UptimeMs|
OTA_ENABLED||HAL_Malloc|
OTA_ENABLED||HAL_Free|
OTA_ENABLED||HAL_Printf|
OTA_ENABLED||HAL_Snprintf|
MQTT_COMM_ENABLED||HAL_Malloc|
MQTT_COMM_ENABLED||HAL_Free|
MQTT_COMM_ENABLED||HAL_Printf|
MQTT_COMM_ENABLED||HAL_Snprintf|
MQTT_COMM_ENABLED||HAL_UptimeMs|
MQTT_COMM_ENABLED||HAL_SleepMs|
MQTT_COMM_ENABLED||HAL_MutexCreate|
MQTT_COMM_ENABLED||HAL_MutexDestroy|
MQTT_COMM_ENABLED||HAL_MutexLock|
MQTT_COMM_ENABLED||HAL_MutexUnlock|
MQTT_COMM_ENABLED||HAL_GetProductKey|
MQTT_COMM_ENABLED||HAL_GetDeviceName|
MQTT_COMM_ENABLED||HAL_GetDeviceSecret|
MQTT_COMM_ENABLED||HAL_GetFirmwareVersion|
MQTT_COMM_ENABLED&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED&SUPPORT_TLS|HAL_TCP_Establish|
MQTT_COMM_ENABLED&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED&SUPPORT_TLS|HAL_TCP_Destroy|
MQTT_COMM_ENABLED&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED&SUPPORT_TLS|HAL_TCP_Write|
MQTT_COMM_ENABLED&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED&SUPPORT_TLS|HAL_TCP_Read|
MQTT_COMM_ENABLED&SUPPORT_TLS&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED|HAL_SSL_Establish|
MQTT_COMM_ENABLED&SUPPORT_TLS&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED|HAL_SSL_Destroy|
MQTT_COMM_ENABLED&SUPPORT_TLS&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED|HAL_SSL_Write|
MQTT_COMM_ENABLED&SUPPORT_TLS&MQTT_DEFAULT_IMPL|AT_TCP_ENABLED&AT_MQTT_ENABLED|HAL_SSL_Read|
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_init|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_connect|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_yield|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_check_state|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_subscribe|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_subscribe_sync|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_unsubscribe|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_publish|mqtt_api.h
MQTT_COMM_ENABLED|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_release|mqtt_api.h
MQTT_COMM_ENABLED&ASYNC_PROTOCOL_STACK|MQTT_DEFAULT_IMPL&AT_MQTT_ENABLED|wrapper_mqtt_nwk_event_handler|mqtt_api.h
MQTT_COMM_ENABLED&DYNAMIC_REGISTER||HAL_SetDeviceSecret|
MQTT_COMM_ENABLED&DYNAMIC_REGISTER||HAL_GetProductSecret|
MQTT_COMM_ENABLED&DYNAMIC_REGISTER||HAL_Kv_Set|
MQTT_COMM_ENABLED&DYNAMIC_REGISTER||HAL_Kv_Get|
DEVICE_MODEL_ENABLED||HAL_GetProductKey|
DEVICE_MODEL_ENABLED||HAL_GetProductSecret|
DEVICE_MODEL_ENABLED||HAL_GetDeviceName|
DEVICE_MODEL_ENABLED||HAL_GetDeviceSecret|
DEVICE_MODEL_ENABLED||HAL_Malloc|
DEVICE_MODEL_ENABLED||HAL_Free|
DEVICE_MODEL_ENABLED||HAL_Snprintf|
DEVICE_MODEL_ENABLED||HAL_Vsnprintf|stdarg.h
DEVICE_MODEL_ENABLED||HAL_UptimeMs|
DEVICE_MODEL_ENABLED||HAL_SleepMs|
DEVICE_MODEL_ENABLED||HAL_Srandom|
DEVICE_MODEL_ENABLED||HAL_Random|
DEVICE_MODEL_ENABLED||HAL_MutexCreate|
DEVICE_MODEL_ENABLED||HAL_MutexDestroy|
DEVICE_MODEL_ENABLED||HAL_MutexLock|
DEVICE_MODEL_ENABLED||HAL_MutexUnlock|
DEVICE_MODEL_ENABLED&DYNAMIC_REGISTER||HAL_SetDeviceSecret|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_ThreadCreate|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_ThreadDelete|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_SemaphoreCreate|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_SemaphoreDestroy|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_SemaphorePost|
DEVICE_MODEL_ENABLED&THREAD_COST_INTERNAL||HAL_SemaphoreWait|
DEVICE_MODEL_ENABLED&OTA_ENABLED||HAL_Firmware_Persistence_Start|
DEVICE_MODEL_ENABLED&OTA_ENABLED||HAL_Firmware_Persistence_Write|
DEVICE_MODEL_ENABLED&OTA_ENABLED||HAL_Firmware_Persistence_Stop|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Kv_Set|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Kv_Get|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Kv_Del|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Aes128_Init|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Aes128_Cbc_Encrypt|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Aes128_Destroy|
DEVICE_MODEL_ENABLED&ALCS_ENABLED||HAL_Aes128_Cbc_Decrypt|
DEVICE_MODEL_ENABLED||HAL_SetProductKey|
DEVICE_MODEL_ENABLED||HAL_SetProductSecret|
DEVICE_MODEL_ENABLED||HAL_SetDeviceName|
DEVICE_MODEL_ENABLED||HAL_SetDeviceSecret|
COAP_SERVER||HAL_UDP_recvfrom|
COAP_SERVER||HAL_UDP_sendto|
COAP_SERVER||HAL_UDP_create_without_connect|
COAP_SERVER||HAL_UDP_close_without_connect|
COAP_SERVER||HAL_UDP_joinmulticast|
COAP_SERVER||HAL_SemaphoreCreate|
COAP_SERVER||HAL_SemaphoreDestroy|
COAP_SERVER||HAL_SemaphorePost|
COAP_SERVER||HAL_SemaphoreWait|
COAP_SERVER||HAL_ThreadCreate|
COAP_SERVER||HAL_ThreadDelete|
COAP_SERVER||HAL_Wifi_Get_IP|
DEV_RESET||HAL_Snprintf|
AT_TCP_ENABLED||HAL_Malloc|
AT_TCP_ENABLED||HAL_Free|
AT_TCP_ENABLED||HAL_Snprintf|
AT_TCP_ENABLED||HAL_UptimeMs|
AT_TCP_ENABLED||HAL_SleepMs|
AT_TCP_ENABLED||HAL_MutexCreate|
AT_TCP_ENABLED||HAL_MutexDestroy|
AT_TCP_ENABLED||HAL_MutexLock|
AT_TCP_ENABLED||HAL_MutexUnlock|
AT_MQTT_ENABLED||HAL_Malloc|
AT_MQTT_ENABLED||HAL_Free|
AT_MQTT_ENABLED||HAL_Snprintf|
AT_MQTT_ENABLED||HAL_UptimeMs|
AT_MQTT_ENABLED||HAL_SleepMs|
AT_MQTT_ENABLED||HAL_MutexCreate|
AT_MQTT_ENABLED||HAL_MutexDestroy|
AT_MQTT_ENABLED||HAL_MutexLock|
AT_MQTT_ENABLED||HAL_MutexUnlock|
AT_PARSER_ENABLED||HAL_Malloc|
AT_PARSER_ENABLED||HAL_Free|
AT_PARSER_ENABLED||HAL_Snprintf|
AT_PARSER_ENABLED||HAL_UptimeMs|
AT_PARSER_ENABLED||HAL_SleepMs|
AT_PARSER_ENABLED||HAL_MutexCreate|
AT_PARSER_ENABLED||HAL_MutexDestroy|
AT_PARSER_ENABLED||HAL_MutexLock|
AT_PARSER_ENABLED||HAL_MutexUnlock|
AT_PARSER_ENABLED&PLATFORM_HAS_OS||HAL_SemaphoreCreate|at_wrapper.h
AT_PARSER_ENABLED&PLATFORM_HAS_OS||HAL_SemaphoreDestroy|at_wrapper.h
AT_PARSER_ENABLED&PLATFORM_HAS_OS||HAL_SemaphorePost|at_wrapper.h
AT_PARSER_ENABLED&PLATFORM_HAS_OS||HAL_SemaphoreWait|at_wrapper.h
AT_PARSER_ENABLED&PLATFORM_HAS_OS||HAL_ThreadCreate|at_wrapper.h
AT_PARSER_ENABLED||HAL_AT_Uart_Init|at_wrapper.h
AT_PARSER_ENABLED||HAL_AT_Uart_Deinit|at_wrapper.h
AT_PARSER_ENABLED||HAL_AT_Uart_Send|at_wrapper.h
AT_PARSER_ENABLED||HAL_AT_Uart_Recv|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_Init|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_Start|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_Send|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_DomainToIp|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_Close|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_Deinit|at_wrapper.h
AT_TCP_ENABLED|AT_TCP_HAL_SIM800&AT_TCP_HAL_MK3060|HAL_AT_CONN_RegInputCb|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Init|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Deinit|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Connect|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Disconnect|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Subscribe|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Unsubscribe|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_Publish|at_wrapper.h
AT_MQTT_ENABLED|AT_MQTT_HAL_ICA&AT_MQTT_HAL_SIM800|HAL_AT_MQTT_State|at_wrapper.h
HTTP_COMM_ENABLED||HAL_Malloc
HTTP_COMM_ENABLED||HAL_Free
HTTP_COMM_ENABLED||HAL_Snprintf
HTTP_COMM_ENABLED||HAL_UptimeMs
HTTP_COMM_ENABLED||HAL_SleepMs
HTTP_COMM_ENABLED||HAL_SSL_Establish
HTTP_COMM_ENABLED||HAL_SSL_Destroy
HTTP_COMM_ENABLED||HAL_SSL_Write
HTTP_COMM_ENABLED||HAL_SSL_Read
HTTP2_COMM_ENABLED||HAL_Malloc|
HTTP2_COMM_ENABLED||HAL_Realloc|
HTTP2_COMM_ENABLED||HAL_Free|
HTTP2_COMM_ENABLED||HAL_Printf|
HTTP2_COMM_ENABLED||HAL_Snprintf|
HTTP2_COMM_ENABLED||HAL_UptimeMs|
HTTP2_COMM_ENABLED||HAL_SleepMs|
HTTP2_COMM_ENABLED||HAL_MutexCreate|
HTTP2_COMM_ENABLED||HAL_MutexDestroy|
HTTP2_COMM_ENABLED||HAL_MutexLock|
HTTP2_COMM_ENABLED||HAL_MutexUnlock|
HTTP2_COMM_ENABLED||HAL_GetProductKey|
HTTP2_COMM_ENABLED||HAL_GetDeviceName|
HTTP2_COMM_ENABLED||HAL_GetDeviceSecret|
HTTP2_COMM_ENABLED||HAL_GetFirmwareVersion|
HTTP2_COMM_ENABLED||HAL_ThreadCreate|
HTTP2_COMM_ENABLED||HAL_ThreadDelete|
HTTP2_COMM_ENABLED||HAL_ThreadDetach|
HTTP2_COMM_ENABLED||HAL_SemaphoreCreate|
HTTP2_COMM_ENABLED||HAL_SemaphoreDestroy|
HTTP2_COMM_ENABLED||HAL_SemaphorePost|
HTTP2_COMM_ENABLED||HAL_SemaphoreWait|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Fopen|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Fread|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Fwrite|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Fseek|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Fclose|
HTTP2_COMM_ENABLED&FS_ENABLED||HAL_Ftell|
HTTP2_COMM_ENABLED&SUPPORT_TLS||HAL_SSL_Read|
HTTP2_COMM_ENABLED&SUPPORT_TLS||HAL_SSL_Write|
HTTP2_COMM_ENABLED&SUPPORT_TLS||HAL_SSL_Destroy|
HTTP2_COMM_ENABLED&SUPPORT_TLS||HAL_SSL_Establish|
HTTP2_COMM_ENABLED|SUPPORT_TLS|HAL_TCP_Establish|
HTTP2_COMM_ENABLED|SUPPORT_TLS|HAL_TCP_Destroy|
HTTP2_COMM_ENABLED|SUPPORT_TLS|HAL_TCP_Write|
HTTP2_COMM_ENABLED|SUPPORT_TLS|HAL_TCP_Read|
COAP_COMM_ENABLED||HAL_Malloc|
COAP_COMM_ENABLED||HAL_Free|
COAP_COMM_ENABLED||HAL_Snprintf|
COAP_COMM_ENABLED||HAL_UptimeMs|
COAP_COMM_ENABLED||HAL_Srandom|
COAP_COMM_ENABLED||HAL_SleepMs|
COAP_COMM_ENABLED||HAL_Random|
COAP_COMM_ENABLED||HAL_MutexCreate|
COAP_COMM_ENABLED||HAL_MutexDestroy|
COAP_COMM_ENABLED||HAL_MutexLock|
COAP_COMM_ENABLED||HAL_MutexUnlock|
COAP_COMM_ENABLED||HAL_GetProductKey|
COAP_COMM_ENABLED||HAL_GetDeviceName|
COAP_COMM_ENABLED||HAL_GetDeviceSecret|
COAP_COMM_ENABLED&COAP_DTLS_SUPPORT||HAL_DTLSHooks_set|
COAP_COMM_ENABLED&COAP_DTLS_SUPPORT||HAL_DTLSSession_create|
COAP_COMM_ENABLED&COAP_DTLS_SUPPORT||HAL_DTLSSession_write|
COAP_COMM_ENABLED&COAP_DTLS_SUPPORT||HAL_DTLSSession_read|
COAP_COMM_ENABLED&COAP_DTLS_SUPPORT||HAL_DTLSSession_free|
COAP_COMM_ENABLED||HAL_UDP_create|
COAP_COMM_ENABLED||HAL_UDP_write|
COAP_COMM_ENABLED||HAL_UDP_readTimeout|
COAP_COMM_ENABLED||HAL_UDP_close_without_connect|
DEV_BIND_ENABLED||HAL_Awss_Get_Conn_Encrypt_Type|
DEV_BIND_ENABLED||HAL_Snprintf|
DEV_BIND_ENABLED||HAL_GetProductKey|
DEV_BIND_ENABLED||HAL_GetProductSecret|
DEV_BIND_ENABLED||HAL_GetDeviceName|
DEV_BIND_ENABLED||HAL_GetDeviceSecret|
DEV_BIND_ENABLED||HAL_Timer_Create|
DEV_BIND_ENABLED||HAL_Timer_Stop|
DEV_BIND_ENABLED||HAL_Timer_Start|
DEV_BIND_ENABLED||HAL_Timer_Delete|
DEV_BIND_ENABLED||HAL_Wifi_Get_Mac|
DEV_BIND_ENABLED||HAL_Srandom|
DEV_BIND_ENABLED||HAL_Random|
DEV_BIND_ENABLED||HAL_Reboot|
DEV_BIND_ENABLED||HAL_MutexCreate|
DEV_BIND_ENABLED||HAL_SleepMs|
DEV_BIND_ENABLED||HAL_MutexDestroy|
DEV_BIND_ENABLED||HAL_MutexLock|
DEV_BIND_ENABLED||HAL_MutexUnlock|
DEV_BIND_ENABLED||HAL_Malloc|
DEV_BIND_ENABLED||HAL_Free|
DEV_BIND_ENABLED||HAL_Sys_Net_Is_Ready|
DEV_BIND_ENABLED||HAL_UptimeMs|
DEV_BIND_ENABLED||HAL_Wifi_Get_IP|
DEV_BIND_ENABLED||HAL_Kv_Set|
DEV_BIND_ENABLED||HAL_Kv_Get|
AWSS_SUPPORT_SMARTCONFIG||HAL_Timer_Stop|
AWSS_SUPPORT_SMARTCONFIG||HAL_Timer_Delete|
AWSS_SUPPORT_SMARTCONFIG||HAL_Timer_Create|
AWSS_SUPPORT_SMARTCONFIG||HAL_Timer_Start|
AWSS_SUPPORT_SMARTCONFIG||HAL_SleepMs|
AWSS_SUPPORT_SMARTCONFIG||HAL_Malloc|
AWSS_SUPPORT_SMARTCONFIG||HAL_MutexLock|
AWSS_SUPPORT_SMARTCONFIG||HAL_MutexUnlock|
AWSS_SUPPORT_SMARTCONFIG||HAL_UptimeMs|
AWSS_SUPPORT_SMARTCONFIG||HAL_Free|
AWSS_SUPPORT_SMARTCONFIG||HAL_MutexCreate|
AWSS_SUPPORT_SMARTCONFIG||HAL_MutexDestroy|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Get_Timeout_Interval_Ms|
AWSS_SUPPORT_SMARTCONFIG||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_SMARTCONFIG||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_SMARTCONFIG||HAL_GetProductKey|
AWSS_SUPPORT_SMARTCONFIG||HAL_GetProductSecret|
AWSS_SUPPORT_SMARTCONFIG||HAL_GetDeviceName|
AWSS_SUPPORT_SMARTCONFIG||HAL_GetDeviceSecret|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Close_Monitor|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Open_Monitor|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Switch_Channel|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Get_Channelscan_Interval_Ms|
AWSS_SUPPORT_SMARTCONFIG|INFRA_AES|HAL_Aes128_Init|os.h
AWSS_SUPPORT_SMARTCONFIG|INFRA_AES|HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_SMARTCONFIG|INFRA_AES|HAL_Aes128_Cfb_Decrypt|os.h
AWSS_SUPPORT_SMARTCONFIG||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_SMARTCONFIG||HAL_Awss_Get_Encrypt_Type|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Timer_Stop|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Timer_Delete|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Timer_Create|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Timer_Start|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_SleepMs|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Malloc|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_MutexLock|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_MutexUnlock|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_UptimeMs|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Free|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_MutexCreate|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_MutexDestroy|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Get_Timeout_Interval_Ms|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_GetProductKey|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_GetProductSecret|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_GetDeviceName|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_GetDeviceSecret|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Close_Monitor|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Open_Monitor|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Switch_Channel|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Get_Channelscan_Interval_Ms|
AWSS_SUPPORT_SMARTCONFIG_WPS|INFRA_AES|HAL_Aes128_Init|os.h
AWSS_SUPPORT_SMARTCONFIG_WPS|INFRA_AES|HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_SMARTCONFIG_WPS|INFRA_AES|HAL_Aes128_Cfb_Decrypt|os.h
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_SMARTCONFIG_WPS||HAL_Awss_Get_Encrypt_Type|
AWSS_SUPPORT_ZEROCONFIG||HAL_Timer_Stop|
AWSS_SUPPORT_ZEROCONFIG||HAL_Timer_Delete|
AWSS_SUPPORT_ZEROCONFIG||HAL_Timer_Create|
AWSS_SUPPORT_ZEROCONFIG||HAL_Timer_Start|
AWSS_SUPPORT_ZEROCONFIG||HAL_SleepMs|
AWSS_SUPPORT_ZEROCONFIG||HAL_Malloc|
AWSS_SUPPORT_ZEROCONFIG||HAL_MutexLock|
AWSS_SUPPORT_ZEROCONFIG||HAL_MutexUnlock|
AWSS_SUPPORT_ZEROCONFIG||HAL_UptimeMs|
AWSS_SUPPORT_ZEROCONFIG||HAL_Free|
AWSS_SUPPORT_ZEROCONFIG||HAL_MutexCreate|
AWSS_SUPPORT_ZEROCONFIG||HAL_MutexDestroy|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Get_Timeout_Interval_Ms|
AWSS_SUPPORT_ZEROCONFIG||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_ZEROCONFIG||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_ZEROCONFIG||HAL_GetProductKey|
AWSS_SUPPORT_ZEROCONFIG||HAL_GetProductSecret|
AWSS_SUPPORT_ZEROCONFIG||HAL_GetDeviceName|
AWSS_SUPPORT_ZEROCONFIG||HAL_GetDeviceSecret|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Close_Monitor|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Open_Monitor|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Switch_Channel|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Get_Channelscan_Interval_Ms|
AWSS_SUPPORT_ZEROCONFIG|INFRA_AES|HAL_Aes128_Init|os.h
AWSS_SUPPORT_ZEROCONFIG|INFRA_AES|HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_ZEROCONFIG|INFRA_AES|HAL_Aes128_Cfb_Decrypt|os.h
AWSS_SUPPORT_ZEROCONFIG||HAL_Aes128_Cfb_Encrypt|os.h
AWSS_SUPPORT_ZEROCONFIG||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_ZEROCONFIG||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_ZEROCONFIG||HAL_Wifi_Enable_Mgmt_Frame_Filter|
AWSS_SUPPORT_ZEROCONFIG||HAL_Wifi_Send_80211_Raw_Frame|
AWSS_SUPPORT_AHA||HAL_Timer_Stop|
AWSS_SUPPORT_AHA||HAL_Timer_Delete|
AWSS_SUPPORT_AHA||HAL_Timer_Create|
AWSS_SUPPORT_AHA||HAL_Timer_Start|
AWSS_SUPPORT_AHA||HAL_SleepMs|
AWSS_SUPPORT_AHA||HAL_Malloc|
AWSS_SUPPORT_AHA||HAL_MutexLock|
AWSS_SUPPORT_AHA||HAL_MutexUnlock|
AWSS_SUPPORT_AHA||HAL_UptimeMs|
AWSS_SUPPORT_AHA||HAL_Free|
AWSS_SUPPORT_AHA||HAL_MutexCreate|
AWSS_SUPPORT_AHA||HAL_MutexDestroy|
AWSS_SUPPORT_AHA||HAL_Awss_Get_Timeout_Interval_Ms|
AWSS_SUPPORT_AHA||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_AHA||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_AHA||HAL_GetProductKey|
AWSS_SUPPORT_AHA||HAL_GetProductSecret|
AWSS_SUPPORT_AHA||HAL_GetDeviceName|
AWSS_SUPPORT_AHA||HAL_GetDeviceSecret|
AWSS_SUPPORT_AHA||HAL_Awss_Close_Monitor|
AWSS_SUPPORT_AHA||HAL_Awss_Open_Monitor|
AWSS_SUPPORT_AHA||HAL_Awss_Switch_Channel|
AWSS_SUPPORT_AHA||HAL_Awss_Get_Channelscan_Interval_Ms|
AWSS_SUPPORT_AHA|INFRA_AES|HAL_Aes128_Init|os.h
AWSS_SUPPORT_AHA|INFRA_AES|HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_AHA|INFRA_AES|HAL_Aes128_Cbc_Decrypt|os.h
AWSS_SUPPORT_AHA||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_AHA||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_AHA||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_ADHA||HAL_Timer_Stop|
AWSS_SUPPORT_ADHA||HAL_Timer_Delete|
AWSS_SUPPORT_ADHA||HAL_Timer_Create|
AWSS_SUPPORT_ADHA||HAL_Timer_Start|
AWSS_SUPPORT_ADHA||HAL_SleepMs|
AWSS_SUPPORT_ADHA||HAL_Malloc|
AWSS_SUPPORT_ADHA||HAL_MutexLock|
AWSS_SUPPORT_ADHA||HAL_MutexUnlock|
AWSS_SUPPORT_ADHA||HAL_UptimeMs|
AWSS_SUPPORT_ADHA||HAL_Free|
AWSS_SUPPORT_ADHA||HAL_MutexCreate|
AWSS_SUPPORT_ADHA||HAL_MutexDestroy|
AWSS_SUPPORT_ADHA||HAL_Awss_Get_Timeout_Interval_Ms|
AWSS_SUPPORT_ADHA||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_ADHA||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_ADHA||HAL_GetProductKey|
AWSS_SUPPORT_ADHA||HAL_GetProductSecret|
AWSS_SUPPORT_ADHA||HAL_GetDeviceName|
AWSS_SUPPORT_ADHA||HAL_GetDeviceSecret|
AWSS_SUPPORT_ADHA||HAL_Awss_Close_Monitor|
AWSS_SUPPORT_ADHA||HAL_Awss_Open_Monitor|
AWSS_SUPPORT_ADHA||HAL_Awss_Switch_Channel|
AWSS_SUPPORT_ADHA||HAL_Awss_Get_Channelscan_Interval_Ms|
AWSS_SUPPORT_ADHA||HAL_Aes128_Init|os.h
AWSS_SUPPORT_ADHA||HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_ADHA||HAL_Aes128_Cbc_Decrypt|os.h
AWSS_SUPPORT_ADHA||HAL_Aes128_Cfb_Decrypt|os.h
AWSS_SUPPORT_ADHA||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_ADHA||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_ADHA||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_DEV_AP||HAL_Awss_Connect_Ap|iot_import_awss.h
AWSS_SUPPORT_DEV_AP||HAL_Timer_Stop|
AWSS_SUPPORT_DEV_AP||HAL_Timer_Delete|
AWSS_SUPPORT_DEV_AP||HAL_Timer_Create|
AWSS_SUPPORT_DEV_AP||HAL_Timer_Start|
AWSS_SUPPORT_DEV_AP||HAL_SleepMs|
AWSS_SUPPORT_DEV_AP||HAL_Malloc|
AWSS_SUPPORT_DEV_AP||HAL_MutexLock|
AWSS_SUPPORT_DEV_AP||HAL_MutexUnlock|
AWSS_SUPPORT_DEV_AP||HAL_UptimeMs|
AWSS_SUPPORT_DEV_AP||HAL_Free|
AWSS_SUPPORT_DEV_AP||HAL_MutexCreate|
AWSS_SUPPORT_DEV_AP||HAL_MutexDestroy|
AWSS_SUPPORT_DEV_AP||HAL_Sys_Net_Is_Ready|
AWSS_SUPPORT_DEV_AP||HAL_Wifi_Get_Ap_Info|
AWSS_SUPPORT_DEV_AP||HAL_GetProductKey|
AWSS_SUPPORT_DEV_AP||HAL_GetProductSecret|
AWSS_SUPPORT_DEV_AP||HAL_GetDeviceName|
AWSS_SUPPORT_DEV_AP||HAL_GetDeviceSecret|
AWSS_SUPPORT_DEV_AP|INFRA_AES|HAL_Aes128_Init|os.h
AWSS_SUPPORT_DEV_AP|INFRA_AES|HAL_Aes128_Destroy|os.h
AWSS_SUPPORT_DEV_AP|INFRA_AES|HAL_Aes128_Cbc_Decrypt|os.h
AWSS_SUPPORT_DEV_AP|INFRA_AES|HAL_Aes128_Cfb_Decrypt|os.h
AWSS_SUPPORT_DEV_AP||HAL_Wifi_Get_Mac|
AWSS_SUPPORT_DEV_AP||HAL_Awss_Get_Conn_Encrypt_Type|
AWSS_SUPPORT_DEV_AP||HAL_Awss_Close_Ap|
AWSS_SUPPORT_DEV_AP||HAL_Awss_Open_Ap|
AWSS_SUPPORT_AHA||HAL_Wifi_Scan|
AWSS_SUPPORT_AHA||HAL_Wifi_Send_80211_Raw_Frame|