1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039 |
- #ifndef _H_MS_COMMON_
- #define _H_MS_COMMON_
- #include "EM_os.h"
- #include "MS_features.h"
- #include "MS_limits.h"
- #include "MS_assigned_numbers.h"
- #include "MS_error.h"
- #include "EM_debug.h"
- #include "EM_assert.h"
- #include "EM_timer.h"
- #include "MS_common_pl.h"
- #ifdef MEMWATCH
- #include "memwatch.h"
- #endif
- #include "MS_model_states.h"
- #ifndef MS_COMMON_NO_DEBUG
- #define MS_COMMON_ERR(...) EM_debug_error(MS_MODULE_ID_COMMON, __VA_ARGS__)
- #else
- #define MS_COMMON_ERR EM_debug_null
- #endif
- #ifdef MS_COMMON_DEBUG
- #define MS_COMMON_TRC(...) EM_debug_trace(MS_MODULE_ID_COMMON, __VA_ARGS__)
- #define MS_COMMON_INF(...) EM_debug_info(MS_MODULE_ID_COMMON, __VA_ARGS__)
- #else
- #define MS_COMMON_TRC EM_debug_null
- #define MS_COMMON_INF EM_debug_null
- #endif
- #define MS_STACK_INIT_UNDEFINED 0x00
- #define MS_STACK_INIT_ETHERMIND_INIT 0x01
- #ifndef MS_FALSE
- #define MS_FALSE 0
- #endif
- #ifndef MS_TRUE
- #define MS_TRUE 1
- #endif
- #define MS_PACK_LE_1_BYTE(dst, src) \
- { \
- UCHAR val
- val = (UCHAR)(*(src))
- MS_PACK_LE_1_BYTE_VAL((dst), val)
- }
- #define MS_PACK_LE_1_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 0) = src
- #define MS_PACK_LE_2_BYTE(dst, src) \
- { \
- UINT16 val
- val = (UINT16)(*(src))
- MS_PACK_LE_2_BYTE_VAL((dst), val)
- }
- #define MS_PACK_LE_2_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 0) = (UCHAR)(src)
- *((UCHAR *)(dst) + 1) = (UCHAR)(src >> 8)
- #define MS_PACK_LE_3_BYTE(dst, src) \
- { \
- UINT32 val
- val = (UINT32)(*(src))
- MS_PACK_LE_3_BYTE_VAL((dst), val)
- }
- #define MS_PACK_LE_3_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 0) = (UCHAR)(src)
- *((UCHAR *)(dst) + 1) = (UCHAR)(src >> 8)
- *((UCHAR *)(dst) + 2) = (UCHAR)(src >> 16)
- #define MS_PACK_LE_4_BYTE(dst, src) \
- { \
- UINT32 val
- val = (UINT32)(*(src))
- MS_PACK_LE_4_BYTE_VAL((dst), val)
- }
- #define MS_PACK_LE_4_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 0) = (UCHAR)(src)
- *((UCHAR *)(dst) + 1) = (UCHAR)(src >> 8)
- *((UCHAR *)(dst) + 2) = (UCHAR)(src >> 16)
- *((UCHAR *)(dst) + 3) = (UCHAR)(src >> 24)
- #define MS_PACK_LE_8_BYTE(dst,val)\
- EM_mem_copy ((dst), (val), 8)
- #define MS_PACK_LE_16_BYTE(dst,val)\
- EM_mem_copy ((dst), (val), 16)
- #define MS_PACK_LE_N_BYTE(dst,val,n)\
- EM_mem_copy ((dst), (val), (n))
- #define MS_PACK_BE_1_BYTE(dst, src) \
- { \
- UCHAR val
- val = (UCHAR)(*((UCHAR *)(src)))
- MS_PACK_BE_1_BYTE_VAL((dst), val)
- }
- #define MS_PACK_BE_1_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 0) = src
- #define MS_PACK_BE_2_BYTE(dst, src) \
- { \
- UINT16 val
- val = (UINT16)(*((UINT16 *)(src)))
- MS_PACK_BE_2_BYTE_VAL((dst), val)
- }
- #define MS_PACK_BE_2_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 1) = (UCHAR)(src)
- *((UCHAR *)(dst) + 0) = (UCHAR)(src >> 8)
- #define MS_PACK_BE_3_BYTE(dst, src) \
- { \
- UINT32 val
- val = (UINT32)(*((UINT32 *)(src)))
- MS_PACK_BE_3_BYTE_VAL((dst), val)
- }
- #define MS_PACK_BE_3_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 2) = (UCHAR)(src)
- *((UCHAR *)(dst) + 1) = (UCHAR)(src >> 8)
- *((UCHAR *)(dst) + 0) = (UCHAR)(src >> 16)
- #define MS_PACK_BE_4_BYTE(dst, src) \
- { \
- UINT32 val
- val = (UINT32)(*((UINT32 *)(src)))
- MS_PACK_BE_4_BYTE_VAL((dst), val)
- }
- #define MS_PACK_BE_4_BYTE_VAL(dst, src) \
- *((UCHAR *)(dst) + 3) = (UCHAR)(src)
- *((UCHAR *)(dst) + 2) = (UCHAR)(src >> 8)
- *((UCHAR *)(dst) + 1) = (UCHAR)(src >> 16)
- *((UCHAR *)(dst) + 0) = (UCHAR)(src >> 24)
- #define MS_PACK_BE_8_BYTE(dst,val)\
- EM_mem_copy ((dst), (val), 8)
- #define MS_PACK_BE_16_BYTE(dst,val)\
- EM_mem_copy ((dst), (val), 16)
- #define MS_PACK_BE_N_BYTE(dst,val,n)\
- EM_mem_copy ((dst), (val), (n))
- #define MS_UNPACK_LE_1_BYTE(dst,src)\
- *((UCHAR *)(dst)) = (UCHAR)(*((UCHAR *)(src)))
- #define MS_UNPACK_LE_2_BYTE(dst,src)\
- *((UINT16 *)(dst)) = *((src) + 1)
- *((UINT16 *)(dst)) = *((UINT16 *)(dst)) << 8
- *((UINT16 *)(dst)) |= *((src) + 0)
- #define MS_UNPACK_LE_3_BYTE(dst,src)\
- *((UINT32 *)(dst)) = *((src) + 2)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 1)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 0)
- #define MS_UNPACK_LE_4_BYTE(dst,src)\
- *((UINT32 *)(dst)) = *((src) + 3)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 2)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 1)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 0)
- #define MS_UNPACK_LE_8_BYTE(dst,src)\
- EM_mem_copy ((dst), (src), 8)
- #define MS_UNPACK_LE_16_BYTE(dst,src)\
- EM_mem_copy ((dst), (src), 16)
- #define MS_UNPACK_LE_N_BYTE(dst,src,n)\
- EM_mem_copy ((dst), (src), (n))
- #define MS_UNPACK_BE_1_BYTE(dst,src)\
- *((UCHAR *)(dst)) = (UCHAR)(*((UCHAR *)(src)))
- #define MS_UNPACK_BE_2_BYTE(dst,src)\
- *((UINT16 *)(dst)) = *((src) + 0)
- *((UINT16 *)(dst)) = *((UINT16 *)(dst)) << 8
- *((UINT16 *)(dst)) |= *((src) + 1)
- #define MS_UNPACK_BE_3_BYTE(dst,src)\
- *((UINT32 *)(dst)) = *((src) + 0)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 1)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 2)
- #define MS_UNPACK_BE_4_BYTE(dst,src)\
- *((UINT32 *)(dst)) = *((src) + 0)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 1)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 2)
- *((UINT32 *)(dst)) = (*((UINT32 *)(dst))) << 8
- *((UINT32 *)(dst)) |= *((src) + 3)
- #define MS_UNPACK_BE_8_BYTE(dst,src)\
- EM_mem_copy ((dst), (src), 8)
- #define MS_UNPACK_BE_16_BYTE(dst,src)\
- EM_mem_copy ((dst), (src), 16)
- #define MS_UNPACK_BE_N_BYTE(dst,src,n)\
- EM_mem_copy ((dst), (src), (n))
- #ifndef MS_DISABLE_MUTEX
- #define MS_DEFINE_MUTEX(mutex) EM_thread_mutex_type mutex;
- #define MS_DEFINE_MUTEX_TYPE(type, mutex) type EM_thread_mutex_type mutex;
- #define MS_DEFINE_COND(cond) EM_thread_cond_type cond;
- #define MS_DEFINE_COND_TYPE(type, cond) type EM_thread_cond_type cond;
- #define MS_MUTEX_INIT_VOID(mutex, MODULE) \
- if (EM_thread_mutex_init(&(mutex), NULL) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Initialize Mutex in " #MODULE ".\n"); \
- return
- }
- #define MS_MUTEX_INIT(mutex, MODULE) \
- if (EM_thread_mutex_init(&(mutex), NULL) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Initialize Mutex in " #MODULE ".\n"); \
- return MODULE##_MUTEX_INIT_FAILED; \
- }
- #define MS_COND_INIT_VOID(cond, MODULE) \
- if (EM_thread_cond_init(&(cond), NULL) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Initialize Conditional Variable in " #MODULE ".\n"); \
- return
- }
- #define MS_COND_INIT(cond, MODULE) \
- if (EM_thread_cond_init(&(cond), NULL) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Initialize Conditional Variable in " #MODULE ".\n"); \
- return MODULE##_COND_INIT_FAILED; \
- }
- #define MS_MUTEX_LOCK(mutex, MODULE) \
- if (EM_thread_mutex_lock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Lock Mutex in " #MODULE ".\n"); \
- return MODULE##_MUTEX_LOCK_FAILED; \
- }
- #define MS_MUTEX_LOCK_VOID(mutex, MODULE) \
- if (EM_thread_mutex_lock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Lock Mutex in " #MODULE ".\n"); \
- return
- }
- #define MS_MUTEX_LOCK_RETURN_ON_FAILURE(mutex, MODULE, value) \
- if (EM_thread_mutex_lock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Lock Mutex in " #MODULE ".\n"); \
- return (value)
- }
- #define MS_MUTEX_LOCK_DONOT_RETURN_ON_FAILURE(mutex, MODULE) \
- if (EM_thread_mutex_lock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Lock Mutex in " #MODULE ".\n"); \
- }
- #define MS_MUTEX_UNLOCK(mutex, MODULE) \
- if (EM_thread_mutex_unlock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Unlock Mutex in " #MODULE ".\n"); \
- return MODULE##_MUTEX_UNLOCK_FAILED; \
- }
- #define MS_MUTEX_UNLOCK_VOID(mutex, MODULE) \
- if (EM_thread_mutex_unlock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Unlock Mutex in " #MODULE ".\n"); \
- return
- }
- #define MS_MUTEX_UNLOCK_RETURN_ON_FAILURE(mutex, MODULE, value) \
- if (EM_thread_mutex_unlock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Unlock Mutex in " #MODULE ".\n"); \
- return (value)
- }
- #define MS_MUTEX_UNLOCK_DONOT_RETURN_ON_FAILURE(mutex, MODULE) \
- if (EM_thread_mutex_unlock(&(mutex)) < 0) \
- { \
- EM_debug_error( \
- MS_MODULE_ID_##MODULE, \
- "FAILED to Unlock Mutex in " #MODULE ".\n"); \
- }
- #else
- #define MS_DEFINE_MUTEX(mutex)
- #define MS_DEFINE_MUTEX_TYPE(type, mutex)
- #define MS_DEFINE_COND(cond)
- #define MS_DEFINE_COND_TYPE(type, cond)
- #define MS_MUTEX_INIT_VOID(mutex, MODULE)
- #define MS_MUTEX_INIT(mutex, MODULE)
- #define MS_COND_INIT_VOID(cond, MODULE)
- #define MS_COND_INIT(cond, MODULE)
- #define MS_MUTEX_LOCK(mutex, MODULE)
- #define MS_MUTEX_LOCK_VOID(mutex, MODULE)
- #define MS_MUTEX_LOCK_RETURN_ON_FAILURE(mutex, MODULE, value)
- #define MS_MUTEX_LOCK_DONOT_RETURN_ON_FAILURE(mutex, MODULE)
- #define MS_MUTEX_UNLOCK(mutex, MODULE)
- #define MS_MUTEX_UNLOCK_VOID(mutex, MODULE)
- #define MS_MUTEX_UNLOCK_RETURN_ON_FAILURE(mutex, MODULE, value)
- #define MS_MUTEX_UNLOCK_DONOT_RETURN_ON_FAILURE(mutex, MODULE)
- #endif
- #define MS_EXTRACT_BITNUM(val, bitnum) (((val) >> (bitnum)) & 1)
- #define MS_SET_BITNUM(val, bitnum) ((val) |= (1 << (bitnum)))
- #define MS_CLR_BITNUM(val, bitnum) ((val) &= (~(1 << (bitnum))))
- #define MS_GET_MIN(a, b) \
- (((a) > (b)) ? (b) : (a))
- #define MS_GET_MAX(a, b) \
- (((a) > (b)) ? (a) : (b))
- #define MS_IGNORE_UNUSED_PARAM(v) (void)(v)
- #define MS_LOOP_FOREVER() for(;;)
- #ifdef MS_HAVE_DYNAMIC_CONFIG
- #define MS_INIT_CONFIG(config) \
- (config).config_MS_REPLAY_CACHE_SIZE = MS_REPLAY_CACHE_SIZE
- (config).config_MS_DEFAULT_COMPANY_ID = MS_DEFAULT_COMPANY_ID
- (config).config_MS_DEFAULT_PID = MS_DEFAULT_PID
- (config).config_MS_DEFAULT_VID = MS_DEFAULT_VID
- #else
- #define MS_INIT_CONFIG(config)
- #endif
- #define MS_CONFIG_LIMITS(x) (x)
- #define MS_DEFINE_GLOBAL_ARRAY(type, var, s) \
- type var[(s)]
- #define MS_DECLARE_GLOBAL_ARRAY(type, var, s) \
- extern type var[(s)]
- #define MS_INIT_GLOBAL_ARRAY(type, var, s, i) \
- EM_mem_set(var, (i), ((s) * sizeof(type)))
- #ifdef MS_HAVE_MODEL_OPCODE_EMPTY_HANDLERS
- #define MODEL_OPCODE_HANDLER_EMPTY_DEF(x) \
- static API_RESULT (x) \
- ( \
- MS_ACCESS_MODEL_HANDLE * handle, \
- MS_NET_ADDR saddr, \
- MS_NET_ADDR daddr, \
- MS_SUBNET_HANDLE subnet_handle, \
- MS_APPKEY_HANDLE appkey_handle, \
- UINT32 opcode, \
- UCHAR * data_param, \
- UINT16 data_len \
- ) \
- { \
- API_RESULT retval
- \
- MS_IGNORE_UNUSED_PARAM(handle)
- MS_IGNORE_UNUSED_PARAM(saddr)
- MS_IGNORE_UNUSED_PARAM(daddr)
- MS_IGNORE_UNUSED_PARAM(subnet_handle)
- MS_IGNORE_UNUSED_PARAM(appkey_handle)
- MS_IGNORE_UNUSED_PARAM(opcode)
- MS_IGNORE_UNUSED_PARAM(data_param)
- MS_IGNORE_UNUSED_PARAM(data_len)
- \
- retval = API_SUCCESS
- \
- return retval
- }
- #define MODEL_OPCODE_HANDLER_CALL(handler) \
- (handler) (handle, saddr, daddr, subnet_handle, appkey_handle, opcode, data_param, data_len)
- #else
- #define MODEL_OPCODE_HANDLER_EMPTY_DEF(x)
- #define MODEL_OPCODE_HANDLER_CALL(handler)
- #endif
- #define MS_STREAM_REV_ENDIANNESS(s, d, n) \
- { \
- UCHAR i
- for (i = 0
- { \
- (d)[(n - 1) - i] = (s)[i]
- } \
- }
- #define MS_MODULE_PAGE_4 0x40000000
- #define MS_MODULE_BIT_MASK_COMMON 0x00000001
- #define MS_MODULE_BIT_MASK_BRR 0x00000002
- #define MS_MODULE_BIT_MASK_NET 0x00000004
- #define MS_MODULE_BIT_MASK_LTRN 0x00000008
- #define MS_MODULE_BIT_MASK_TRN 0x00000010
- #define MS_MODULE_BIT_MASK_ACCESS 0x00000020
- #define MS_MODULE_BIT_MASK_APP 0x00000040
- #define MS_MODULE_BIT_MASK_STBX 0x00000080
- #define MS_MODULE_BIT_MASK_CONFIG 0x00000100
- #define MS_MODULE_BIT_MASK_FSM 0x00000200
- #define MS_MODULE_BIT_MASK_PROV 0x00000400
- #define MS_MODULE_BIT_MASK_MESH_MODEL 0x00000800
- #define MS_MODULE_ID_COMMON (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_COMMON)
- #define MS_MODULE_ID_BRR (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_BRR)
- #define MS_MODULE_ID_NET (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_NET)
- #define MS_MODULE_ID_LTRN (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_LTRN)
- #define MS_MODULE_ID_TRN (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_TRN)
- #define MS_MODULE_ID_ACCESS (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_ACCESS)
- #define MS_MODULE_ID_APP (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_APP)
- #define MS_MODULE_ID_STBX (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_STBX)
- #define MS_MODULE_ID_CONFIG (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_CONFIG)
- #define MS_MODULE_ID_FSM (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_FSM)
- #define MS_MODULE_ID_PROV (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_PROV)
- #define MS_MODULE_ID_MESH_MODEL (MS_MODULE_PAGE_4 | MS_MODULE_BIT_MASK_MESH_MODEL)
- #define MS_DEVICE_UUID_SIZE 16
- #define MS_BCON_TYPE_SIZE 1
- #define MS_BCON_OOB_IND_SIZE 2
- #define MS_BCON_URI_HASH_SIZE 4
- #define MS_BCON_TYPE_UNPRVSNG_DEV 0x00
- #define MS_BCON_TYPE_SECURE 0x01
- #define MS_FRND_ROLE_INVALID 0x00
- #define MS_FRND_ROLE_FRIEND 0x01
- #define MS_FRND_ROLE_LPN 0x02
- #define MS_FEATURE_RELAY 0x00
- #define MS_FEATURE_PROXY 0x01
- #define MS_FEATURE_FRIEND 0x02
- #define MS_FEATURE_LPN 0x03
- #define MS_FEATURE_SEC_NET_BEACON 0x04
- #define MS_ENABLE 0x01
- #define MS_DISABLE 0x00
- #define MS_NOT_SUPPORTED 0x02
- #define MS_NETWORK_TX_STATE 0x00
- #define MS_RELAY_TX_STATE 0x01
- #define MS_LABEL_UUID_LENGTH 16
- typedef struct _MS_BUFFER
- {
-
- UCHAR * payload
-
- UINT16 length
- } MS_BUFFER
- typedef struct _MS_CONFIG
- {
-
- UINT16 config_MS_REPLAY_CACHE_SIZE
-
- UINT16 config_MS_DEFAULT_COMPANY_ID
-
- UINT16 config_MS_DEFAULT_PID
-
- UINT16 config_MS_DEFAULT_VID
- } MS_CONFIG
- #ifdef __cplusplus
- extern "C"{
- #endif
- #ifdef MS_HAVE_DYNAMIC_CONFIG
- extern MS_CONFIG ms_global_config
- #endif
- void MS_init
- (
- void * blob
- )
- API_RESULT MS_shutdown
- (
- void
- )
- API_RESULT MS_common_start_transition_timer
- (
- MS_ACCESS_STATE_TRANSITION_TYPE * transition,
- UINT16 * transition_time_handle
- )
- API_RESULT MS_common_stop_transition_timer
- (
- UINT16 transition_time_handle
- )
- API_RESULT MS_common_get_remaining_transition_time
- (
- UINT16 transition_time_handle,
- UINT8 * remaining_transition_time
- )
- API_RESULT MS_common_get_remaining_transition_time_with_offset
- (
- UINT16 transition_time_handle,
- UINT32 offset_in_ms,
- UINT8 * remaining_transition_time
- )
- API_RESULT MS_common_get_transition_time_from_ms
- (
- UINT32 transition_time_in_ms,
- UINT8 * transition_time
- )
- API_RESULT ms_common_init_transition_timer(void)
- API_RESULT ms_internal_verificaiton_check(void)
- #ifdef __cplusplus
- }
- #endif
- #endif
|