2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 #ifndef __TIZEN_CAPI_NETWORK_ZIGBEE_ZCL_PRIVATE_H__
17 #define __TIZEN_CAPI_NETWORK_ZIGBEE_ZCL_PRIVATE_H__
19 #include <zigbee-zcl-type.h>
23 * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_MODULE
24 * @brief Format of the Structure for Read Structured Attribute Record in Zigbee Cluster Library.
28 typedef void* zb_zcl_read_structured_attr_record_h;
32 * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_MODULE
33 * @brief Format of the write attribute structured status record in Zigbee Cluster Library.
37 typedef void* zb_zcl_write_attr_structured_status_record_h;
41 * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_MODULE
42 * @brief Format of the write attribute structured record in Zigbee Cluster Library.
46 typedef void* zb_zcl_write_attr_structured_record_h;
50 * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_MODULE
51 * @brief Format of Attribute Value Field for an array, Set or Bag in Zigbee Cluster Library.
55 typedef void* zb_zcl_attribute_array_h;
59 * @brief Sends 'read attributes structured' command
60 * details The read attributes command is generated when a device wishes to determine the
61 * values of one or more attributes, or elements of attributes, located on another
62 * device. Each attribute identifier field shall contain the identifier of the attribute
66 * @privilege %http://tizen.org/privilege/zigbee
68 * @param[in] handle The handle of zigbee
69 * @param[in] addr16 target network address
70 * @param[in] src_ep source end-point (ex. 1)
71 * @param[in] dst_ep destination end-point (ex. 1)
72 * @param[in] zcl_fc frame control bits (default 0x00). \n
73 * Only OR operation is allowed in ZCL header \n
75 * #ZB_ZCL_FC_GLOBALLY_USED (default) \n
76 * #ZB_APS_FC_CLUSTER_SPECIFIC \n
77 * - Manufacturer Specific : \n
79 * #ZB_ZCL_CLIENT_TO_SERVER (default) \n
80 * #ZB_ZCL_SERVER_TO_CLIENT \n
81 * - Disable Default Response : \n
82 * #ZB_ZCL_DEFAULT_RESPONSE_ENABLED (default) \n
83 * #ZB_ZCL_DEFAULT_RESPONSE_DISABLED \n
84 * @param[in] clusterid ZCL cluster id
85 * @param[in] records Array of #zb_zcl_read_structured_attr_record_h
86 * @param[in] count The number of items in @a records array
87 * @param[in] cb Response callback function
88 * @param[in] user_data User data
90 * @return 0 on success, otherwise a negative error value.
91 * @retval #ZIGBEE_ERROR_NONE Successful
92 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
93 * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
94 * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
95 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
96 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
97 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
99 * @see zb_zcl_global_attr_read_cb()
101 int zb_zcl_global_attr_read_structured(
106 zb_zcl_frame_ctl zcl_fc,
107 zb_cluster_id clusterid,
108 zb_zcl_read_structured_attr_record_h *records,
110 zb_zcl_global_attr_read_cb cb,
115 * @brief Sends 'write attributes structured' command.
116 * @details When writing an element to an array or structure, the Indicator subfield indicates
117 * the number of index fields that follow it. This number is limited to the range 0 - 15
118 * (i.e. the upper 4 bits of the Indicator field are set to zero). It may be further limited
119 * by any relevant profile or application.
120 * If the Indicator subfield is 0, there are no index fields, and the whole of the
121 * attribute value is to be written.
122 * If this subfield is 1 or greater, the index fields indicate which element is to be
123 * written, nested to a depth of m. For example, if the attribute is an array of arrays
124 * (or structures), then if m = 2, index 1 = 5 and index 2 = 3, the third element of the
125 * fifth element of the attribute will be written.
126 * Note that elements are numbered from 1 upwards for both arrays and structures.
127 * The zeroth element of an array or structure has type 16 bit unsigned integer, and
128 * holds the number of elements in the array or structure. The zeroth element of an
129 * array may optionally be written (this is application dependent) and has the effect
130 * of changing the number of elements of the array. If the number is reduced, the
131 * array is truncated. If the number is increased, the content of new elements is
132 * application dependent.
133 * The zeroth element of a structure may not be written to. Writing to an element
134 * with an index greater than the number of elements in an array or structure is
138 * @privilege %http://tizen.org/privilege/zigbee
140 * @param[in] handle The handle of zigbee
141 * @param[in] addr16 target network address
142 * @param[in] src_ep source end-point (ex. 1)
143 * @param[in] dst_ep destination end-point (ex. 1)
144 * @param[in] zcl_fc frame control bits (default 0x00). \n
145 * Only OR operation is allowed in ZCL header \n
147 * #ZB_ZCL_FC_GLOBALLY_USED (default) \n
148 * #ZB_APS_FC_CLUSTER_SPECIFIC \n
149 * - Manufacturer Specific : \n
151 * #ZB_ZCL_CLIENT_TO_SERVER (default) \n
152 * #ZB_ZCL_SERVER_TO_CLIENT \n
153 * - Disable Default Response : \n
154 * #ZB_ZCL_DEFAULT_RESPONSE_ENABLED (default) \n
155 * #ZB_ZCL_DEFAULT_RESPONSE_DISABLED \n
156 * @param[in] clusterid ZCL cluster id
157 * @param[in] records Array of #zb_zcl_write_attr_structured_record_h
158 * @param[in] count The number of items in @a records array
159 * @param[in] cb Response callback function
160 * @param[in] user_data User data
162 * @return 0 on success, otherwise a negative error value.
163 * @retval #ZIGBEE_ERROR_NONE Successful
164 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
165 * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
166 * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
167 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
168 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
169 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
171 * @see zb_zcl_global_attr_write_cb()
173 int zb_zcl_global_attr_write_structured(
178 zb_zcl_frame_ctl zcl_fc,
179 zb_cluster_id clusterid,
180 zb_zcl_write_attr_structured_record_h *records,
182 zb_zcl_global_attr_write_cb cb,
186 * @brief Creates reporting configuration response record.
187 * @details Allocate memory for reporting configuration response record
191 * @privilege %http://tizen.org/privilege/zigbee
193 * @remarks The @a handle should be released using zb_report_config_response_record_destroy().
195 * @param[out] handle The handle of reporting configuration response record
197 * @return 0 on success, otherwise a negative error value.
198 * @retval #ZIGBEE_ERROR_NONE Successful
199 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
200 * @retval #ZIGBEE_ERROR_OUT_OF_MEMORY Out-of-memory
201 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
202 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
203 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
205 * @see zb_zcl_global_config_report_write_cb()
206 * @see zb_report_config_response_record_create()
207 * @see zb_report_config_response_record_clone()
208 * @see zb_report_config_response_record_get_status()
209 * @see zb_report_config_response_record_set_status()
210 * @see zb_report_config_response_record_get_dir()
211 * @see zb_report_config_response_record_set_dir()
212 * @see zb_report_config_response_record_get_id()
213 * @see zb_report_config_response_record_set_id()
215 int zb_report_config_response_record_create(
216 zb_zcl_report_config_response_record_h *handle);
219 * @brief Sets status to reporting configuration response record.
220 * @details If the attribute is not implemented on the sender or receiver of the command,
221 * whichever is relevant (depending on direction), this field shall be set to
222 * #ZB_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE.
224 * If the attribute is supported, but is not capable of
225 * being reported, this field shall be set to #ZB_ZCL_STATUS_UNREPORTABLE_ATTRIBUTE.
226 * Otherwise, this field shall be set to #ZB_ZCL_STATUS_SUCCESS.
228 * If the status field is not set to #ZB_ZCL_STATUS_SUCCESS, all fields except the
229 * direction and attribute identifier fields shall be omitted.
233 * @param[in] handle The handle of write attribute status record
234 * @param[in] status status @see #zb_zcl_status_e
236 * @return 0 on success, otherwise a negative error value.
237 * @retval #ZIGBEE_ERROR_NONE Successful
238 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
239 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
241 * @see zb_zcl_global_config_report_write_cb()
242 * @see zb_report_config_response_record_create()
243 * @see zb_report_config_response_record_clone()
244 * @see zb_report_config_response_record_destroy()
245 * @see zb_report_config_response_record_get_status()
246 * @see zb_report_config_response_record_set_status()
247 * @see zb_report_config_response_record_get_dir()
248 * @see zb_report_config_response_record_set_dir()
249 * @see zb_report_config_response_record_get_id()
250 * @see zb_report_config_response_record_set_id()
252 int zb_report_config_response_record_set_status(
253 zb_zcl_report_config_response_record_h handle,
254 zb_zcl_status_e status);
257 * @ingroup CAPI_NETWORK_ZIGBEE_ZCL_REPORTING_CONFIG_RESPONSE_RECORD_MODULE
258 * @brief Sets the attribute identifier to a reporting configuration response record.
259 * @details The attribute identifier field is 16 bits in length and shall contain the
260 * identifier of the attribute that the reporting configuration details apply to.
264 * @param[in] handle The handle of write attribute status record
265 * @param[out] id Attribute identifier
267 * @return 0 on success, otherwise a negative error value.
268 * @retval #ZIGBEE_ERROR_NONE Successful
269 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
270 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
272 * @see zb_zcl_global_config_report_write_cb()
273 * @see zb_report_config_response_record_clone()
274 * @see zb_report_config_response_record_destroy()
275 * @see zb_report_config_response_record_get_status()
276 * @see zb_report_config_response_record_get_dir()
277 * @see zb_report_config_response_record_get_id()
278 * @see zb_report_config_response_record_set_status()
279 * @see zb_report_config_response_record_set_dir()
280 * @see zb_report_config_response_record_set_id()
282 int zb_report_config_response_record_set_id(
283 zb_zcl_report_config_response_record_h handle,
287 * @brief Sets direction to reporting configuration response record.
288 * @details The direction field specifies whether values of the attribute are reported
289 * (0x00), or whether reports of the attribute are received (0x01).
291 * If this value is set to 0x00, then the attribute data type field, the minimum
292 * reporting interval field, the maximum reporting interval field and the reportable
293 * change field are included in the payload, and the timeout period field is omitted. If
294 * this value is set to 0x01, then the timeout period field is included in the payload,
295 * and the attribute data type field, the minimum reporting interval field, the
296 * maximum reporting interval field and the reportable change field are omitted.
298 * All other values of this field are reserved.
302 * @param[in] handle The handle of write attribute status record
303 * @param[in] dir direction 00 : #ZB_ZCL_CLIENT_TO_SERVER \n
304 * 01 : #ZB_ZCL_SERVER_TO_CLIENT \n
306 * @return 0 on success, otherwise a negative error value.
307 * @retval #ZIGBEE_ERROR_NONE Successful
308 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
309 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
311 * @see zb_zcl_global_config_report_write_cb()
312 * @see zb_report_config_response_record_create()
313 * @see zb_report_config_response_record_clone()
314 * @see zb_report_config_response_record_destroy()
315 * @see zb_report_config_response_record_get_status()
316 * @see zb_report_config_response_record_set_status()
317 * @see zb_report_config_response_record_get_dir()
318 * @see zb_report_config_response_record_set_dir()
319 * @see zb_report_config_response_record_get_id()
320 * @see zb_report_config_response_record_set_id()
322 int zb_report_config_response_record_set_dir(
323 zb_zcl_report_config_response_record_h handle,
324 zb_zcl_fc_direction_e dir);
327 * @brief Gets direction from read reporting configuration record.
328 * @details The direction field specifies whether values of the attribute are reported
329 * (0x00), or whether reports of the attribute are received (0x01).
331 * All other values of this field are reserved.
335 * @param[in] handle The handle of write attribute status record
336 * @param[out] dir direction
338 * @return 0 on success, otherwise a negative error value.
339 * @retval #ZIGBEE_ERROR_NONE Successful
340 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
341 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
343 * @see zb_read_report_config_record_create()
344 * @see zb_read_report_config_record_destroy()
345 * @see zb_read_report_config_record_get_id()
346 * @see zb_read_report_config_record_set_id()
347 * @see zb_read_report_config_record_get_dir()
348 * @see zb_read_report_config_record_set_dir()
350 int zb_read_report_config_record_get_dir(
351 zb_zcl_read_report_config_record_h handle,
352 zb_zcl_fc_direction_e *dir);
355 * @brief Gets attribute identifier from read reporting configuration record.
356 * @details The attribute identifier field shall contain the identifier of the attribute
357 * whose reporting configuration details are to be read.
361 * @param[in] handle The handle of write attribute status record
362 * @param[out] id Attribute identifier
364 * @return 0 on success, otherwise a negative error value.
365 * @retval #ZIGBEE_ERROR_NONE Successful
366 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
367 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
369 * @see zb_read_report_config_record_create()
370 * @see zb_read_report_config_record_destroy()
371 * @see zb_read_report_config_record_get_id()
372 * @see zb_read_report_config_record_set_id()
373 * @see zb_read_report_config_record_get_dir()
374 * @see zb_read_report_config_record_set_dir()
376 int zb_read_report_config_record_get_id(
377 zb_zcl_read_report_config_record_h handle,
381 * @brief Called after zb_zcl_global_discover_commands_received() and
382 * zb_zcl_global_discover_cmds_generated().
383 * @details The ZCL provides the facility to discover the commands that a cluster
384 * instance on a remote device can receive and generate. This is useful since an
385 * individual cluster instance may not be able to receive or generate all of the commands
386 * that are theoretically supported by the cluster.
390 * @remarks The @a commandids can be used only in the callback. To use outside, make a copy.
391 * @remarks The @a commandids should not be released.
393 * @param[out] addr16 source network address
394 * @param[out] ep where is sent from (ex. 1)
395 * @param[out] clusterid ZCL cluster id
396 * @param[out] discovery_complete which indicates whether the Command Discovery is
397 * complete, i.e. whether there are any commands remaining to be discovered:\n
398 * - TRUE - all commands have been discovered\n
399 * - FALSE - there are further commands to be discovered\n
400 * @param[out] commandids Discovered commands list
401 * @param[out] commandids_len The number of discovered commands reported in this response
402 * @param[out] user_data User data
404 * @see zb_zcl_global_discover_cmd_received()
406 typedef void (*zb_zcl_global_discover_cmds_cb)(
409 zb_cluster_id clusterid,
410 unsigned char discovery_complete,
411 zb_command_id *commandids,
416 * @brief Sends 'discover command recevied' command.
417 * @details This function to know remote cluster on remote device can handle specific commands.
418 * The ZCL provides the facility to discover the commands that a cluster
419 * instance on a remote device can receive and generate. This is useful since an
420 * individual cluster instance may not be able to receive or generate all of the commands
421 * that are theoretically supported by the cluster.
425 * @privilege %http://tizen.org/privilege/zigbee
427 * @param[in] handle The handle of zigbee
428 * @param[in] addr16 target network address
429 * @param[in] src_ep source end-point (ex. 1)
430 * @param[in] dst_ep destination end-point (ex. 1)
431 * @param[in] zcl_fc frame control bits (default 0x00). \n
432 * Only OR operation is allowed in ZCL header \n
434 * #ZB_ZCL_FC_GLOBALLY_USED (default) \n
435 * #ZB_APS_FC_CLUSTER_SPECIFIC \n
436 * - Manufacturer Specific : \n
438 * #ZB_ZCL_CLIENT_TO_SERVER (default) \n
439 * #ZB_ZCL_SERVER_TO_CLIENT \n
440 * - Disable Default Response : \n
441 * #ZB_ZCL_DEFAULT_RESPONSE_ENABLED (default) \n
442 * #ZB_ZCL_DEFAULT_RESPONSE_DISABLED \n
443 * @param[in] clusterid ZCL cluster id
444 * @param[in] start_command_id Start command id .
445 * @param[in] max_command_ids Last command id
446 * @param[in] cb Response callback function
447 * @param[in] user_data User data
449 * @return 0 on success, otherwise a negative error value.
450 * @retval #ZIGBEE_ERROR_NONE Successful
451 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
452 * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
453 * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
454 * @retval #ZIGBEE_ERROR_OUT_OF_MEMORY Out-of-memory
455 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
456 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
457 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
459 * @see zb_zcl_global_discover_cmd_received_cb()
461 int zb_zcl_global_discover_cmds_received(
466 zb_zcl_frame_ctl zcl_fc,
467 zb_cluster_id clusterid,
468 zb_command_id start_command_id,
469 unsigned char max_command_ids,
470 zb_zcl_global_discover_cmds_cb cb,
474 * @brief Sends 'discover command generated' command.
475 * @details The ZCL provides the facility to discover the commands that a cluster
476 * instance on a remote device can receive and generate. This is useful since an
477 * individual cluster instance may not be able to receive or generate all of the commands
478 * that are theoretically supported by the cluster.
482 * @privilege %http://tizen.org/privilege/zigbee
484 * @param[in] handle The handle of zigbee
485 * @param[in] addr16 target network address
486 * @param[in] src_ep source end-point (ex. 1)
487 * @param[in] dst_ep destination end-point (ex. 1)
488 * @param[in] zcl_fc frame control bits (default 0x00). \n
489 * Only OR operation is allowed in ZCL header \n
491 * #ZB_ZCL_FC_GLOBALLY_USED (default) \n
492 * #ZB_APS_FC_CLUSTER_SPECIFIC \n
493 * - Manufacturer Specific : \n
495 * #ZB_ZCL_CLIENT_TO_SERVER (default) \n
496 * #ZB_ZCL_SERVER_TO_CLIENT \n
497 * - Disable Default Response : \n
498 * #ZB_ZCL_DEFAULT_RESPONSE_ENABLED (default) \n
499 * #ZB_ZCL_DEFAULT_RESPONSE_DISABLED \n
500 * @param[in] clusterid ZCL cluster id
501 * @param[in] start_command_id Start command id .
502 * @param[in] max_command_ids Last command id
503 * @param[in] cb Response callback function
504 * @param[in] user_data User data
506 * @return 0 on success, otherwise a negative error value.
507 * @retval #ZIGBEE_ERROR_NONE Successful
508 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
509 * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
510 * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
511 * @retval #ZIGBEE_ERROR_OUT_OF_MEMORY Out-of-memory
512 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
513 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
514 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
516 * @see zb_zcl_global_discover_cmds_cb()
518 int zb_zcl_global_discover_cmds_generated(
523 zb_zcl_frame_ctl zcl_fc,
524 zb_cluster_id clusterid,
525 zb_command_id start_command_id,
526 unsigned char max_command_ids,
527 zb_zcl_global_discover_cmds_cb cb,
531 * @brief Called after zb_zcl_global_attr_extended_discover().
532 * @details The ZCL provides the facility to discover the commands that a cluster
533 * instance on a remote device can receive and generate. This is useful since an
534 * individual cluster instance may not be able to receive or generate all of the commands
535 * that are theoretically supported by the cluster.
539 * @remarks The @a records can be used only in the callback. To use outside, make a copy.
540 * @remarks The @a records should not be released.
542 * @param[out] addr16 source network address
543 * @param[out] ep where is sent from (ex. 1)
544 * @param[out] clusterid ZCL cluster id
545 * @param[out] discovery_complete which indicates whether the Command Discovery is
546 * complete, i.e. whether there are any commands remaining to be discovered:\n
547 * - TRUE - all commands have been discovered\n
548 * - FALSE - there are further commands to be discovered\n
549 * @param[out] records Discovered attribute information list
550 * @param[out] count Len The length of discovered information reported in this response
551 * @param[in] user_data User data
553 * @see zb_zcl_global_attr_extended_discover()
555 typedef void (*zb_zcl_global_attr_extended_discover_cb)(
558 zb_cluster_id clusterid,
559 unsigned char discovery_complete,
560 zb_zcl_extended_attr_info_h *records,
561 unsigned short count,
565 * @brief Sends 'discover attributes extended' command.
566 * @details This function to know remote cluster on remote device has extended commands.
567 * The ZCL provides the facility to discover the commands that a cluster
568 * instance on a remote device can receive and generate. This is useful since an
569 * individual cluster instance may not be able to receive or generate all of the commands
570 * that are theoretically supported by the cluster.
574 * @privilege %http://tizen.org/privilege/zigbee
576 * @param[in] handle The handle of zigbee
577 * @param[in] addr16 target network address
578 * @param[in] src_ep source end-point (ex. 1)
579 * @param[in] dst_ep destination end-point (ex. 1)
580 * @param[in] zcl_fc frame control bits (default 0x00). \n
581 * Only OR operation is allowed in ZCL header \n
583 * #ZB_ZCL_FC_GLOBALLY_USED (default) \n
584 * #ZB_APS_FC_CLUSTER_SPECIFIC \n
585 * - Manufacturer Specific : \n
587 * #ZB_ZCL_CLIENT_TO_SERVER (default) \n
588 * #ZB_ZCL_SERVER_TO_CLIENT \n
589 * - Disable Default Response : \n
590 * #ZB_ZCL_DEFAULT_RESPONSE_ENABLED (default) \n
591 * #ZB_ZCL_DEFAULT_RESPONSE_DISABLED \n
592 * @param[in] clusterid ZCL cluster id
593 * @param[in] start_id Start id .
594 * @param[in] max_attribute_ids Last command id
595 * @param[in] cb Response callback function
596 * @param[in] user_data User data
598 * @return 0 on success, otherwise a negative error value.
599 * @retval #ZIGBEE_ERROR_NONE Successful
600 * @retval #ZIGBEE_ERROR_INVALID_PARAMETER Invalid parameter
601 * @retval #ZIGBEE_ERROR_INVALID_ENDPOINT Invalid endpoint. 0 is reserved for ZDP
602 * @retval #ZIGBEE_ERROR_INVALID_ADDRESS Invalid address
603 * @retval #ZIGBEE_ERROR_OUT_OF_MEMORY Out-of-memory
604 * @retval #ZIGBEE_ERROR_IO_ERROR Unexpected d-bus error
605 * @retval #ZIGBEE_ERROR_PERMISSION_DENIED Permission denied
606 * @retval #ZIGBEE_ERROR_NOT_SUPPORTED Not supported
608 * @see zb_zcl_global_attr_extended_discover_cb()
610 int zb_zcl_global_attr_extended_discover(
615 zb_zcl_frame_ctl zcl_fc,
616 zb_cluster_id clusterid,
617 zb_cluster_id start_id,
618 unsigned char max_attribute_ids,
619 zb_zcl_global_attr_extended_discover_cb cb,
623 #endif /* __TIZEN_CAPI_NETWORK_ZIGBEE_ZCL_PRIVATE_H__ */