/** * \file MS_config_api.h * * \brief This file defines the Mesh Configuration Foundation Model Application Interface * - includes Data Structures and Methods for both Server and Client. */ /* * Copyright (C) 2017. Mindtree Ltd. * All rights reserved. */ #ifndef _H_MS_CONFIG_API_ #define _H_MS_CONFIG_API_ /* --------------------------------------------- Header File Inclusion */ /* Access Layer */ #include "MS_access_api.h" /* --------------------------------------------- Global Definitions */ /** * \defgroup config_module CONFIG (Mesh Configuration Model) * \{ * This section describes the interfaces & APIs offered by the EtherMind * Mesh Configuration Model (CONFIG) module to the Application. */ /** * \defgroup config_defines Defines * \{ * Describes defines for the module. */ /** * \defgroup config_constants Constants * \{ * Describes Constants defined by the module. */ /** * \defgroup config_status Status Codes * \{ * This section lists the Status Codes applicable at the Configuration Model. */ /** \} */ /** \} */ /** \} */ /** * \defgroup config_events Events * \{ * This section lists the Asynchronous Events notified to Application by the * Module. */ /** \} */ /** * \defgroup config_marcos Utility Macros * \{ * This section defines the utility macros for use by the application. * */ /** \} */ /* --------------------------------------------- Data Types/ Structures */ /** * \defgroup config_cb Application Callback * \{ * This Section Describes the module Notification Callback interface offered * to the application */ /** * Configuration Client application Asynchronous Notification Callback. * * Configuration Client calls the registered callback to indicate events occurred to the * application. * * \param handle Model Handle. * \param opcode Opcode. * \param data_param Data associated with the event if any or NULL. * \param data_len Size of the event data. 0 if event data is NULL. */ typedef API_RESULT (* MS_CONFIG_MODEL_CB) ( MS_ACCESS_MODEL_HANDLE * handle, UINT32 opcode, UCHAR * data_param, UINT16 data_len ) DECL_REENTRANT; /** \} */ /** * \defgroup config_structures Structures * \{ */ /** * \defgroup config_cli_structs Configuration Client Data Structures * \{ * This section describes the data structures for use in Configuration Client APIs. */ /** * Beacon Set parameter structure */ typedef struct _ACCESS_CONFIG_BEACON_SET_PARAM { /** New Secure Network Beacon state */ UCHAR beacon; } ACCESS_CONFIG_BEACON_SET_PARAM; /** * Composition Data Get parameter structure */ typedef struct _ACCESS_CONFIG_COMPDATA_GET_PARAM { /** Page number of the Composition Data */ UCHAR page; } ACCESS_CONFIG_COMPDATA_GET_PARAM; /** * Default TTL Set parameter structure */ typedef struct _ACCESS_CONFIG_DEFAULT_TTL_SET_PARAM { /** New Default TTL value */ UCHAR ttl; } ACCESS_CONFIG_DEFAULT_TTL_SET_PARAM; /** * GATT Proxy Set parameter structure */ typedef struct _ACCESS_CONFIG_GATT_PROXY_SET_PARAM { /** New GATT Proxy state */ UCHAR proxy; } ACCESS_CONFIG_GATT_PROXY_SET_PARAM; /** * Relay Set parameter structure */ typedef struct _ACCESS_CONFIG_RELAY_SET_PARAM { /** Relay */ UCHAR relay; /** * Number of retransmissions on advertising bearer for * each Network PDU relayed by the node * - 3 bits validity */ UCHAR relay_rtx_count; /** * Number of 10-millisecond steps between retransmissions * - 5 bits validity */ UCHAR relay_rtx_interval_steps; } ACCESS_CONFIG_RELAY_SET_PARAM; /** * Model Publication Get parameter structure */ typedef struct _ACCESS_CONFIG_MODELPUB_GET_PARAM { /** Address of the element */ UINT16 element_address; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELPUB_GET_PARAM; /** * Model Publication Set parameter structure */ typedef struct _ACCESS_CONFIG_MODELPUB_SET_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the publish address */ UINT16 publish_address; /** * Index of the application key * - 12 bits validity */ UINT16 appkey_index; /** * Value of the Friendship Credential Flag * - 1 bit validity */ UCHAR credential_flag; /** Default TTL value for the outgoing messages */ UCHAR publish_ttl; /** Period for periodic status publishing */ UCHAR publish_period; /** * Number of retransmissions for each published message * - 3 bits validity */ UCHAR publish_rtx_count; /** * Number of 50-millisecond steps between retransmissions * - 5 bits validity */ UCHAR publish_rtx_interval_steps; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELPUB_SET_PARAM; /** * Model Publication Virtual Address Set parameter structure */ typedef struct _ACCESS_CONFIG_MODELPUB_VADDR_SET_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the Label UUID publish address */ UCHAR publish_address[MS_ACCESS_VADDR_LABEL_UUID_SIZE]; /** * Index of the application key * - 12 bits validity */ UINT16 appkey_index; /** * Value of the Friendship Credential Flag * - 1 bit validity */ UCHAR credential_flag; /** Default TTL value for the outgoing messages */ UCHAR publish_ttl; /** Period for periodic status publishing */ UCHAR publish_period; /** * Number of retransmissions for each published message * - 3 bits validity */ UCHAR publish_rtx_count; /** * Number of 50-millisecond steps between retransmissions * - 5 bits validity */ UCHAR publish_rtx_interval_steps; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELPUB_VADDR_SET_PARAM; /** * Model Subscription Add parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_ADD_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the address */ UINT16 address; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_ADD_PARAM; /** * Model Subscription Virtual Address Add parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_VADDR_ADD_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the Label UUID */ UCHAR label[MS_ACCESS_VADDR_LABEL_UUID_SIZE]; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_VADDR_ADD_PARAM; /** * Model Subscription Delete parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_DEL_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the address */ UINT16 address; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_DEL_PARAM; /** * Model Subscription Virtual Address Delete parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_VADDR_DEL_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the Label UUID */ UCHAR label[MS_ACCESS_VADDR_LABEL_UUID_SIZE]; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_VADDR_DEL_PARAM; /** * Model Subscription Overwrite parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_OVERWRITE_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the address */ UINT16 address; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_OVERWRITE_PARAM; /** * Model Subscription Virtual Address Overwrite parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_VADDR_OVERWRITE_PARAM { /** Address of the element */ UINT16 element_address; /** Value of the Label UUID */ UCHAR label[MS_ACCESS_VADDR_LABEL_UUID_SIZE]; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_VADDR_OVERWRITE_PARAM; /** * Model Subscription Delete All parameter structure */ typedef struct _ACCESS_CONFIG_MODELSUB_DELETEALL_PARAM { /** Address of the element */ UINT16 element_address; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; } ACCESS_CONFIG_MODELSUB_DELETEALL_PARAM; /** * SIG Model Subscription Get parameter structure */ typedef struct _ACCESS_CONFIG_SIGMODELSUB_GET_PARAM { /** Address of the element */ UINT16 element_address; /** SIG Model ID */ MS_ACCESS_MODEL_ID_SIG model_id; } ACCESS_CONFIG_SIGMODELSUB_GET_PARAM; /** * Vendor Model Subscription Get parameter structure */ typedef struct _ACCESS_CONFIG_VENDORMODELSUB_GET_PARAM { /** Address of the element */ UINT16 element_address; /** Vendor Model ID */ MS_ACCESS_MODEL_ID_VENDOR model_id; } ACCESS_CONFIG_VENDORMODELSUB_GET_PARAM; /** * Netkey Add parameter structure */ typedef struct _ACCESS_CONFIG_NETKEY_ADD_PARAM { /** Netkey */ UCHAR netkey[MS_ACCESS_NETKEY_SIZE]; /** Netkey Index */ UINT16 netkey_index; } ACCESS_CONFIG_NETKEY_ADD_PARAM; /** * Netkey Update parameter structure */ typedef struct _ACCESS_CONFIG_NETKEY_UPDATE_PARAM { /** New Netkey */ UCHAR netkey[MS_ACCESS_NETKEY_SIZE]; /** Netkey Index */ UINT16 netkey_index; } ACCESS_CONFIG_NETKEY_UPDATE_PARAM; /** * Netkey Delete parameter structure */ typedef struct _ACCESS_CONFIG_NETKEY_DELETE_PARAM { /** Netkey Index */ UINT16 netkey_index; } ACCESS_CONFIG_NETKEY_DELETE_PARAM; /** * Appkey Add parameter structure */ typedef struct _ACCESS_CONFIG_APPKEY_ADD_PARAM { /** Appkey value */ UCHAR appkey[MS_ACCESS_APPKEY_SIZE]; /** * Index of the NetKey and index of the AppKey * - 24 bits valid */ UINT16 netkey_index; UINT16 appkey_index; } ACCESS_CONFIG_APPKEY_ADD_PARAM; /** * Appkey Update parameter structure */ typedef struct _ACCESS_CONFIG_APPKEY_UPDATE_PARAM { /** New Appkey value */ UCHAR appkey[MS_ACCESS_APPKEY_SIZE]; /** * Index of the NetKey and index of the AppKey * - 24 bits valid */ UINT16 netkey_index; UINT16 appkey_index; } ACCESS_CONFIG_APPKEY_UPDATE_PARAM; /** * Appkey Delete parameter structure */ typedef struct _ACCESS_CONFIG_APPKEY_DELETE_PARAM { /** * Index of the NetKey and index of the AppKey * - 24 bits valid * */ UINT16 netkey_index; UINT16 appkey_index; } ACCESS_CONFIG_APPKEY_DELETE_PARAM; /** * Appkey Get parameter structure */ typedef struct _ACCESS_CONFIG_APPKEY_GET_PARAM { /** Index of the NetKey */ UINT16 netkey_index; } ACCESS_CONFIG_APPKEY_GET_PARAM; /** * Node Identity Get parameter structure */ typedef struct _ACCESS_CONFIG_NODEID_GET_PARAM { /** Index of the NetKey */ UINT16 netkey_index; } ACCESS_CONFIG_NODEID_GET_PARAM; /** * Node Identity Set parameter structure */ typedef struct _ACCESS_CONFIG_NODEID_SET_PARAM { /** Index of the NetKey */ UINT16 netkey_index; /** New Node Identity state */ UCHAR identity; } ACCESS_CONFIG_NODEID_SET_PARAM; /** * Model App Bind parameter structure */ typedef struct _ACCESS_CONFIG_MODEL_APP_BIND_PARAM { /** Address of the element */ UINT16 element_address; /** Index of the AppKey */ UINT16 appkey_index; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; /** * Local SIG Model ID or Vendor Model ID. * Used only for MS_config_client_model_app_bind(). */ MS_ACCESS_MODEL_ID client_model; } ACCESS_CONFIG_MODEL_APP_BIND_PARAM; /** * Model App Unbind parameter structure */ typedef struct _ACCESS_CONFIG_MODEL_APP_UNBIND_PARAM { /** Address of the element */ UINT16 element_address; /** Index of the AppKey */ UINT16 appkey_index; /** SIG Model ID or Vendor Model ID */ MS_ACCESS_MODEL_ID model; /** * Local SIG Model ID or Vendor Model ID. * Used only for MS_config_client_model_app_unbind(). */ MS_ACCESS_MODEL_ID client_model; } ACCESS_CONFIG_MODEL_APP_UNBIND_PARAM; /** * SIG Model App Get parameter structure */ typedef struct _ACCESS_CONFIG_SIG_MODEL_APP_GET_PARAM { /** Address of the element */ UINT16 element_address; /** SIG Model ID */ MS_ACCESS_MODEL_ID_SIG model_id; } ACCESS_CONFIG_SIG_MODEL_APP_GET_PARAM; /** * Vendor Model App Get parameter structure */ typedef struct _ACCESS_CONFIG_VENDOR_MODEL_APP_GET_PARAM { /** Address of the element */ UINT16 element_address; /** Vendor Model ID */ MS_ACCESS_MODEL_ID_VENDOR model_id; } ACCESS_CONFIG_VENDOR_MODEL_APP_GET_PARAM; /** * Friend Set parameter structure */ typedef struct _ACCESS_CONFIG_FRIEND_SET_PARAM { /** New Friend state */ UCHAR friend; } ACCESS_CONFIG_FRIEND_SET_PARAM; /** * Key Refresh Phase Get parameter structure */ typedef struct _ACCESS_CONFIG_KEYREFRESH_PHASE_GET_PARAM { /** Netkey Index */ UINT16 netkey_index; } ACCESS_CONFIG_KEYREFRESH_PHASE_GET_PARAM; /** * Key Refresh Phase Set parameter structure */ typedef struct _ACCESS_CONFIG_KEYREFRESH_PHASE_SET_PARAM { /** Netkey Index */ UINT16 netkey_index; /** New Key Refresh Phase Transition */ UCHAR transition; } ACCESS_CONFIG_KEYREFRESH_PHASE_SET_PARAM; /** * Heartbeat Publication Set parameter structure */ typedef struct _ACCESS_CONFIG_HEARTBEATPUB_SET_PARAM { /** Destination address for Heartbeat messages */ UINT16 destination; /** Number of Heartbeat messages to be sent */ UCHAR countlog; /** Period for sending Heartbeat messages */ UCHAR periodlog; /** TTL to be used when sending Heartbeat messages */ UCHAR ttl; /** * Bit field indicating features that trigger * Heartbeat messages when changed */ UINT16 features; /** Netkey Index */ UINT16 netkey_index; } ACCESS_CONFIG_HEARTBEATPUB_SET_PARAM; /** * Heartbeat Subscription Set parameter structure */ typedef struct _ACCESS_CONFIG_HEARTBEATSUB_SET_PARAM { /** Source address for Heartbeat messages */ UINT16 source; /** Destination address for Heartbeat messages */ UINT16 destination; /** Period for receiving Heartbeat messages */ UCHAR periodlog; } ACCESS_CONFIG_HEARTBEATSUB_SET_PARAM; /** * Low Power Node PollTimeout Get parameter structure */ typedef struct _ACCESS_CONFIG_LPNPOLLTIMEOUT_GET_PARAM { /** The unicast address of the Low Power node */ UINT16 lpn_address; } ACCESS_CONFIG_LPNPOLLTIMEOUT_GET_PARAM; /** * Network Transmit Set parameter structure */ typedef struct _ACCESS_CONFIG_NETWORK_TRANSMIT_SET_PARAM { /** * Number of transmissions for each Network PDU * originating from the node * - 3 bits validity */ UCHAR net_tx_count; /** * Number of 10-millisecond steps between transmissions * - 5 bits validity */ UCHAR net_tx_interval_steps; } ACCESS_CONFIG_NETWORK_TRANSMIT_SET_PARAM; /** \} */ /** \} */ /* --------------------------------------------- Function */ /** * \defgroup config_api_defs API Definitions * \{ * This section describes the EtherMind Mesh Config Model APIs. */ /** * \defgroup config_cli_api_defs Configuration Client API Definitions * \{ * This section describes the Configuration Client APIs. */ /** * \brief API to initialize Configuration Client model * * \par Description * This is to initialize Configuration Client model and to register with Acess layer. * * \param [in] element_handle * Element identifier to be associated with the model instance. * * \param [in, out] model_handle * Model identifier associated with the model instance on successful initialization. * After power cycle of an already provisioned node, the model handle will have * valid value and the same will be reused for registration. * * \param [in] appl_cb Application Callback to be used by the Configuration Client. * * \return API_SUCCESS or an error code indicating reason for failure */ API_RESULT MS_config_client_init ( /* IN */ MS_ACCESS_ELEMENT_HANDLE element_handle, /* INOUT */ MS_ACCESS_MODEL_HANDLE * model_handle, /* IN */ MS_CONFIG_MODEL_CB appl_cb ); API_RESULT MS_config_client_set_publish_address ( /* IN */ MS_NET_ADDR pub_addr ); /** * \brief API to set configuration server * * \par Description * This is to sets the information about server which is to be configured. * * \param [in] server_addr Address of Configuration Server. * \param [in] dev_key Device Key of Configuration Server. * * \return API_SUCCESS or an error code indicating reason for failure */ API_RESULT MS_config_client_set_server ( /* IN */ MS_NET_ADDR server_addr, /* IN */ UCHAR * dev_key ); /** * \brief API to send acknowledged commands * * \par Description * This is to initialize sending acknowledged commands. * * \param [in] req_opcode Request Opcode. * \param [in] param Parameter associated with Request Opcode. * \param [in] rsp_opcode Response Opcode. * * \return API_SUCCESS or an error code indicating reason for failure */ API_RESULT MS_config_client_send_reliable_pdu ( /* IN */ UINT32 req_opcode, /* IN */ void * param, /* IN */ UINT32 rsp_opcode ); /** * \brief API to get the secure network beacon state * * \par Description * The Config Beacon Get is an acknowledged message used to get the current * Secure Network Beacon state of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_beacon_get() \ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_BEACON_GET_OPCODE,\ NULL,\ MS_ACCESS_CONFIG_BEACON_STATUS_OPCODE \ ) /** * \brief API to set the secure network beacon state * * \par Description * The Config Beacon Set is an acknowledged message used to set the current * Secure Network Beacon state of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_BEACON_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_beacon_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_BEACON_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_BEACON_STATUS_OPCODE \ ) /** * \brief API to get the composition data state * * \par Description * The Config Composition Data Get is an acknowledged message used to read * one page of the Composition Data. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_COMPDATA_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_composition_data_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_COMPOSITION_DATA_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_COMPOSITION_DATA_STATUS_OPCODE \ ) /** * \brief API to get the default TTL state * * \par Description * Config Default TTL Get is an acknowledged message used to get the current * Default TTL state of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_default_ttl_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_DEFAULT_TTL_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_DEFAULT_TTL_STATUS_OPCODE \ ) /** * \brief API to set the default TTL state * * \par Description * The Config Default TTL Set is an acknowledged message used to set the * Default TTL state of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_DEFAULT_TTL_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_default_ttl_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_DEFAULT_TTL_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_DEFAULT_TTL_STATUS_OPCODE \ ) /** * \brief API to get the GATT proxy state * * \par Description * The Config GATT Proxy Get is an acknowledged message used to get the GATT * Proxy state of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_gatt_proxy_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_GATT_PROXY_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_GATT_PROXY_STATUS_OPCODE \ ) /** * \brief API to set the GATT Proxy state * * \par Description * The Config GATT Proxy Set is an acknowledged message used to set the * GATT Proxy state of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_GATT_PROXY_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_gatt_proxy_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_GATT_PROXY_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_GATT_PROXY_STATUS_OPCODE \ ) /** * \brief API to get the relay state * * \par Description * The Config Relay Get is an acknowledged message used to get the current * Relay and Relay Retransmit states of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_relay_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_RELAY_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_RELAY_STATUS_OPCODE \ ) /** * \brief API to set the relay state * * \par Description * The Config Relay Set is an acknowledged message used to set the current * Relay and Relay Retransmit states of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_RELAY_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_relay_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_RELAY_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_RELAY_STATUS_OPCODE \ ) /** * \brief API to get the model publication state * * \par Description * The Config Model Publication Get is an acknowledged message used to get * the publish address and parameters of an outgoing message that originates * from a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELPUB_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_publication_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_PUBLICATION_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_PUBLICATION_STATUS_OPCODE \ ) /** * \brief API to set the model publication state * * \par Description * The Config Model Publication Set is an acknowledged message used to set * the Model Publication state of an outgoing message that * originates from a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELPUB_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_publication_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_PUBLICATION_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_PUBLICATION_STATUS_OPCODE \ ) /** * \brief API to set the model publication state * * \par Description * The Config Model Publication Set is an acknowledged message used to set * the Model Publication state of an outgoing message that * originates from a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELPUB_VADDR_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_publication_vaddr_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_PUBLICATION_VIRTUAL_ADDRESS_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_PUBLICATION_STATUS_OPCODE \ ) /** * \brief API to add subscription address * * \par Description * The Config Model Subscription Add is an acknowledged message used to * add an address to a Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_ADD_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_add(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_ADD_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to add subscription address * * \par Description * The Config Model Subscription Add is an acknowledged message used to * add an address to a Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_VADDR_ADD_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_vaddr_add(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_ADD_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to delete subscription address * * \par Description * The Config Model Subscription Delete is an acknowledged message used to * delete a subscription address from the Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_DEL_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_delete(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_DELETE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to delete subscription address * * \par Description * The Config Model Subscription Delete is an acknowledged message used to * delete a subscription address from the Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_VADDR_DEL_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_vaddr_delete(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_DELETE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to add subscription address to cleared list * * \par Description * The Config Model Subscription Overwrite is an acknowledged message used * to discard the Subscription List and add an address to the cleared * Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_OVERWRITE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_overwrite(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_OVERWRITE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to add subscription address to cleared list * * \par Description * The Config Model Subscription Overwrite is an acknowledged message used * to discard the Subscription List and add an address to the cleared * Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_VADDR_OVERWRITE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_vaddr_overwrite(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_VIRTUAL_ADDRESS_OVERWRITE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to discard subscription list * * \par Description * The Config Model Subscription Delete All is an acknowledged message * used to discard the Subscription List of a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODELSUB_DELETEALL_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_subscription_delete_all(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_DELETE_ALL_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to get subscription list * * \par Description * The Config SIG Model Subscription Get is an acknowledged message used to * get the list of subscription addresses of a model within the element. * This message is only for SIG Models. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_SIGMODELSUB_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_sig_model_subscription_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_SIG_MODEL_SUBSCRIPTION_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_SIG_MODEL_SUBSCRIPTION_LIST_OPCODE \ ) /** * \brief API to get subscription list * * \par Description * The Config SIG Model Subscription Get is an acknowledged message used to * get the list of subscription addresses of a model within the element. * This message is only for Vendor Models. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_VENDORMODELSUB_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_vendor_model_subscription_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_VENDOR_MODEL_SUBSCRIPTION_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_VENDOR_MODEL_SUBSCRIPTION_LIST_OPCODE \ ) /** * \brief API to add to Netkey list * * \par Description * The Config NetKey Add is an acknowledged message used to add a NetKey * to a NetKey List on a node. The added NetKey is then used by the node to * authenticate and decrypt messages it receives, as well as authenticate and * encrypt messages it sends. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NETKEY_ADD_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_netkey_add(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETKEY_ADD_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NETKEY_STATUS_OPCODE \ ) /** * \brief API to update to Netkey list * * \par Description * The Config NetKey Update is an acknowledged message used to update a NetKey * on a node. The updated NetKey is then used by the node to authenticate and * decrypt messages it receives, as well as authenticate and encrypt messages * it sends, as defined by the Key Refresh procedure. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NETKEY_UPDATE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_netkey_update(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETKEY_UPDATE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NETKEY_STATUS_OPCODE \ ) /** * \brief API to delete from Netkey list * * \par Description * The Config NetKey Delete is an acknowledged message used to * delete a NetKey on a NetKey List from a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NETKEY_DELETE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_netkey_delete(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETKEY_DELETE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NETKEY_STATUS_OPCODE \ ) /** * \brief API to get Netkey list * * \par Description * The Config NetKey Get is an acknowledged message used to report * all NetKeys known to the node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_netkey_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETKEY_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_NETKEY_LIST_OPCODE \ ) /** * \brief API to add to Appkey list * * \par Description * The Config AppKey Add is an acknowledged message used to add an AppKey to * the AppKey List on a node and bind it to the NetKey identified by * NetKeyIndex. The added AppKey can be used by the node only as a pair with * the specified NetKey. The AppKey is used to authenticate and decrypt * messages it receives, as well as authenticate and encrypt messages it sends. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_APPKEY_ADD_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_appkey_add(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_APPKEY_ADD_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_APPKEY_STATUS_OPCODE \ ) /** * \brief API to update to Appkey list * * \par Description * The Config AppKey Update is an acknowledged message used to update an AppKey value * on the AppKey List on a node. The updated AppKey is used by the node to authenticate * and decrypt messages it receives, as well as authenticate and encrypt messages it * sends, as defined by the Key Refresh procedure. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_APPKEY_UPDATE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_appkey_update(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_APPKEY_UPDATE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_APPKEY_STATUS_OPCODE \ ) /** * \brief API to delete from Appkey list * * \par Description * The Config AppKey Delete is an acknowledged message used to delete an AppKey * from the AppKey List on a node * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_APPKEY_DELETE_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_appkey_delete(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_APPKEY_DELETE_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_APPKEY_STATUS_OPCODE \ ) /** * \brief API to get the Appkey list * * \par Description * The AppKey Get is an acknowledged message used to report all AppKeys * bound to the NetKey. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_APPKEY_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_appkey_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_APPKEY_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_APPKEY_LIST_OPCODE \ ) /** * \brief API to get the Node Identity state * * \par Description * The Config Node Identity Get is an acknowledged message used to get the * current Node Identity state for a subnet. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NODEID_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_node_identity_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NODE_IDENTITY_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NODE_IDENTITY_STATUS_OPCODE \ ) /** * \brief API to set the Node Identity state * * \par Description * The Config Node Identity Set is an acknowledged message used to set the * current Node Identity state for a subnet. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NODEID_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_node_identity_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NODE_IDENTITY_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NODE_IDENTITY_STATUS_OPCODE \ ) /** * \brief API to bind Appkey to model * * \par Description * The Config Model App Bind is an acknowledged message used to bind an * AppKey to a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODEL_APP_BIND_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_app_bind(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_APP_BIND_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_APP_STATUS_OPCODE \ ) /** * \brief API to unbind Appkey to model * * \par Description * The Config Model App Unbind is an acknowledged message used to remove the * binding between an AppKey and a model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_MODEL_APP_UNBIND_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_model_app_unbind(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_MODEL_APP_UNBIND_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_MODEL_APP_STATUS_OPCODE \ ) /** * \brief API to get all SIG model Appkeys * * \par Description * The Config SIG Model App Get is an acknowledged message used to request * report of all AppKeys bound to the SIG Model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_SIG_MODEL_APP_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_sig_model_app_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_SIG_MODEL_APP_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_SIG_MODEL_APP_LIST_OPCODE \ ) /** * \brief API to get all Vendor model Appkeys * * \par Description * The Config Vendor Model App Get is an acknowledged message used to request * report of all AppKeys bound to the Vendor Model. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_VENDOR_MODEL_APP_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_vendor_model_app_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_VENDOR_MODEL_APP_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_VENDOR_MODEL_APP_LIST_OPCODE \ ) /** * \brief API to reset a node * * \par Description * The Config Node Reset is an acknowledged message used to reset a node * (other than a Provisioner) and remove it from the network. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_node_reset()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NODE_RESET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_NODE_RESET_STATUS_OPCODE \ ) /** * \brief API to get friend state * * \par Description * The Config Friend Get is an acknowledged message used to get the * current Friend state of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_friend_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_FRIEND_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_FRIEND_STATUS_OPCODE \ ) /** * \brief API to set friend state * * \par Description * The Config Friend Set is an acknowledged message used to set the * Friend state of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_FRIEND_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_friend_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_FRIEND_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_FRIEND_STATUS_OPCODE \ ) /** * \brief API to get key refresh phase state * * \par Description * The Config Key Refresh Phase Get is an acknowledged message used * to get the current Key Refresh Phase state of the identified network key. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_KEYREFRESH_PHASE_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_keyrefresh_phase_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_KEY_REFRESH_PHASE_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_KEY_REFRESH_PHASE_STATUS_OPCODE \ ) /** * \brief API to set key refresh phase state * * \par Description * The Config Key Refresh Phase Set is an acknowledged message used * to set the current Key Refresh Phase state of the identified network key. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_KEYREFRESH_PHASE_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_keyrefresh_phase_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_KEY_REFRESH_PHASE_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_KEY_REFRESH_PHASE_STATUS_OPCODE \ ) /** * \brief API to get heartbeat publication state * * \par Description * The Config Heartbeat Publication Get is an acknowledged message used to get * the current Heartbeat Publication state of an element. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_heartbeat_publication_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_HEARTBEAT_PUBLICATION_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_HEARTBEAT_PUBLICATION_STATUS_OPCODE \ ) /** * \brief API to set heartbeat publication state * * \par Description * The Config Heartbeat Publication Set is an acknowledged message * used to set the current Heartbeat Publication state of an element. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_HEARTBEATPUB_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_heartbeat_publication_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_HEARTBEAT_PUBLICATION_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_HEARTBEAT_PUBLICATION_STATUS_OPCODE \ ) /** * \brief API to get heartbeat subscription state * * \par Description * The Config Heartbeat Subscription Get is an acknowledged message used * to get the current Heartbeat Subscription state of an element. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_heartbeat_subscription_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_HEARTBEAT_SUBSCRIPTION_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_HEARTBEAT_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to set heartbeat subscription state * * \par Description * The Config Heartbeat Publication Set is an acknowledged message * used to set the current Heartbeat Subscription state of an element. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_HEARTBEATSUB_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_heartbeat_subscription_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_HEARTBEAT_SUBSCRIPTION_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_HEARTBEAT_SUBSCRIPTION_STATUS_OPCODE \ ) /** * \brief API to get LPN Polltimeout state * * \par Description * The Config Low Power Node PollTimeout Get is an acknowledged message used * to get the current value of PollTimeout timer of the Low Power node within * a Friend node. The message is sent to a Friend node that has claimed to be * handling messages by sending ACKs On Behalf Of (OBO) the indicated Low * Power node. This message should only be sent to a node that has the Friend * feature supported and enabled. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_LPNPOLLTIMEOUT_GET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_lpn_polltimeout_get(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_GET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_LOW_POWER_NODE_POLLTIMEOUT_STATUS_OPCODE \ ) /** * \brief API to get Network transmit state * * \par Description * The Config Network Transmit Get is an acknowledged message used to get * the current Network Transmit state of a node. * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_network_transmit_get()\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETWORK_TRANSMIT_GET_OPCODE,\ NULL, \ MS_ACCESS_CONFIG_NETWORK_TRANSMIT_STATUS_OPCODE \ ) /** * \brief API to set Network transmit state * * \par Description * The Config Network Transmit Set is an acknowledged message used to set * the current Network Transmit state of a node. * * \param [in] param * Pointer to the structure populated as in \ref ACCESS_CONFIG_NETWORK_TRANSMIT_SET_PARAM * * \return API_SUCCESS or an error code indicating reason for failure */ #define MS_config_client_network_transmit_set(param)\ MS_config_client_send_reliable_pdu \ (\ MS_ACCESS_CONFIG_NETWORK_TRANSMIT_SET_OPCODE,\ (void *)param, \ MS_ACCESS_CONFIG_NETWORK_TRANSMIT_STATUS_OPCODE \ ) /** \} */ /** * \defgroup config_svr_api_defs Configuration Server API Definitions * \{ * This section describes the Configuration Server APIs. */ /** * \brief API to initialize configuration server model * * \par Description * This is to initialize configuration server model and to register with Acess layer. * * \param [in] element_handle * Element identifier to be associated with the model instance. * * \param [in, out] model_handle * Model identifier associated with the model instance on successful initialization. * After power cycle of an already provisioned node, the model handle will have * valid value and the same will be reused for registration. * * \return API_SUCCESS or an error code indicating reason for failure */ API_RESULT MS_config_server_init ( /* IN */ MS_ACCESS_ELEMENT_HANDLE element_handle, /* INOUT */ MS_ACCESS_MODEL_HANDLE * model_handle ); typedef API_RESULT ( *APP_config_server_CB_t )( /* IN */ MS_ACCESS_MODEL_HANDLE * , /* IN */ MS_NET_ADDR , /* IN */ MS_NET_ADDR , /* IN */ MS_SUBNET_HANDLE , /* IN */ MS_APPKEY_HANDLE , /* IN */ UINT32 , /* IN */ UCHAR * , /* IN */ UINT16 , /* IN */ API_RESULT , /* IN */ UINT32 , /* IN */ UCHAR * , /* IN */ UINT16 ); void APP_config_server_CB_init(APP_config_server_CB_t appConfigServerCB); /** \} */ /** \} */ /** \} */ #endif /* _H_MS_CONFIG_API_ */