Move 'ZB_SUPPORT_PRIORITY_5' APIs to internal level
authorJiwan Kim <ji-wan.kim@samsung.com>
Wed, 10 May 2017 10:41:31 +0000 (19:41 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:07:21 +0000 (18:07 +0900)
Change-Id: I9ed30e3d48189fc5091f8a1d3c627b15b4b3bda5
Signed-off-by: Jiwan Kim <ji-wan.kim@samsung.com>
include/zcl/zb_zcl_global_commands.h
include/zdo/zb_zdo_dev_disc.h
include/zdo/zb_zdo_nwk_mgr.h
include/zdo/zb_zdo_svc_disc.h [deleted file]
include/zigbee_internal.h

index 07e6c5376c8c7392d724261c4441120e4c1cb153..28e70938600550b5e67ed40d29abcd1e3feb07b0 100644 (file)
@@ -483,134 +483,6 @@ int zb_zcl_global_discover_attr(
                zb_zcl_global_discover_attr_rsp cb,
                void *user_data);
 
-/**
- * @brief Sends 'read attributes structured' command
- * details The read attributes command is generated when a device wishes to determine the
- * values of one or more attributes, or elements of attributes, located on another
- * device. Each attribute identifier field shall contain the identifier of the attribute
- * to be read.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 target network address
- * @param[in] src_ep source end-point (ex. 1)
- * @param[in] dst_ep destination end-point (ex. 1)
- * @param[in] zcl_frame_ctl frame control bits (default 0x00). \n
- *            Only OR operation is allowed in ZCL header \n
- *            - Frame Type : \n
- *            #ZB_ZCL_FC_GLOBALLY_USED (default) \n
- *            #ZB_APS_FC_CLUSTER_SPECIFIC \n
- *            - Manufacturer Specific : \n
- *            - Direction : \n
- *            #ZB_ZCL_CLIENT_TO_SERVER (default) \n
- *            #ZB_ZCL_SERVER_TO_CLIENT \n
- *            - Disable Default Response : \n
- *            #ZB_ZCL_LEAVE_WELL_ALONE (default) \n
- *            #ZB_ZCL_DISABLE_DEFAULT_RESPONSE \n
- * @param[in] cluster_id ZCL cluster id
- * @param[in] records The combination of attribute identifier and selector .
- * @param[in] records_len The maximum number of read_structured_attribute_record
- * @param[in] cb Response callback function
- * @param[in] user_data User data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
- * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zcl_global_rsp()
- */
-int zb_zcl_global_read_attr_structured(
-               zigbee_h handle,
-               nwk_addr addr16,
-               unsigned char src_ep,
-               unsigned char dst_ep,
-               unsigned char zcl_frame_ctl,
-               unsigned short cluster_id,
-               read_structured_attr_record_h *records,
-               int records_len,
-               zb_zcl_global_rsp cb,
-               void *user_data);
-
-/**
- * @brief Sends 'write attributes structured' command
- * @details When writing an element to an array or structure, the Indicator subfield indicates
- * the number of index fields that follow it. This number is limited to the range 0 - 15
- * (i.e. the upper 4 bits of the Indicator field are set to zero). It may be further limited
- * by any relevant profile or application.
- * If the Indicator subfield is 0, there are no index fields, and the whole of the
- * attribute value is to be written.
- * If this subfield is 1 or greater, the index fields indicate which element is to be
- * written, nested to a depth of m. For example, if the attribute is an array of arrays
- * (or structures), then if m = 2, index 1 = 5 and index 2 = 3, the third element of the
- * fifth element of the attribute will be written.
- * Note that elements are numbered from 1 upwards for both arrays and structures.
- * The zeroth element of an array or structure has type 16 bit unsigned integer, and
- * holds the number of elements in the array or structure. The zeroth element of an
- * array may optionally be written (this is application dependent) and has the effect
- * of changing the number of elements of the array. If the number is reduced, the
- * array is truncated. If the number is increased, the content of new elements is
- * application dependent.
- * The zeroth element of a structure may not be written to. Writing to an element
- * with an index greater than the number of elements in an array or structure is
- * always an error.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 target network address
- * @param[in] src_ep source end-point (ex. 1)
- * @param[in] dst_ep destination end-point (ex. 1)
- * @param[in] zcl_frame_ctl frame control bits (default 0x00). \n
- *            Only OR operation is allowed in ZCL header \n
- *            - Frame Type : \n
- *            #ZB_ZCL_FC_GLOBALLY_USED (default) \n
- *            #ZB_APS_FC_CLUSTER_SPECIFIC \n
- *            - Manufacturer Specific : \n
- *            - Direction : \n
- *            #ZB_ZCL_CLIENT_TO_SERVER (default) \n
- *            #ZB_ZCL_SERVER_TO_CLIENT \n
- *            - Disable Default Response : \n
- *            #ZB_ZCL_LEAVE_WELL_ALONE (default) \n
- *            #ZB_ZCL_DISABLE_DEFAULT_RESPONSE \n
- * @param[in] cluster_id ZCL cluster id
- * @param[in] records The combination of attribute identifier and selector .
- * @param[in] records_len The maximum number of write_structured_attribute_record
- * @param[in] cb Response callback function
- * @param[in] user_data User data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
- * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zcl_global_rsp()
- */
-int zb_zcl_global_write_attr_structured(
-               zigbee_h handle,
-               nwk_addr addr16,
-               unsigned char src_ep,
-               unsigned char dst_ep,
-               unsigned char zcl_frame_ctl,
-               unsigned short cluster_id,
-               write_attr_structured_record_h *records,
-               int records_len,
-               zb_zcl_global_rsp cb,
-               void *user_data);
-
 /**
  * @brief Called after zb_zcl_global_discover_commands_received() and
  *        zb_zcl_global_discover_cmds_generated()
index 78420d4ef68d6279a0dd13862dcbda971f07d30f..ff3e552bf5a9ac41b3b0fff08dc5fadb77f103e9 100644 (file)
@@ -375,114 +375,6 @@ int zb_zdo_simple_desc_req(
                zb_zdo_simple_desc_rsp cb,
                void *user_data);
 
-#ifdef ZB_SUPPORT_PRIORITY_5
-/**
- * @brief Called after 'extended simple descriptor request' command
- * @details The Extended_Simple_Desc_rsp is generated by a remote device in response to an
- * Extended_Simple_Desc_req directed to the remote device. This command shall
- * be unicast to the originator of the Extended_Simple_Desc_req command.
- * The remote device shall generate the Extended_Simple_Desc_rsp command using
- * the format illustrated in param list. The NWKAddrOfInterest field shall match
- * that specified in the original Extended_Simple_Desc_req command. If the
- * endpoint field specified in the original Extended_Simple_Desc_req command
- * does not fall within the correct range specified in Table 2.49, the remote device
- * shall set the Status field to INVALID_EP, set the Endpoint and StartIndex fields to
- * their respective values supplied in the request, and not include the AppClusterList
- * field.\n\n
- * If the NWKAddrOfInterest field matches the network address of the remote
- * device, it shall determine whether the endpoint field specifies the identifier of an
- * active endpoint on the device.\n\n If the endpoint field corresponds to an active
- * endpoint, the remote device shall set the Status field to SUCCESS, set the
- * AppClusterList field to the sequence of octets from the concatenated AppInput
- * ClusterList and AppOutputClusterList from the Simple Descriptor (Tables 2.39),
- * and supply that field as AppClusterList in the response. Note that dependent on
- * the value of StartIndex in the request, the results in AppClusterList may be empty
- * (for example, the StartIndex begins after the sequence of octets given by the
- * concatenation of AppInputClusterList and AppOutputClusterList).\n\n If the endpoint
- * field does not correspond to an active endpoint, the remote device shall set the
- * Status field to NOT_ACTIVE, set the StartIndex field to the value supplied in the
- * request, and not include the AppClusterList field.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INVALID_EP \n
- *                    #ZB_ZDP_NOT_ACTIVE \n
- *                    #ZB_ZDP_DEVICE_NOT_FOUND \n
- *                    #ZB_ZDP_INV_REQUESTTYPE \n
- *                    #ZB_ZDP_NO_DESCRIPTOR
- * @param[in] addr16 Network address for the request
- * @param[in] ep The endpoint on the destination
- * @param[in] app_input_cluster_count The total count of application input cluster in
- *                                    the simple descriptor for this endpoint
- * @param[in] app_output_cluster_count The total count of application output cluster in
- *                                     the simple descriptor for this endpoint
- * @param[in] start_idx Starting index within the AppClusterList of the response
- *                       represented by an ordered list of the Application Input
- *                       Cluster List and Application Output Cluster List from the
- *                       Simple Descriptor for this endpoint.
- * @param[in] app_cluster_list A concatenated, ordered list of the AppInputClusterList
- *                              and AppOutputClusterList, beginning with StartIndex,
- *                              from the Simple Descriptor.
- *                              This field shall only be included in the frame if the
- *                              status field is equal to ZB_ZDP_SUCCESS.
- * @param[in] user_data user data
- *
- * @see zb_zdo_extended_simple_desc_req()
- */
-typedef void (*zb_zdo_extended_simple_desc_rsp)(
-               unsigned char status,
-               nwk_addr addr16,
-               unsigned char ep,
-               unsigned char app_input_cluster_count,
-               unsigned char app_output_cluster_count,
-               unsigned char start_idx,
-               const unsigned char *app_cluster_list,
-               void *user_data);
-
-/**
- * @brief Sends 'extended simple descriptor request' command
- * @details The Extended_Active_EP_req command is generated from a local device wishing
- * to acquire the list of endpoints on a remote device with simple descriptors. This
- * command shall be unicast either to the remote device itself or to an alternative
- * device that contains the discovery information of the remote device.n\n The
- * Extended_Active_EP_req is used for devices which support more active
- * endpoints than can be returned by a single Active_EP_req.
- * The local device shall generate the Extended_Active_EP_req command using the
- * format illustrated in Table 2.66. in Zigbee Specification.\n\n
- * The NWKAddrOfInterest field shall contain the
- * network address of the remote device for which the active endpoint list is
- * required.\n\n The StartIndex field shall be set in the request to enable retrieval of
- * lists of active endpoints from devices whose list exceeds the size of a single ASDU and
- * where fragmentation is not supported.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] start_idx Starting index within the active endpoint list in the response
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_extended_simple_desc_rsp()
- */
-int zb_zdo_extended_simple_desc_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               unsigned char start_idx,
-               zb_zdo_extended_simple_desc_rsp cb,
-               void *user_data);
-
-#endif /* ZB_SUPPORT_PRIORITY_5 */
-
 /**
  * @brief Called after 'matching descriptor request' command
  * @details The Match_Desc_rsp is generated by a remote device in response to a
index 19b556bd0be046bafa55021572f7f4f82fffb766..3210dfbf9f6406cc091efaf547a2e5b3ff1c9e7a 100644 (file)
@@ -435,71 +435,6 @@ int zb_zdo_mgmt_leave_req(
                zb_zdo_mgmt_leave_rsp cb,
                void *user_data);
 
-#ifdef ZB_SUPPORT_PRIORITY_5
-/**
- * @brief Called after 'direct join management request' command
- * @details The Mgmt_Direct_Join_rsp is generated in response to a Mgmt_Direct_Join_req.
- * If this management command is not supported, a status of NOT_SUPPORTED
- * shall be returned.\n\n Otherwise, the Remote Device shall implement the following
- * processing.\n\n
- * Upon receipt and after support for the Mgmt_Direct_Join_req has been verified,
- * the Remote Device shall execute the NLME-DIRECT-JOIN.request to directly
- * associate the DeviceAddress contained in the Mgmt_Direct_Join_req to the
- * network.\n\n The Mgmt_Direct_Join_rsp shall contain the same status that was
- * contained in the NLME-DIRECT-JOIN.confirm primitive.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- *                    #ZB_ZDP_NOT_AUTHORIZED \n
- *                    returned value from NLME-DIRECT-JOIN.confirm primitive \n
- * @param[in] user_data User data
- *
- * @see zb_zdo_mgmt_direct_join_rsp()
- */
-typedef void (*zb_zdo_mgmt_direct_join_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'direct join device management request' command
- * @details The Mgmt_Direct_Join_req is generated from a Local Device requesting that a
- * Remote Device permit a device designated by DeviceAddress to join the network
- * directly.\n\n The Mgmt_Direct_Join_req is generated by a management application
- * which directs the request to a Remote Device where the NLME-DIRECT-
- * JOIN.request is to be executed using the parameter supplied by
- * Mgmt_Direct_Join_req.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr64 The IEEE address for designated device to leave
- * @param[in] capability See zb_zdo_mac_capability_field_e in zb_zdo.h header file
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_mgmt_direct_join_rsp()
- */
-int zb_zdo_mgmt_direct_join_req(
-               zigbee_h handle,
-               ieee_addr addr64,
-               unsigned char capability,
-               zb_zdo_mgmt_direct_join_rsp cb,
-               void *user_data);
-
-#endif /* ZB_SUPPORT_PRIORITY_5*/
-
 /**
  * @brief Called after 'permit joining management request' command
  * @details The Mgmt_Permit_Joining_rsp is generated in response to a unicast
@@ -574,80 +509,6 @@ int zb_zdo_mgmt_permit_joining_req(
                zb_zdo_mgmt_permit_joining_rsp cb,
                void *user_data);
 
-#ifdef ZB_SUPPORT_PRIORITY_5
-/**
- * @brief Called after 'cache management request' command
- * @details The Mgmt_Cache_rsp is generated in response to an Mgmt_Cache_req. If this
- * management command is not supported, or the Remote Device is not a Primary
- * Cache Device, a status of NOT_SUPPORTED shall be returned and all parameter
- * fields after the Status field shall be omitted. Otherwise, the Remote Device shall
- * implement the following processing.\n\n Upon receipt of the Mgmt_Cache_req and
- * after support for the Mgmt_Cache_req has been verified, the Remote Device shall
- * access an internally maintained list of registered ZigBee End Devices utilizing the
- * discovery cache on this Primary Discovery Cache device.\n\n The entries reported
- * shall be those, starting with StartIndex and including whole DiscoveryCacheList
- * records (see Table 2.139) until the limit on MSDU size, i.e., aMaxMACFrameSize
- * (see [B1]), is reached.\n\n Within the Mgmt_Cache_rsp command, the
- * DiscoveryCacheListEntries field shall represent the total number of registered
- * entries in the Remote Device. The parameter DiscoveryCacheListCount shall be
- * the number of entries reported in the DiscoveryCacheList field of the
- * Mgmt_Cache_rsp command.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] discovery_cache_entries discovery cache entries
- * @param[in] start_idx data User data
- * @param[in] discovery_cache_list_count The list shall contain the number of elements
- *                                        given by the DiscoveryCacheListCount parameter.
- * @param[in] discover_cache_list A list of descriptors.
- * @param[in] user_data User data
- *
- * @see zb_zdo_mgmt_cache_req()
- */
-typedef void (*zb_zdo_mgmt_cache_rsp)(
-               unsigned char status,
-               unsigned char discovery_cache_entries,
-               unsigned char start_idx,
-               unsigned char discovery_cache_list_count,
-               const zb_zdo_discovery_cache_h *discover_cache_list,
-               void *user_data);
-
-/**
- * @brief Sends 'cache management request' command
- * @details The Mgmt_Cache_req is provided to enable ZigBee devices on the network to
- * retrieve a list of ZigBee End Devices registered with a Primary Discovery Cache
- * device.\n\n The destination addressing on this primitive shall be unicast.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 destination network address
- * @param[in] start_idx Starring index for the requested elements of the discover cache
- *                      list
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_mgmt_cache_rsp()
- */
-int zb_zdo_mgmt_cache_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               unsigned char start_idx,
-               zb_zdo_mgmt_cache_rsp cb,
-               void *user_data);
-#endif /* ZB_SUPPORT_PRIORITY_5 */
-
 /**
  * @brief Sends 'update network management request' command
  * @details This command is provided to allow updating of network configuration parameters
diff --git a/include/zdo/zb_zdo_svc_disc.h b/include/zdo/zb_zdo_svc_disc.h
deleted file mode 100644 (file)
index dc2264c..0000000
+++ /dev/null
@@ -1,606 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef __TIZEN_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_H__
-#define __TIZEN_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_H__
-
-#ifdef ZB_SUPPORT_PRIORITY_5
-
-#include <zb_type.h>
-#include <zdo/zb_zdo_type.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file zb_zdo_dev_disc.h
- */
-
-/**
- * @ingroup CAPI_NETWORK_ZIGBEE_ZDO_MODULE
- * @defgroup CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_MODULE Service Discovery
- *
- * @brief Zigbee provides API for Service Discover.
- *
- * @section CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_HEADER Header
- *  \#include <zigbee.h>
- *
- * @section CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_OVERVIEW Overview
- * This API set consists of ZDP service discovery API
- *
- * @{
- */
-
-/**
- * @brief Called after receiving 'find system server request'
- * @details The System_Server_Discovery_rsp is generated from Remote Devices on receipt
- * of a System_Server_Discovery_req primitive if the parameter matches the Server
- * Mask field in its node descriptor. If there is no match, the
- * System_Server_Discovery_req shall be ignored and no response given. Matching
- * is performed by masking the ServerMask parameter of the
- * System_Server_Discovery_req with the Server Mask field in the node descriptor.
- * This command shall be unicast to the device which sent
- * System_Server_Discovery_req with Acknowledge request set in TxOptions. The
- * parameter ServerMask contains the bits in the parameter of the request which
- * match the server mask in the node descriptor.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    returned value from NLME-GET.confirm primitive \n
- * @param[in] server_mask Server Mask Bit Assignment
- * @param[in] user_data user data
- *
- * @see zb_zdo_system_server_discover_req()
- */
-typedef void (*zb_zdo_system_server_discover_rsp)(
-               unsigned char status,
-               unsigned short server_mask,
-               void *user_data);
-
-/**
- * @brief Sends 'find system server request' command
- * @details The System_Server_Discovery_req is generated from a Local Device wishing to
- * discover the location of a particular system server or servers as indicated by the
- * ServerMask parameter.\n\n The destination addressing on this request is 'broadcast to
- * all devices for which macRxOnWhenIdle = TRUE.'
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] server_mask Server Mask Bit Assignment
- * @param[in] cb The callback function
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_system_server_discover_rsp()
- */
-int zb_zdo_system_server_discover_req(
-               zigbee_h handle,
-               unsigned short server_mask,
-               zb_zdo_system_server_discover_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'find node cache request' command
- * @details The Find_node_cache_rsp is provided to notify a Local Device of the successful
- * iscovery of the Primary Discovery Cache device for the given NWKAddr and
- * EEEAddr fields supplied in the request, or to signify that the device of interest is
- * apable of responding to discovery requests.\n\n The Find_node_cache_rsp shall be
- * enerated only by Primary Discovery Cache devices holding discovery
- * nformation for the NWKAddr and IEEEAddr in the request or the device of
- * nterest itself and all other Remote Devices shall not supply a response.
- *
- * @since_tizen 4.0
- *
- * @param[in] cache_nwk_addr NWK Address for the Primary Discovery Cache device holding
- *                            the discovery information.
- * @param[in] addr16 Server NWK Address for the device of interest.
- * @param[in] addr64 Server IEEE Address for the device of interest.
- * @param[in] user_data user data
- *
- * @see zb_zdo_find_node_cache_req()
- */
-typedef void (*zb_zdo_find_node_cache_rsp)(
-               nwk_addr cache_nwk_addr,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               void *user_data);
-
-/**
- * @brief Send 'find Node cache store request' command
- * @details The Find_node_cache_req is provided to enable ZigBee devices on the network to
- * broadcast to all devices for which macRxOnWhenIdle = TRUE a request to find a
- * device on the network that holds discovery information for the device of interest,
- * as specified in the request parameters.\n\n The effect of a successful
- * Find_node_cache_req is to have the Primary Discovery Cache device, holding
- * discovery information for the device of interest, unicast a Find_node_cache_rsp
- * back to the Local Device. Note that, like the NWK_addr_req, only the device
- * meeting this criteria shall respond to the request generated by
- * Find_node_cache_req.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_find_node_cache_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_find_node_cache_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'find discovery cache request' command
- * @details The Find_node_cache_rsp is provided to notify a Local Device of the successful
- * discovery of the Primary Discovery Cache device for the given NWKAddr and
- * IEEEAddr fields supplied in the request, or to signify that the device of interest is
- * capable of responding to discovery requests.\n\n The Find_node_cache_rsp shall be
- * generated only by Primary Discovery Cache devices holding discovery
- * information for the NWKAddr and IEEEAddr in the request or the device of
- * interest itself and all other Remote Devices shall not supply a response.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    returned value from NLME-GET.confirm primitive \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_discovery_cache_req()
- */
-typedef void (*zb_zdo_discovery_cache_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'discovery cache request' command
- * @details The Discovery_Cache_req is provided to enable devices on the network to locate
- * a Primary Discovery Cache device on the network.\n\n The destination addressing on
- * this primitive shall be broadcast to all devices for which macRxOnWhenIdle =
- * TRUE.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_discovery_cache_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_discovery_cache_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'find discovery store request' command
- * @details The Discovery_store_rsp is provided to notify a Local Device of the request status
- * from a Primary Discovery Cache device. Included in the response is a status code
- * to notify the Local Device whether the request is successful (the Primary Cache
- * Device has space to store the discovery cache data for the Local Device), whether
- * the request is unsupported (meaning the Remote Device is not a Primary
- * Discovery Cache device), or insufficient space exists.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_discovery_store_req()
- */
-typedef void (*zb_zdo_discovery_store_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'discovery store request' command
- * @details The Discovery_store_req is provided to enable ZigBee end devices on the
- * network to request storage of their discovery cache information on a Primary
- * Discovery Cache device.\n\n Included in the request is the amount of storage space
- * the Local Device requires.\n\n
- * The destination addressing on this request is unicast.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] node_desc_size Size of node description structure
- * @param[in] power_desc_size Size of power description structure
- * @param[in] active_ep_size Number of active EP
- * @param[in] simple_desc_count Number of simple description structure
- * @param[in] simple_desc_list Pointer of simple description structure size
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_discovery_store_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               unsigned char node_desc_size,
-               unsigned char power_desc_size,
-               unsigned char active_ep_size,
-               unsigned char simple_desc_count,
-               unsigned char *simple_desc_list,
-               zb_zdo_discovery_store_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'node description store request' command
- * @details The Node_store_rsp is provided to notify a Local Device of the request status
- * from a Primary Discovery Cache device.\n\n Included in the response is a status code
- * to notify the Local Device whether the request is successful (the Primary Cache
- * Device has space to store the discovery cache data for the Local Device), whether
- * the request is not supported (meaning the Remote Device is not a Primary
- * Discovery Cache device), or insufficient space exists.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_PERMITED \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_node_desc_store_req()
- */
-typedef void (*zb_zdo_node_desc_store_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'node description store request' command
- * @details The Node_Desc_store_req is provided to enable ZigBee end devices on the
- * network to request storage of their Node Descriptor on a Primary Discovery
- * Cache device which has previously received a SUCCESS status from a
- * Discovery_store_req to the same Primary Discovery Cache device.\n\n Included in
- * this request is the Node Descriptor the Local Device wishes to cache.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] nodedsc Pointer of node description structure
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_node_desc_store_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_node_descriptor_h nodedsc,
-               zb_zdo_node_desc_store_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'power description store request' command
- * @details The Power_Desc_store_rsp is provided to notify a Local Device of the request
- * status from a Primary Discovery Cache device. Included in the response is a status
- * code to notify the Local Device whether the request is successful (the Primary
- * Cache Device has space to store the discovery cache data for the Local Device),
- * whether the request is not supported (meaning the Remote Device is not a Primary
- * Discovery Cache device), or insufficient space exists.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS  \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_PERMITED \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_power_desc_store_req()
- */
-typedef void (*zb_zdo_power_desc_store_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'power description store request' command
- * @details The Power_Desc_store_req is provided to enable ZigBee end devices on the
- * network to request storage of their Power Descriptor on a Primary Discovery
- * Cache device which has previously received a SUCCESS status from a
- * Discovery_store_req to the same Primary Discovery Cache device. Included in
- * this request is the Power Descriptor the Local Device wishes to cache.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] powerdsc Pointer of power description structure
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_power_desc_store_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_node_power_descriptor_h powerdsc,
-               zb_zdo_power_desc_store_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'active end-point store request' command
- * @details The Active_EP_store_rsp is provided to notify a Local Device of the request
- * status from a Primary Discovery Cache device.\n\n Included in the response is a status
- * code to notify the Local Device whether the request is successful (the Primary
- * Cache Device has space to store the discovery cache data for the Local Device),
- * the request is not supported (meaning the Remote Device is not a Primary
- * Discovery Cache device), or insufficient space exists.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_PERMITED \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_active_ep_store_req()
- */
-typedef void (*zb_zdo_active_ep_store_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'active end-point store request' command
- * @details The Simple_desc_store_req is provided to enable ZigBee end devices on the
- * network to request storage of their list of Simple Descriptors on a Primary
- * Discovery Cache device which has previously received a SUCCESS status from a
- * Discovery_store_req to the same Primary Discovery Cache device. Note that each
- * Simple Descriptor for every active endpoint on the Local Device must be
- * individually uploaded to the Primary Discovery Cache device via this command
- * to enable cached discovery.\n\n Included in this request is the length of the Simple
- * Descriptor the Local Device wishes to cache and the Simple Descriptor itself.\n\n The
- * endpoint is a field within the Simple Descriptor and is accessed by the Remote
- * Device to manage the discovery cache information for the Local Device.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] active_ep_count Number of End-point List
- * @param[in] ep_list End-point list
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_active_ep_store_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               unsigned char active_ep_count,
-               unsigned char *ep_list,
-               zb_zdo_active_ep_store_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'simple description store request' command
- * @details The Simple_Desc_store_rsp is provided to notify a Local Device of the request
- * status from a Primary Discovery Cache device.\n\n Included in the response is a status
- * code to notify the Local Device whether the request is successful (the Primary
- * Cache Device has space to store the discovery cache data for the Local Device),
- * the request is not supported (meaning the Remote Device is not a Primary
- * Discovery Cache device), or insufficient space exists.
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_PERMITED \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_simple_desc_store_req()
- */
-typedef void (*zb_zdo_simple_desc_store_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'simple description store request' command
- * @details The Simple_desc_store_req is provided to enable ZigBee end devices on the
- * network to request storage of their list of Simple Descriptors on a Primary
- * Discovery Cache device which has previously received a SUCCESS status from a
- * Discovery_store_req to the same Primary Discovery Cache device.\n\n Note that each
- * Simple Descriptor for every active endpoint on the Local Device must be
- * individually uploaded to the Primary Discovery Cache device via this command
- * to enable cached discovery.\n\n Included in this request is the length of the Simple
- * Descriptor the Local Device wishes to cache and the Simple Descriptor itself. The
- * endpoint is a field within the Simple Descriptor and is accessed by the Remote
- * Device to manage the discovery cache information for the Local Device.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] simpledsc Pointer of simple description structure
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_simple_desc_store_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_simple_desc_h simpledsc,
-               zb_zdo_simple_desc_store_rsp cb,
-               void *user_data);
-
-/**
- * @brief Called after 'simple description remove request' command
- * @details The Remove_node_cache_rsp is provided to notify a Local Device of the request
- * status from a Primary Discovery Cache device.\n\n Included in the response is a status
- * code to notify the Local Device whether the request is successful (the Primary
- * Cache Device has removed the discovery cache data for the indicated device of
- * interest), or the request is not supported (meaning the Remote Device is not a
- * Primary Discovery Cache device).
- *
- * @since_tizen 4.0
- *
- * @param[in] status #ZB_ZDP_SUCCESS \n
- *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
- *                    #ZB_ZDP_NOT_PERMITED \n
- *                    #ZB_ZDP_NOT_SUPPORTED \n
- * @param[in] user_data user data
- *
- * @see zb_zdo_remove_node_cache_req()
- */
-typedef void (*zb_zdo_remove_node_cache_rsp)(
-               unsigned char status,
-               void *user_data);
-
-/**
- * @brief Sends 'remove node cache request' command
- * @details The Remove_node_cache_req is provided to enable ZigBee devices on the
- * network to request removal of discovery cache information for a specified ZigBee
- * end device from a Primary Discovery Cache device.\n\n The effect of a successful
- * Remove_node_cache_req is to undo a previously successful Discovery_store_req
- * and additionally remove any cache information stored on behalf of the specified
- * ZigBee end device on the Primary Discovery Cache device.
- *
- * @since_tizen 4.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/zigbee
- *
- * @param[in] handle The handle of zigbee
- * @param[in] addr16 Network address for device of interest
- * @param[in] addr64 IEEE address for device of interest
- * @param[in] cb Response callback
- * @param[in] user_data user data
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #ZIGBEE_ERROR_NONE Successful
- * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
- * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
- *
- * @see zb_zdo_remove_node_cache_rsp()
- */
-int zb_zdo_remove_node_cache_req(
-               zigbee_h handle,
-               nwk_addr addr16,
-               ieee_addr addr64,
-               zb_zdo_remove_node_cache_rsp cb,
-               void *user_data);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZB_SUPPORT_PRIORITY_5 */
-
-#endif /* __TIZEN_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_H__ */
index df3cdcd7a516b3ea055282d3b94fb3a5392420f6..30d07ad2d04d6434453eec28606e09c491076f8f 100644 (file)
@@ -483,6 +483,1067 @@ int zb_zdo_set_compatible_startup_parameters(
  * @}
  */
 
+/**
+ * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_GLOBAL_COMMAND_MODULE
+ * @brief Zigbee global commands.
+ * @since_tizen 4.0
+ *
+ * @{
+ */
+
+/**
+ * @internal
+ * @brief Sends 'read attributes structured' command
+ * details The read attributes command is generated when a device wishes to determine the
+ * values of one or more attributes, or elements of attributes, located on another
+ * device. Each attribute identifier field shall contain the identifier of the attribute
+ * to be read.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 target network address
+ * @param[in] src_ep source end-point (ex. 1)
+ * @param[in] dst_ep destination end-point (ex. 1)
+ * @param[in] zcl_frame_ctl frame control bits (default 0x00). \n
+ *            Only OR operation is allowed in ZCL header \n
+ *            - Frame Type : \n
+ *            #ZB_ZCL_FC_GLOBALLY_USED (default) \n
+ *            #ZB_APS_FC_CLUSTER_SPECIFIC \n
+ *            - Manufacturer Specific : \n
+ *            - Direction : \n
+ *            #ZB_ZCL_CLIENT_TO_SERVER (default) \n
+ *            #ZB_ZCL_SERVER_TO_CLIENT \n
+ *            - Disable Default Response : \n
+ *            #ZB_ZCL_LEAVE_WELL_ALONE (default) \n
+ *            #ZB_ZCL_DISABLE_DEFAULT_RESPONSE \n
+ * @param[in] cluster_id ZCL cluster id
+ * @param[in] records The combination of attribute identifier and selector .
+ * @param[in] records_len The maximum number of read_structured_attribute_record
+ * @param[in] cb Response callback function
+ * @param[in] user_data User data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
+ * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zcl_global_rsp()
+ */
+int zb_zcl_global_read_attr_structured(
+               zigbee_h handle,
+               nwk_addr addr16,
+               unsigned char src_ep,
+               unsigned char dst_ep,
+               unsigned char zcl_frame_ctl,
+               unsigned short cluster_id,
+               read_structured_attr_record_h *records,
+               int records_len,
+               zb_zcl_global_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'write attributes structured' command
+ * @details When writing an element to an array or structure, the Indicator subfield indicates
+ * the number of index fields that follow it. This number is limited to the range 0 - 15
+ * (i.e. the upper 4 bits of the Indicator field are set to zero). It may be further limited
+ * by any relevant profile or application.
+ * If the Indicator subfield is 0, there are no index fields, and the whole of the
+ * attribute value is to be written.
+ * If this subfield is 1 or greater, the index fields indicate which element is to be
+ * written, nested to a depth of m. For example, if the attribute is an array of arrays
+ * (or structures), then if m = 2, index 1 = 5 and index 2 = 3, the third element of the
+ * fifth element of the attribute will be written.
+ * Note that elements are numbered from 1 upwards for both arrays and structures.
+ * The zeroth element of an array or structure has type 16 bit unsigned integer, and
+ * holds the number of elements in the array or structure. The zeroth element of an
+ * array may optionally be written (this is application dependent) and has the effect
+ * of changing the number of elements of the array. If the number is reduced, the
+ * array is truncated. If the number is increased, the content of new elements is
+ * application dependent.
+ * The zeroth element of a structure may not be written to. Writing to an element
+ * with an index greater than the number of elements in an array or structure is
+ * always an error.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 target network address
+ * @param[in] src_ep source end-point (ex. 1)
+ * @param[in] dst_ep destination end-point (ex. 1)
+ * @param[in] zcl_frame_ctl frame control bits (default 0x00). \n
+ *            Only OR operation is allowed in ZCL header \n
+ *            - Frame Type : \n
+ *            #ZB_ZCL_FC_GLOBALLY_USED (default) \n
+ *            #ZB_APS_FC_CLUSTER_SPECIFIC \n
+ *            - Manufacturer Specific : \n
+ *            - Direction : \n
+ *            #ZB_ZCL_CLIENT_TO_SERVER (default) \n
+ *            #ZB_ZCL_SERVER_TO_CLIENT \n
+ *            - Disable Default Response : \n
+ *            #ZB_ZCL_LEAVE_WELL_ALONE (default) \n
+ *            #ZB_ZCL_DISABLE_DEFAULT_RESPONSE \n
+ * @param[in] cluster_id ZCL cluster id
+ * @param[in] records The combination of attribute identifier and selector .
+ * @param[in] records_len The maximum number of write_structured_attribute_record
+ * @param[in] cb Response callback function
+ * @param[in] user_data User data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
+ * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zcl_global_rsp()
+ */
+int zb_zcl_global_write_attr_structured(
+               zigbee_h handle,
+               nwk_addr addr16,
+               unsigned char src_ep,
+               unsigned char dst_ep,
+               unsigned char zcl_frame_ctl,
+               unsigned short cluster_id,
+               write_attr_structured_record_h *records,
+               int records_len,
+               zb_zcl_global_rsp cb,
+               void *user_data);
+
+
+#ifdef ZB_SUPPORT_PRIORITY_5
+/**
+ * @internal
+ * @brief Called after 'direct join management request' command
+ * @details The Mgmt_Direct_Join_rsp is generated in response to a Mgmt_Direct_Join_req.
+ * If this management command is not supported, a status of NOT_SUPPORTED
+ * shall be returned.\n\n Otherwise, the Remote Device shall implement the following
+ * processing.\n\n
+ * Upon receipt and after support for the Mgmt_Direct_Join_req has been verified,
+ * the Remote Device shall execute the NLME-DIRECT-JOIN.request to directly
+ * associate the DeviceAddress contained in the Mgmt_Direct_Join_req to the
+ * network.\n\n The Mgmt_Direct_Join_rsp shall contain the same status that was
+ * contained in the NLME-DIRECT-JOIN.confirm primitive.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ *                    #ZB_ZDP_NOT_AUTHORIZED \n
+ *                    returned value from NLME-DIRECT-JOIN.confirm primitive \n
+ * @param[in] user_data User data
+ *
+ * @see zb_zdo_mgmt_direct_join_rsp()
+ */
+typedef void (*zb_zdo_mgmt_direct_join_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'direct join device management request' command
+ * @details The Mgmt_Direct_Join_req is generated from a Local Device requesting that a
+ * Remote Device permit a device designated by DeviceAddress to join the network
+ * directly.\n\n The Mgmt_Direct_Join_req is generated by a management application
+ * which directs the request to a Remote Device where the NLME-DIRECT-
+ * JOIN.request is to be executed using the parameter supplied by
+ * Mgmt_Direct_Join_req.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr64 The IEEE address for designated device to leave
+ * @param[in] capability See zb_zdo_mac_capability_field_e in zb_zdo.h header file
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_mgmt_direct_join_rsp()
+ */
+int zb_zdo_mgmt_direct_join_req(
+               zigbee_h handle,
+               ieee_addr addr64,
+               unsigned char capability,
+               zb_zdo_mgmt_direct_join_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'cache management request' command
+ * @details The Mgmt_Cache_rsp is generated in response to an Mgmt_Cache_req. If this
+ * management command is not supported, or the Remote Device is not a Primary
+ * Cache Device, a status of NOT_SUPPORTED shall be returned and all parameter
+ * fields after the Status field shall be omitted. Otherwise, the Remote Device shall
+ * implement the following processing.\n\n Upon receipt of the Mgmt_Cache_req and
+ * after support for the Mgmt_Cache_req has been verified, the Remote Device shall
+ * access an internally maintained list of registered ZigBee End Devices utilizing the
+ * discovery cache on this Primary Discovery Cache device.\n\n The entries reported
+ * shall be those, starting with StartIndex and including whole DiscoveryCacheList
+ * records (see Table 2.139) until the limit on MSDU size, i.e., aMaxMACFrameSize
+ * (see [B1]), is reached.\n\n Within the Mgmt_Cache_rsp command, the
+ * DiscoveryCacheListEntries field shall represent the total number of registered
+ * entries in the Remote Device. The parameter DiscoveryCacheListCount shall be
+ * the number of entries reported in the DiscoveryCacheList field of the
+ * Mgmt_Cache_rsp command.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] discovery_cache_entries discovery cache entries
+ * @param[in] start_idx data User data
+ * @param[in] discovery_cache_list_count The list shall contain the number of elements
+ *                                        given by the DiscoveryCacheListCount parameter.
+ * @param[in] discover_cache_list A list of descriptors.
+ * @param[in] user_data User data
+ *
+ * @see zb_zdo_mgmt_cache_req()
+ */
+typedef void (*zb_zdo_mgmt_cache_rsp)(
+               unsigned char status,
+               unsigned char discovery_cache_entries,
+               unsigned char start_idx,
+               unsigned char discovery_cache_list_count,
+               const zb_zdo_discovery_cache_h *discover_cache_list,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'cache management request' command
+ * @details The Mgmt_Cache_req is provided to enable ZigBee devices on the network to
+ * retrieve a list of ZigBee End Devices registered with a Primary Discovery Cache
+ * device.\n\n The destination addressing on this primitive shall be unicast.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 destination network address
+ * @param[in] start_idx Starring index for the requested elements of the discover cache
+ *                      list
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_mgmt_cache_rsp()
+ */
+int zb_zdo_mgmt_cache_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               unsigned char start_idx,
+               zb_zdo_mgmt_cache_rsp cb,
+               void *user_data);
+
+#endif /* ZB_SUPPORT_PRIORITY_5 */
+
+/**
+ * @}
+ */
+
+#ifdef ZB_SUPPORT_PRIORITY_5
+/**
+ * @internal
+ * @brief Called after 'extended simple descriptor request' command
+ * @details The Extended_Simple_Desc_rsp is generated by a remote device in response to an
+ * Extended_Simple_Desc_req directed to the remote device. This command shall
+ * be unicast to the originator of the Extended_Simple_Desc_req command.
+ * The remote device shall generate the Extended_Simple_Desc_rsp command using
+ * the format illustrated in param list. The NWKAddrOfInterest field shall match
+ * that specified in the original Extended_Simple_Desc_req command. If the
+ * endpoint field specified in the original Extended_Simple_Desc_req command
+ * does not fall within the correct range specified in Table 2.49, the remote device
+ * shall set the Status field to INVALID_EP, set the Endpoint and StartIndex fields to
+ * their respective values supplied in the request, and not include the AppClusterList
+ * field.\n\n
+ * If the NWKAddrOfInterest field matches the network address of the remote
+ * device, it shall determine whether the endpoint field specifies the identifier of an
+ * active endpoint on the device.\n\n If the endpoint field corresponds to an active
+ * endpoint, the remote device shall set the Status field to SUCCESS, set the
+ * AppClusterList field to the sequence of octets from the concatenated AppInput
+ * ClusterList and AppOutputClusterList from the Simple Descriptor (Tables 2.39),
+ * and supply that field as AppClusterList in the response. Note that dependent on
+ * the value of StartIndex in the request, the results in AppClusterList may be empty
+ * (for example, the StartIndex begins after the sequence of octets given by the
+ * concatenation of AppInputClusterList and AppOutputClusterList).\n\n If the endpoint
+ * field does not correspond to an active endpoint, the remote device shall set the
+ * Status field to NOT_ACTIVE, set the StartIndex field to the value supplied in the
+ * request, and not include the AppClusterList field.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INVALID_EP \n
+ *                    #ZB_ZDP_NOT_ACTIVE \n
+ *                    #ZB_ZDP_DEVICE_NOT_FOUND \n
+ *                    #ZB_ZDP_INV_REQUESTTYPE \n
+ *                    #ZB_ZDP_NO_DESCRIPTOR
+ * @param[in] addr16 Network address for the request
+ * @param[in] ep The endpoint on the destination
+ * @param[in] app_input_cluster_count The total count of application input cluster in
+ *                                    the simple descriptor for this endpoint
+ * @param[in] app_output_cluster_count The total count of application output cluster in
+ *                                     the simple descriptor for this endpoint
+ * @param[in] start_idx Starting index within the AppClusterList of the response
+ *                       represented by an ordered list of the Application Input
+ *                       Cluster List and Application Output Cluster List from the
+ *                       Simple Descriptor for this endpoint.
+ * @param[in] app_cluster_list A concatenated, ordered list of the AppInputClusterList
+ *                              and AppOutputClusterList, beginning with StartIndex,
+ *                              from the Simple Descriptor.
+ *                              This field shall only be included in the frame if the
+ *                              status field is equal to ZB_ZDP_SUCCESS.
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_extended_simple_desc_req()
+ */
+typedef void (*zb_zdo_extended_simple_desc_rsp)(
+               unsigned char status,
+               nwk_addr addr16,
+               unsigned char ep,
+               unsigned char app_input_cluster_count,
+               unsigned char app_output_cluster_count,
+               unsigned char start_idx,
+               const unsigned char *app_cluster_list,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'extended simple descriptor request' command
+ * @details The Extended_Active_EP_req command is generated from a local device wishing
+ * to acquire the list of endpoints on a remote device with simple descriptors. This
+ * command shall be unicast either to the remote device itself or to an alternative
+ * device that contains the discovery information of the remote device.n\n The
+ * Extended_Active_EP_req is used for devices which support more active
+ * endpoints than can be returned by a single Active_EP_req.
+ * The local device shall generate the Extended_Active_EP_req command using the
+ * format illustrated in Table 2.66. in Zigbee Specification.\n\n
+ * The NWKAddrOfInterest field shall contain the
+ * network address of the remote device for which the active endpoint list is
+ * required.\n\n The StartIndex field shall be set in the request to enable retrieval of
+ * lists of active endpoints from devices whose list exceeds the size of a single ASDU and
+ * where fragmentation is not supported.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] start_idx Starting index within the active endpoint list in the response
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_extended_simple_desc_rsp()
+ */
+int zb_zdo_extended_simple_desc_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               unsigned char start_idx,
+               zb_zdo_extended_simple_desc_rsp cb,
+               void *user_data);
+
+/**
+ * @}
+ */
+
+/**
+ * @ingroup CAPI_NETWORK_ZIGBEE_ZDO_MODULE
+ * @defgroup CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_MODULE Service Discovery
+ *
+ * @brief Zigbee provides API for Service Discover.
+ *
+ * @section CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_HEADER Header
+ *  \#include <zigbee.h>
+ *
+ * @section CAPI_NETWORK_ZIGBEE_ZDO_SERVICE_DISCOVERY_OVERVIEW Overview
+ * This API set consists of ZDP service discovery API
+ *
+ * @{
+ */
+
+/**
+ * @internal
+ * @brief Called after receiving 'find system server request'
+ * @details The System_Server_Discovery_rsp is generated from Remote Devices on receipt
+ * of a System_Server_Discovery_req primitive if the parameter matches the Server
+ * Mask field in its node descriptor. If there is no match, the
+ * System_Server_Discovery_req shall be ignored and no response given. Matching
+ * is performed by masking the ServerMask parameter of the
+ * System_Server_Discovery_req with the Server Mask field in the node descriptor.
+ * This command shall be unicast to the device which sent
+ * System_Server_Discovery_req with Acknowledge request set in TxOptions. The
+ * parameter ServerMask contains the bits in the parameter of the request which
+ * match the server mask in the node descriptor.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    returned value from NLME-GET.confirm primitive \n
+ * @param[in] server_mask Server Mask Bit Assignment
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_system_server_discover_req()
+ */
+typedef void (*zb_zdo_system_server_discover_rsp)(
+               unsigned char status,
+               unsigned short server_mask,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'find system server request' command
+ * @details The System_Server_Discovery_req is generated from a Local Device wishing to
+ * discover the location of a particular system server or servers as indicated by the
+ * ServerMask parameter.\n\n The destination addressing on this request is 'broadcast to
+ * all devices for which macRxOnWhenIdle = TRUE.'
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] server_mask Server Mask Bit Assignment
+ * @param[in] cb The callback function
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_system_server_discover_rsp()
+ */
+int zb_zdo_system_server_discover_req(
+               zigbee_h handle,
+               unsigned short server_mask,
+               zb_zdo_system_server_discover_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'find node cache request' command
+ * @details The Find_node_cache_rsp is provided to notify a Local Device of the successful
+ * iscovery of the Primary Discovery Cache device for the given NWKAddr and
+ * EEEAddr fields supplied in the request, or to signify that the device of interest is
+ * apable of responding to discovery requests.\n\n The Find_node_cache_rsp shall be
+ * enerated only by Primary Discovery Cache devices holding discovery
+ * nformation for the NWKAddr and IEEEAddr in the request or the device of
+ * nterest itself and all other Remote Devices shall not supply a response.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] cache_nwk_addr NWK Address for the Primary Discovery Cache device holding
+ *                            the discovery information.
+ * @param[in] addr16 Server NWK Address for the device of interest.
+ * @param[in] addr64 Server IEEE Address for the device of interest.
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_find_node_cache_req()
+ */
+typedef void (*zb_zdo_find_node_cache_rsp)(
+               nwk_addr cache_nwk_addr,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Send 'find Node cache store request' command
+ * @details The Find_node_cache_req is provided to enable ZigBee devices on the network to
+ * broadcast to all devices for which macRxOnWhenIdle = TRUE a request to find a
+ * device on the network that holds discovery information for the device of interest,
+ * as specified in the request parameters.\n\n The effect of a successful
+ * Find_node_cache_req is to have the Primary Discovery Cache device, holding
+ * discovery information for the device of interest, unicast a Find_node_cache_rsp
+ * back to the Local Device. Note that, like the NWK_addr_req, only the device
+ * meeting this criteria shall respond to the request generated by
+ * Find_node_cache_req.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_find_node_cache_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_find_node_cache_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'find discovery cache request' command
+ * @details The Find_node_cache_rsp is provided to notify a Local Device of the successful
+ * discovery of the Primary Discovery Cache device for the given NWKAddr and
+ * IEEEAddr fields supplied in the request, or to signify that the device of interest is
+ * capable of responding to discovery requests.\n\n The Find_node_cache_rsp shall be
+ * generated only by Primary Discovery Cache devices holding discovery
+ * information for the NWKAddr and IEEEAddr in the request or the device of
+ * interest itself and all other Remote Devices shall not supply a response.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    returned value from NLME-GET.confirm primitive \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_discovery_cache_req()
+ */
+typedef void (*zb_zdo_discovery_cache_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'discovery cache request' command
+ * @details The Discovery_Cache_req is provided to enable devices on the network to locate
+ * a Primary Discovery Cache device on the network.\n\n The destination addressing on
+ * this primitive shall be broadcast to all devices for which macRxOnWhenIdle =
+ * TRUE.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_discovery_cache_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_discovery_cache_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'find discovery store request' command
+ * @details The Discovery_store_rsp is provided to notify a Local Device of the request status
+ * from a Primary Discovery Cache device. Included in the response is a status code
+ * to notify the Local Device whether the request is successful (the Primary Cache
+ * Device has space to store the discovery cache data for the Local Device), whether
+ * the request is unsupported (meaning the Remote Device is not a Primary
+ * Discovery Cache device), or insufficient space exists.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_discovery_store_req()
+ */
+typedef void (*zb_zdo_discovery_store_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'discovery store request' command
+ * @details The Discovery_store_req is provided to enable ZigBee end devices on the
+ * network to request storage of their discovery cache information on a Primary
+ * Discovery Cache device.\n\n Included in the request is the amount of storage space
+ * the Local Device requires.\n\n
+ * The destination addressing on this request is unicast.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] node_desc_size Size of node description structure
+ * @param[in] power_desc_size Size of power description structure
+ * @param[in] active_ep_size Number of active EP
+ * @param[in] simple_desc_count Number of simple description structure
+ * @param[in] simple_desc_list Pointer of simple description structure size
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_discovery_store_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               unsigned char node_desc_size,
+               unsigned char power_desc_size,
+               unsigned char active_ep_size,
+               unsigned char simple_desc_count,
+               unsigned char *simple_desc_list,
+               zb_zdo_discovery_store_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'node description store request' command
+ * @details The Node_store_rsp is provided to notify a Local Device of the request status
+ * from a Primary Discovery Cache device.\n\n Included in the response is a status code
+ * to notify the Local Device whether the request is successful (the Primary Cache
+ * Device has space to store the discovery cache data for the Local Device), whether
+ * the request is not supported (meaning the Remote Device is not a Primary
+ * Discovery Cache device), or insufficient space exists.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_PERMITED \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_node_desc_store_req()
+ */
+typedef void (*zb_zdo_node_desc_store_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'node description store request' command
+ * @details The Node_Desc_store_req is provided to enable ZigBee end devices on the
+ * network to request storage of their Node Descriptor on a Primary Discovery
+ * Cache device which has previously received a SUCCESS status from a
+ * Discovery_store_req to the same Primary Discovery Cache device.\n\n Included in
+ * this request is the Node Descriptor the Local Device wishes to cache.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] nodedsc Pointer of node description structure
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_node_desc_store_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_node_descriptor_h nodedsc,
+               zb_zdo_node_desc_store_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'power description store request' command
+ * @details The Power_Desc_store_rsp is provided to notify a Local Device of the request
+ * status from a Primary Discovery Cache device. Included in the response is a status
+ * code to notify the Local Device whether the request is successful (the Primary
+ * Cache Device has space to store the discovery cache data for the Local Device),
+ * whether the request is not supported (meaning the Remote Device is not a Primary
+ * Discovery Cache device), or insufficient space exists.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS  \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_PERMITED \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_power_desc_store_req()
+ */
+typedef void (*zb_zdo_power_desc_store_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'power description store request' command
+ * @details The Power_Desc_store_req is provided to enable ZigBee end devices on the
+ * network to request storage of their Power Descriptor on a Primary Discovery
+ * Cache device which has previously received a SUCCESS status from a
+ * Discovery_store_req to the same Primary Discovery Cache device. Included in
+ * this request is the Power Descriptor the Local Device wishes to cache.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] powerdsc Pointer of power description structure
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_power_desc_store_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_node_power_descriptor_h powerdsc,
+               zb_zdo_power_desc_store_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'active end-point store request' command
+ * @details The Active_EP_store_rsp is provided to notify a Local Device of the request
+ * status from a Primary Discovery Cache device.\n\n Included in the response is a status
+ * code to notify the Local Device whether the request is successful (the Primary
+ * Cache Device has space to store the discovery cache data for the Local Device),
+ * the request is not supported (meaning the Remote Device is not a Primary
+ * Discovery Cache device), or insufficient space exists.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_PERMITED \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_active_ep_store_req()
+ */
+typedef void (*zb_zdo_active_ep_store_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'active end-point store request' command
+ * @details The Simple_desc_store_req is provided to enable ZigBee end devices on the
+ * network to request storage of their list of Simple Descriptors on a Primary
+ * Discovery Cache device which has previously received a SUCCESS status from a
+ * Discovery_store_req to the same Primary Discovery Cache device. Note that each
+ * Simple Descriptor for every active endpoint on the Local Device must be
+ * individually uploaded to the Primary Discovery Cache device via this command
+ * to enable cached discovery.\n\n Included in this request is the length of the Simple
+ * Descriptor the Local Device wishes to cache and the Simple Descriptor itself.\n\n The
+ * endpoint is a field within the Simple Descriptor and is accessed by the Remote
+ * Device to manage the discovery cache information for the Local Device.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] active_ep_count Number of End-point List
+ * @param[in] ep_list End-point list
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_active_ep_store_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               unsigned char active_ep_count,
+               unsigned char *ep_list,
+               zb_zdo_active_ep_store_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'simple description store request' command
+ * @details The Simple_Desc_store_rsp is provided to notify a Local Device of the request
+ * status from a Primary Discovery Cache device.\n\n Included in the response is a status
+ * code to notify the Local Device whether the request is successful (the Primary
+ * Cache Device has space to store the discovery cache data for the Local Device),
+ * the request is not supported (meaning the Remote Device is not a Primary
+ * Discovery Cache device), or insufficient space exists.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_PERMITED \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_simple_desc_store_req()
+ */
+typedef void (*zb_zdo_simple_desc_store_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'simple description store request' command
+ * @details The Simple_desc_store_req is provided to enable ZigBee end devices on the
+ * network to request storage of their list of Simple Descriptors on a Primary
+ * Discovery Cache device which has previously received a SUCCESS status from a
+ * Discovery_store_req to the same Primary Discovery Cache device.\n\n Note that each
+ * Simple Descriptor for every active endpoint on the Local Device must be
+ * individually uploaded to the Primary Discovery Cache device via this command
+ * to enable cached discovery.\n\n Included in this request is the length of the Simple
+ * Descriptor the Local Device wishes to cache and the Simple Descriptor itself. The
+ * endpoint is a field within the Simple Descriptor and is accessed by the Remote
+ * Device to manage the discovery cache information for the Local Device.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] simpledsc Pointer of simple description structure
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_simple_desc_store_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_simple_desc_h simpledsc,
+               zb_zdo_simple_desc_store_rsp cb,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Called after 'simple description remove request' command
+ * @details The Remove_node_cache_rsp is provided to notify a Local Device of the request
+ * status from a Primary Discovery Cache device.\n\n Included in the response is a status
+ * code to notify the Local Device whether the request is successful (the Primary
+ * Cache Device has removed the discovery cache data for the indicated device of
+ * interest), or the request is not supported (meaning the Remote Device is not a
+ * Primary Discovery Cache device).
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_INSUFFICIENT_SPACE \n
+ *                    #ZB_ZDP_NOT_PERMITED \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ * @param[in] user_data user data
+ *
+ * @see zb_zdo_remove_node_cache_req()
+ */
+typedef void (*zb_zdo_remove_node_cache_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'remove node cache request' command
+ * @details The Remove_node_cache_req is provided to enable ZigBee devices on the
+ * network to request removal of discovery cache information for a specified ZigBee
+ * end device from a Primary Discovery Cache device.\n\n The effect of a successful
+ * Remove_node_cache_req is to undo a previously successful Discovery_store_req
+ * and additionally remove any cache information stored on behalf of the specified
+ * ZigBee end device on the Primary Discovery Cache device.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr16 Network address for device of interest
+ * @param[in] addr64 IEEE address for device of interest
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_remove_node_cache_rsp()
+ */
+int zb_zdo_remove_node_cache_req(
+               zigbee_h handle,
+               nwk_addr addr16,
+               ieee_addr addr64,
+               zb_zdo_remove_node_cache_rsp cb,
+               void *user_data);
+
+/**
+ * @}
+ */
+
+/**
+ * @ingroup CAPI_NETWORK_ZIGBEE_ZDO_NETWORK_MANAGER_MODULE
+ * @brief Zigbee provides API for Network Management.
+ * @since_tizen 4.0
+ *
+ * @{
+ */
+
+/**
+ * @internal
+ * @brief Called after 'direct join management request' command
+ * @details The Mgmt_Direct_Join_rsp is generated in response to a Mgmt_Direct_Join_req.
+ * If this management command is not supported, a status of NOT_SUPPORTED
+ * shall be returned.\n\n Otherwise, the Remote Device shall implement the following
+ * processing.\n\n
+ * Upon receipt and after support for the Mgmt_Direct_Join_req has been verified,
+ * the Remote Device shall execute the NLME-DIRECT-JOIN.request to directly
+ * associate the DeviceAddress contained in the Mgmt_Direct_Join_req to the
+ * network.\n\n The Mgmt_Direct_Join_rsp shall contain the same status that was
+ * contained in the NLME-DIRECT-JOIN.confirm primitive.
+ *
+ * @since_tizen 4.0
+ *
+ * @param[in] status #ZB_ZDP_SUCCESS \n
+ *                    #ZB_ZDP_NOT_SUPPORTED \n
+ *                    #ZB_ZDP_NOT_AUTHORIZED \n
+ *                    returned value from NLME-DIRECT-JOIN.confirm primitive \n
+ * @param[in] user_data User data
+ *
+ * @see zb_zdo_mgmt_direct_join_rsp()
+ */
+typedef void (*zb_zdo_mgmt_direct_join_rsp)(
+               unsigned char status,
+               void *user_data);
+
+/**
+ * @internal
+ * @brief Sends 'direct join device management request' command
+ * @details The Mgmt_Direct_Join_req is generated from a Local Device requesting that a
+ * Remote Device permit a device designated by DeviceAddress to join the network
+ * directly.\n\n The Mgmt_Direct_Join_req is generated by a management application
+ * which directs the request to a Remote Device where the NLME-DIRECT-
+ * JOIN.request is to be executed using the parameter supplied by
+ * Mgmt_Direct_Join_req.
+ *
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/zigbee.admin
+ *
+ * @param[in] handle The handle of zigbee
+ * @param[in] addr64 The IEEE address for designated device to leave
+ * @param[in] capability See zb_zdo_mac_capability_field_e in zb_zdo.h header file
+ * @param[in] cb Response callback
+ * @param[in] user_data user data
+ *
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #ZIGBEE_ERROR_NONE Successful
+ * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
+ * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
+ * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @see zb_zdo_mgmt_direct_join_rsp()
+ */
+int zb_zdo_mgmt_direct_join_req(
+               zigbee_h handle,
+               ieee_addr addr64,
+               unsigned char capability,
+               zb_zdo_mgmt_direct_join_rsp cb,
+               void *user_data);
+
+/**
+ * @}
+ */
+
+#endif /* ZB_SUPPORT_PRIORITY_5 */
+
+//////////////////////////////////////////////////////////////////////////////////////////
 #ifdef __cplusplus
 }
 #endif