From: Jiwan Kim Date: Wed, 10 May 2017 10:41:31 +0000 (+0900) Subject: Move 'ZB_SUPPORT_PRIORITY_5' APIs to internal level X-Git-Tag: submit/tizen/20170512.045637~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c1dec6b2d4463d93aef554893b64be2cf538723;p=platform%2Fcore%2Fapi%2Fzigbee.git Move 'ZB_SUPPORT_PRIORITY_5' APIs to internal level Change-Id: I9ed30e3d48189fc5091f8a1d3c627b15b4b3bda5 Signed-off-by: Jiwan Kim --- diff --git a/include/zcl/zb_zcl_global_commands.h b/include/zcl/zb_zcl_global_commands.h index 07e6c53..28e7093 100644 --- a/include/zcl/zb_zcl_global_commands.h +++ b/include/zcl/zb_zcl_global_commands.h @@ -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() diff --git a/include/zdo/zb_zdo_dev_disc.h b/include/zdo/zb_zdo_dev_disc.h index 78420d4..ff3e552 100644 --- a/include/zdo/zb_zdo_dev_disc.h +++ b/include/zdo/zb_zdo_dev_disc.h @@ -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 diff --git a/include/zdo/zb_zdo_nwk_mgr.h b/include/zdo/zb_zdo_nwk_mgr.h index 19b556b..3210dfb 100644 --- a/include/zdo/zb_zdo_nwk_mgr.h +++ b/include/zdo/zb_zdo_nwk_mgr.h @@ -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 index dc2264c..0000000 --- a/include/zdo/zb_zdo_svc_disc.h +++ /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 -#include - -#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 - * - * @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__ */ diff --git a/include/zigbee_internal.h b/include/zigbee_internal.h index df3cdcd..30d07ad 100644 --- a/include/zigbee_internal.h +++ b/include/zigbee_internal.h @@ -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 + * + * @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