Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-zbncp.h
1 
2 /* packet-zbncp.h
3  * Dissector routines for the ZBOSS Network Co-Processor (NCP)
4  * Copyright 2021 DSR Corporation, http://dsr-wireless.com/
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12 
13 #ifndef _PACKET_ZBNCP_H
14 #define _PACKET_ZBNCP_H
15 
16 #define ZBNCP_HIGH_LVL_PACKET_TYPE_REQUEST 0x00
17 #define ZBNCP_HIGH_LVL_PACKET_TYPE_RESPONSE 0x01
18 #define ZBNCP_HIGH_LVL_PACKET_TYPE_INDICATION 0x02
19 
20 #define ZBNCP_HIGH_LVL_STAT_CAT_GENERIC 0x00
21 #define ZBNCP_HIGH_LVL_STAT_CAT_SYSTEM 0x01
22 #define ZBNCP_HIGH_LVL_STAT_CAT_MAC 0x02
23 #define ZBNCP_HIGH_LVL_STAT_CAT_NWK 0x03
24 #define ZBNCP_HIGH_LVL_STAT_CAT_APS 0x04
25 #define ZBNCP_HIGH_LVL_STAT_CAT_ZDO 0x05
26 #define ZBNCP_HIGH_LVL_STAT_CAT_CBKE 0x06
27 
28 #define ZBNCP_CMD_GET_MODULE_VERSION 0x0001
29 #define ZBNCP_CMD_NCP_RESET 0x0002
30 #define ZBNCP_CMD_NCP_FACTORY_RESET 0x0003
31 #define ZBNCP_CMD_GET_ZIGBEE_ROLE 0x0004
32 #define ZBNCP_CMD_SET_ZIGBEE_ROLE 0x0005
33 #define ZBNCP_CMD_GET_ZIGBEE_CHANNEL_MASK 0x0006
34 #define ZBNCP_CMD_SET_ZIGBEE_CHANNEL_MASK 0x0007
35 #define ZBNCP_CMD_GET_ZIGBEE_CHANNEL 0x0008
36 #define ZBNCP_CMD_GET_PAN_ID 0x0009
37 #define ZBNCP_CMD_SET_PAN_ID 0x000A
38 #define ZBNCP_CMD_GET_LOCAL_IEEE_ADDR 0x000B
39 #define ZBNCP_CMD_SET_LOCAL_IEEE_ADDR 0x000C
40 #define ZBNCP_CMD_SET_TRACE 0x000D
41 #define ZBNCP_CMD_GET_KEEPALIVE_TIMEOUT 0x000E
42 #define ZBNCP_CMD_SET_KEEPALIVE_TIMEOUT 0x000F
43 #define ZBNCP_CMD_GET_TX_POWER 0x0010
44 #define ZBNCP_CMD_SET_TX_POWER 0x0011
45 #define ZBNCP_CMD_GET_RX_ON_WHEN_IDLE 0x0012
46 #define ZBNCP_CMD_SET_RX_ON_WHEN_IDLE 0x0013
47 #define ZBNCP_CMD_GET_JOINED 0x0014
48 #define ZBNCP_CMD_GET_AUTHENTICATED 0x0015
49 #define ZBNCP_CMD_GET_ED_TIMEOUT 0x0016
50 #define ZBNCP_CMD_SET_ED_TIMEOUT 0x0017
51 #define ZBNCP_CMD_ADD_VISIBLE_DEV 0x0018
52 #define ZBNCP_CMD_ADD_INVISIBLE_SHORT 0x0019
53 #define ZBNCP_CMD_RM_INVISIBLE_SHORT 0x001A
54 #define ZBNCP_CMD_SET_NWK_KEY 0x001B
55 #define ZBNCP_CMD_GET_SERIAL_NUMBER 0x001C
56 #define ZBNCP_CMD_GET_VENDOR_DATA 0x001D
57 #define ZBNCP_CMD_GET_NWK_KEYS 0x001E
58 #define ZBNCP_CMD_GET_APS_KEY_BY_IEEE 0x001F
59 #define ZBNCP_CMD_BIG_PKT_TO_NCP 0x0020
60 #define ZBNCP_CMD_GET_PARENT_ADDR 0x0022
61 #define ZBNCP_CMD_GET_EXT_PAN_ID 0x0023
62 #define ZBNCP_CMD_GET_COORDINATOR_VERSION 0x0024
63 #define ZBNCP_CMD_GET_SHORT_ADDRESS 0x0025
64 #define ZBNCP_CMD_GET_TRUST_CENTER_ADDRESS 0x0026
65 #define ZBNCP_CMD_DEBUG_WRITE 0x0027
66 #define ZBNCP_CMD_GET_CONFIG_PARAMETER 0x0028
67 #define ZBNCP_CMD_GET_LOCK_STATUS 0x0029
68 #define ZBNCP_CMD_GET_TRACE 0x002A
69 #define ZBNCP_CMD_NCP_RESET_IND 0x002B
70 #define ZBNCP_CMD_SET_NWK_LEAVE_ALLOWED 0x002C
71 #define ZBNCP_CMD_GET_NWK_LEAVE_ALLOWED 0x002D
72 #define ZBNCP_CMD_NVRAM_WRITE 0x002E
73 #define ZBNCP_CMD_NVRAM_READ 0x002F
74 #define ZBNCP_CMD_NVRAM_ERASE 0x0030
75 #define ZBCNP_CMD_NVRAM_CLEAR 0x0031
76 #define ZBNCP_CMD_SET_TC_POLICY 0x0032
77 #define ZBNCP_CMD_SET_EXTENDED_PAN_ID 0x0033
78 #define ZBNCP_CMD_SET_MAX_CHILDREN 0x0034
79 #define ZBNCP_CMD_GET_MAX_CHILDREN 0x0035
80 #define ZBNCP_CMD_SET_ZDO_LEAVE_ALLOWED 0x0036
81 #define ZBNCP_CMD_GET_ZDO_LEAVE_ALLOWED 0x0037
82 #define ZBNCP_CMD_SET_LEAVE_WO_REJOIN_ALLOWED 0x0038
83 #define ZBNCP_CMD_GET_LEAVE_WO_REJOIN_ALLOWED 0x0039
84 #define ZBNCP_CMD_DISABLE_GPPB 0x003A
85 #define ZBNCP_CMD_GP_SET_SHARED_KEY_TYPE 0x003B
86 #define ZBNCP_CMD_GP_SET_DEFAULT_LINK_KEY 0x003C
87 #define ZBNCP_CMD_PRODUCTION_CONFIG_READ 0x003D
88 
89 #define ZBNCP_CMD_AF_SET_SIMPLE_DESC 0x0101
90 #define ZBNCP_CMD_AF_DEL_EP 0x0102
91 #define ZBNCP_CMD_AF_SET_NODE_DESC 0x0103
92 #define ZBNCP_CMD_AF_SET_POWER_DESC 0x0104
93 #define ZBNCP_CMD_AF_SUBGHZ_SUSPEND_IND 0x0105
94 #define ZBNCP_CMD_AF_SUBGHZ_RESUME_IND 0x0106
95 
96 #define ZBNCP_CMD_ZDO_NWK_ADDR_REQ 0x0201
97 #define ZBNCP_CMD_ZDO_IEEE_ADDR_REQ 0x0202
98 #define ZBNCP_CMD_ZDO_POWER_DESC_REQ 0x0203
99 #define ZBNCP_CMD_ZDO_NODE_DESC_REQ 0x0204
100 #define ZBNCP_CMD_ZDO_SIMPLE_DESC_REQ 0x0205
101 #define ZBNCP_CMD_ZDO_ACTIVE_EP_REQ 0x0206
102 #define ZBNCP_CMD_ZDO_MATCH_DESC_REQ 0x0207
103 #define ZBNCP_CMD_ZDO_BIND_REQ 0x0208
104 #define ZBNCP_CMD_ZDO_UNBIND_REQ 0x0209
105 #define ZBNCP_CMD_ZDO_MGMT_LEAVE_REQ 0x020A
106 #define ZBNCP_CMD_ZDO_PERMIT_JOINING_REQ 0x020B
107 #define ZBNCP_CMD_ZDO_DEV_ANNCE_IND 0x020C
108 #define ZBNCP_CMD_ZDO_REJOIN 0x020D
109 #define ZBNCP_CMD_ZDO_SYSTEM_SRV_DISCOVERY_REQ 0x020E
110 #define ZBNCP_CMD_ZDO_MGMT_BIND_REQ 0x020F
111 #define ZBNCP_CMD_ZDO_MGMT_LQI_REQ 0x0210
112 #define ZBNCP_CMD_ZDO_MGMT_NWK_UPDATE_REQ 0x0211
113 #define ZBNCP_CMD_ZDO_REMOTE_CMD_IND 0x0212
114 #define ZBNCP_CMD_ZDO_GET_STATS 0x0213
115 #define ZBNCP_CMD_ZDO_DEV_AUTHORIZED_IND 0x0214
116 #define ZBNCP_CMD_ZDO_DEV_UPDATE_IND 0x0215
117 #define ZBNCP_CMD_ZDO_SET_NODE_DESC_MANUF_CODE 0x0216
118 #define ZBNCP_CMD_HL_ZDO_GET_DIAG_DATA_REQ 0x0217
119 
120 #define ZBNCP_CMD_APSDE_DATA_REQ 0x0301
121 #define ZBNCP_CMD_APSME_BIND 0x0302
122 #define ZBNCP_CMD_APSME_UNBIND 0x0303
123 #define ZBNCP_CMD_APSME_ADD_GROUP 0x0304
124 #define ZBNCP_CMD_APSME_RM_GROUP 0x0305
125 #define ZBNCP_CMD_APSDE_DATA_IND 0x0306
126 #define ZBNCP_CMD_APSME_RM_ALL_GROUPS 0x0307
127 #define ZBNCP_CMD_APS_GET_GROUP_TABLE 0x0309
128 #define ZBNCP_CMD_APSME_UNBIND_ALL 0x030A
129 #define ZBNCP_CMD_APSME_GET_BIND_ENTRY_BY_ID 0x030B
130 #define ZBNCP_CMD_APSME_RM_BIND_ENTRY_BY_ID 0x030C
131 #define ZBNCP_CMD_APSME_CLEAR_BIND_TABLE 0x030D
132 #define ZBNCP_CMD_APSME_REMOTE_BIND_IND 0x030E
133 #define ZBNCP_CMD_APSME_REMOTE_UNBIND_IND 0x030F
134 #define ZBNCP_CMD_APSME_SET_REMOTE_BIND_OFFSET 0x0310
135 #define ZBNCP_CMD_APSME_GET_REMOTE_BIND_OFFSET 0x0311
136 
137 #define ZBNCP_CMD_NWK_FORMATION 0x0401
138 #define ZBNCP_CMD_NWK_DISCOVERY 0x0402
139 #define ZBNCP_CMD_NWK_NLME_JOIN 0x0403
140 #define ZBNCP_CMD_NWK_PERMIT_JOINING 0x0404
141 #define ZBNCP_CMD_NWK_GET_IEEE_BY_SHORT 0x0405
142 #define ZBNCP_CMD_NWK_GET_SHORT_BY_IEEE 0x0406
143 #define ZBNCP_CMD_NWK_GET_NEIGHBOR_BY_IEEE 0x0407
144 #define ZBNCP_CMD_NWK_STARTED_IND 0x0408
145 #define ZBNCP_CMD_NWK_REJOINED_IND 0x0409
146 #define ZBNCP_CMD_NWK_REJOIN_FAILED_IND 0x040A
147 #define ZBNCP_CMD_NWK_LEAVE_IND 0x040B
148 #define ZBNCP_CMD_PIM_SET_FAST_POLL_INTERVAL 0x040E
149 #define ZBNCP_CMD_PIM_SET_LONG_POLL_INTERVAL 0x040F
150 #define ZBNCP_CMD_PIM_START_FAST_POLL 0x0410
151 #define ZBNCP_CMD_PIM_START_POLL 0x0412
152 #define ZBNCP_CMD_PIM_SET_ADAPTIVE_POLL 0x0413
153 #define ZBNCP_CMD_PIM_STOP_FAST_POLL 0x0414
154 #define ZBNCP_CMD_PIM_STOP_POLL 0x0415
155 #define ZBNCP_CMD_PIM_ENABLE_TURBO_POLL 0x0416
156 #define ZBNCP_CMD_PIM_DISABLE_TURBO_POLL 0x0417
157 #define ZBNCP_CMD_NWK_GET_FIRST_NBT_ENTRY 0x0418
158 #define ZBNCP_CMD_NWK_GET_NEXT_NBT_ENTRY 0x0419
159 #define ZBNCP_CMD_NWK_PAN_ID_CONFLICT_RESOLVE 0x041A
160 #define ZBNCP_CMD_NWK_PAN_ID_CONFLICT_IND 0x041B
161 #define ZBNCP_CMD_NWK_ADDRESS_UPDATE_IND 0x041C
162 #define ZBNCP_CMD_NWK_START_WITHOUT_FORMATION 0x041D
163 #define ZBNCP_CMD_NWK_NLME_ROUTER_START 0x041E
164 #define ZBNCP_CMD_PIM_SINGLE_POLL 0x041F
165 #define ZBNCP_CMD_PARENT_LOST_IND 0x0420
166 #define ZBNCP_CMD_PIM_START_TURBO_POLL_PACKETS 0x0424
167 #define ZBNCP_CMD_PIM_START_TURBO_POLL_CONTINUOUS 0x0425
168 #define ZBNCP_CMD_PIM_TURBO_POLL_CONTINUOUS_LEAVE 0x0426
169 #define ZBNCP_CMD_PIM_TURBO_POLL_PACKETS_LEAVE 0x0427
170 #define ZBNCP_CMD_PIM_PERMIT_TURBO_POLL 0x0428
171 #define ZBNCP_CMD_PIM_SET_FAST_POLL_TIMEOUT 0x0429
172 #define ZBNCP_CMD_PIM_GET_LONG_POLL_INTERVAL 0x042A
173 #define ZBNCP_CMD_PIM_GET_IN_FAST_POLL_FLAG 0x042B
174 #define ZBNCP_CMD_SET_KEEPALIVE_MODE 0x042C
175 #define ZBNCP_CMD_START_CONCENTRATOR_MODE 0x042D
176 #define ZBNCP_CMD_STOP_CONCENTRATOR_MODE 0x042E
177 #define ZBNCP_CMD_NWK_ENABLE_PAN_ID_CONFLICT_RESOLUTION 0x042F
178 #define ZBNCP_CMD_NWK_ENABLE_AUTO_PAN_ID_CONFLICT_RESOLUTION 0x0430
179 #define ZBNCP_CMD_PIM_TURBO_POLL_CANCEL_PACKET 0x0431
180 #define ZBNCP_CMD_SET_FORCE_ROUTE_RECORD 0x0432
181 #define ZBNCP_CMD_GET_FORCE_ROUTE_RECORD 0x0433
182 #define ZBNCP_CMD_NWK_NBR_ITERATOR_NEXT 0x0434
183 
184 #define ZBNCP_CMD_SECUR_SET_LOCAL_IC 0x0501
185 #define ZBNCP_CMD_SECUR_ADD_IC 0x0502
186 #define ZBNCP_CMD_SECUR_DEL_IC 0x0503
187 #define ZBNCP_CMD_SECUR_ADD_CERT 0x0504
188 #define ZBNCP_CMD_SECUR_DEL_CERT 0x0505
189 #define ZBNCP_CMD_SECUR_START_KE 0x0506
190 #define ZBNCP_CMD_SECUR_START_PARTNER_LK 0x0507
191 #define ZBNCP_CMD_SECUR_CBKE_SRV_FINISHED_IND 0x0508
192 #define ZBNCP_CMD_SECUR_PARTNER_LK_FINISHED_IND 0x0509
193 #define ZBNCP_CMD_SECUR_JOIN_USES_IC 0x050A
194 #define ZBNCP_CMD_SECUR_GET_IC_BY_IEEE 0x050B
195 #define ZBNCP_CMD_SECUR_GET_CERT 0x050C
196 #define ZBNCP_CMD_SECUR_GET_LOCAL_IC 0x050D
197 #define ZBNCP_CMD_SECUR_TCLK_IND 0x050E
198 #define ZBNCP_CMD_SECUR_TCLK_EXCHANGE_FAILED_IND 0x050F
199 #define ZBNCP_CMD_SECUR_KE_WHITELIST_ADD 0x0510
200 #define ZBNCP_CMD_SECUR_KE_WHITELIST_DEL 0x0511
201 #define ZBNCP_CMD_SECUR_KE_WHITELIST_DEL_ALL 0x0512
202 #define ZBNCP_CMD_SECUR_GET_KEY_IDX 0x0513
203 #define ZBNCP_CMD_SECUR_GET_KEY 0x0514
204 #define ZBNCP_CMD_SECUR_ERASE_KEY 0x0515
205 #define ZBNCP_CMD_SECUR_CLEAR_KEY_TABLE 0x0516
206 #define ZBNCP_CMD_SECUR_NWK_INITIATE_KEY_SWITCH_PROCEDURE 0x0517
207 #define ZBNCP_CMD_SECUR_GET_IC_LIST 0x0518
208 #define ZBNCP_CMD_SECUR_GET_IC_BY_IDX 0x0519
209 #define ZBNCP_CMD_SECUR_REMOVE_ALL_IC 0x051A
210 #define ZBNCP_CMD_SECUR_PARTNER_LK_ENABLE 0x051B
211 
212 #define ZBNCP_CMD_MANUF_MODE_START 0x0601
213 #define ZBNCP_CMD_MANUF_MODE_END 0x0602
214 #define ZBNCP_CMD_MANUF_SET_CHANNEL 0x0603
215 #define ZBNCP_CMD_MANUF_GET_CHANNEL 0x0604
216 #define ZBNCP_CMD_MANUF_SET_POWER 0x0605
217 #define ZBNCP_CMD_MANUF_GET_POWER 0x0606
218 #define ZBNCP_CMD_MANUF_START_TONE 0x0607
219 #define ZBNCP_CMD_MANUF_STOP_TONE 0x0608
220 #define ZBNCP_CMD_MANUF_START_STREAM_RANDOM 0x0609
221 #define ZBNCP_CMD_MANUF_STOP_STREAM_RANDOM 0x060A
222 #define ZBNCP_CMD_NCP_HL_MANUF_SEND_SINGLE_PACKET 0x060B
223 #define ZBNCP_CMD_MANUF_START_TEST_RX 0x060C
224 #define ZBNCP_CMD_MANUF_STOP_TEST_RX 0x060D
225 #define ZBNCP_CMD_MANUF_RX_PACKET_IND 0x060E
226 
227 #define ZBNCP_CMD_OTA_RUN_BOOTLOADER 0x0701
228 #define ZBNCP_CMD_OTA_START_UPGRADE_IND 0x0702
229 #define ZBNCP_CMD_OTA_SEND_PORTION_FW 0x0703
230 
231 #define ZBNCP_CMD_READ_NVRAM_RESERVED 0x0801
232 #define ZBNCP_CMD_WRITE_NVRAM_RESERVED 0x0802
233 #define ZBNCP_CMD_GET_CALIBRATION_INFO 0x0803
234 
235 /* MAC enums */
236 #define MAC_ENUM_SUCCESS 0x00
237 #define MAC_ENUM_BEACON_LOSS 0xe0
238 #define MAC_ENUM_CHANNEL_ACCESS_FAILURE 0xe1
239 #define MAC_ENUM_COUNTER_ERROR 0xdb
240 #define MAC_ENUM_DENIED 0xe2
241 #define MAC_ENUM_DISABLE_TRX_FAILURE 0xe3
242 #define MAC_ENUM_FRAME_TOO_LONG 0xe5
243 #define MAC_ENUM_IMPROPER_KEY_TYPE 0xdc
244 #define MAC_ENUM_IMPROPER_SECURITY_LEVEL 0xdd
245 #define MAC_ENUM_INVALID_ADDRESS 0xf5
246 #define MAC_ENUM_INVALID_GTS 0xe6
247 #define MAC_ENUM_INVALID_HANDLE 0xe7
248 #define MAC_ENUM_INVALID_INDEX 0xf9
249 #define MAC_ENUM_INVALID_PARAMETER 0xe8
250 #define MAC_ENUM_LIMIT_REACHED 0xfa
251 #define MAC_ENUM_NO_ACK 0xe9
252 #define MAC_ENUM_NO_BEACON 0xea
253 #define MAC_ENUM_NO_DATA 0xeb
254 #define MAC_ENUM_NO_SHORT_ADDRESS 0xec
255 #define MAC_ENUM_ON_TIME_TOO_LONG 0xf6
256 #define MAC_ENUM_OUT_OF_CAP 0xed
257 #define MAC_ENUM_PAN_ID_CONFLICT 0xee
258 #define MAC_ENUM_PAST_TIME 0xf7
259 #define MAC_ENUM_READ_ONLY 0xfb
260 #define MAC_ENUM_REALIGNMENT 0xef
261 #define MAC_ENUM_SCAN_IN_PROGRESS 0xfc
262 #define MAC_ENUM_SECURITY_ERROR 0xe4
263 #define MAC_ENUM_SUPERFRAME_OVERLAP 0xfd
264 #define MAC_ENUM_TRACKING_OFF 0xf8
265 #define MAC_ENUM_TRANSACTION_EXPIRED 0xf0
266 #define MAC_ENUM_TRANSACTION_OVERFLOW 0xf1
267 #define MAC_ENUM_TX_ACTIVE 0xf2
268 #define MAC_ENUM_UNAVAILABLE_KEY 0xf3
269 #define MAC_ENUM_UNSUPPORTED_LEGACY 0xde
270 #define MAC_ENUM_UNSUPPORTED_SECURITY 0xdf
271 
272 /* NVRAM database types enum */
273 #define ZB_NVRAM_RESERVED 0
274 #define ZB_NVRAM_COMMON_DATA 1
275 #define ZB_NVRAM_HA_DATA 2
276 #define ZB_NVRAM_ZCL_REPORTING_DATA 3
277 #define ZB_NVRAM_APS_SECURE_DATA_GAP 4
278 #define ZB_NVRAM_APS_BINDING_DATA_GAP 5
279 #define ZB_NVRAM_HA_POLL_CONTROL_DATA 6
280 #define ZB_IB_COUNTERS 7
281 #define ZB_NVRAM_DATASET_GRPW_DATA 8
282 #define ZB_NVRAM_APP_DATA1 9
283 #define ZB_NVRAM_APP_DATA2 10
284 #define ZB_NVRAM_ADDR_MAP 11
285 #define ZB_NVRAM_NEIGHBOUR_TBL 12
286 #define ZB_NVRAM_INSTALLCODES 13
287 #define ZB_NVRAM_APS_SECURE_DATA 14
288 #define ZB_NVRAM_APS_BINDING_DATA 15
289 #define ZB_NVRAM_DATASET_GP_PRPOXYT 16
290 #define ZB_NVRAM_DATASET_GP_SINKT 17
291 #define ZB_NVRAM_DATASET_GP_CLUSTER 18
292 #define ZB_NVRAM_APS_GROUPS_DATA 19
293 #define ZB_NVRAM_DATASET_SE_CERTDB 20
294 #define ZB_NVRAM_DATASET_GP_APP_TBL 22
295 #define ZB_NVRAM_APP_DATA3 27
296 #define ZB_NVRAM_APP_DATA4 28
297 #define ZB_NVRAM_KE_WHITELIST 29
298 #define ZB_NVRAM_ZDO_DIAGNOSTICS_DATA 31
299 #define ZB_NVRAM_DATASET_NUMBER 32
300 #define ZB_NVRAM_DATA_SET_TYPE_PAGE_HDR 30
303 /* NWK statuses */
304 #define ZBNCP_NWK_STATUS_SUCCESS 0x00
305 #define ZBNCP_NWK_STATUS_INVALID_PARAMETER 0xc1
306 #define ZBNCP_NWK_STATUS_INVALID_REQUEST 0xc2
307 #define ZBNCP_NWK_STATUS_NOT_PERMITTED 0xc3
308 #define ZBNCP_NWK_STATUS_ALREADY_PRESENT 0xc5
309 #define ZBNCP_NWK_STATUS_SYNC_FAILURE 0xc6
310 #define ZBNCP_NWK_STATUS_NEIGHBOR_TABLE_FULL 0xc7
311 #define ZBNCP_NWK_STATUS_UNKNOWN_DEVICE 0xc8
312 #define ZBNCP_NWK_STATUS_UNSUPPORTED_ATTRIBUTE 0xc9
313 #define ZBNCP_NWK_STATUS_NO_NETWORKS 0xca
314 #define ZBNCP_NWK_STATUS_MAX_FRM_COUNTER 0xcc
315 #define ZBNCP_NWK_STATUS_NO_KEY 0xcd
316 #define ZBNCP_NWK_STATUS_ROUTE_DISCOVERY_FAILED 0xd0
317 #define ZBNCP_NWK_STATUS_ROUTE_ERROR 0xd1
318 #define ZBNCP_NWK_STATUS_BT_TABLE_FULL 0xd2
319 #define ZBNCP_NWK_STATUS_FRAME_NOT_BUFFERED 0xd3
320 #define ZBNCP_NWK_STATUS_INVALID_INTERFACE 0xd5
321 
322 /* CBKE statuses */
323 #define ZBNCP_CBKE_STATUS_OK 0x00
324 #define ZBNCP_CBKE_STATUS_UNKNOWN_ISSUER 0x01
325 #define ZBNCP_CBKE_STATUS_BAD_KEY_CONFIRM 0x02
326 #define ZBNCP_CBKE_STATUS_BAD_MESSAGE 0x03
327 #define ZBNCP_CBKE_STATUS_NO_RESOURCES 0x04
328 #define ZBNCP_CBKE_STATUS_UNSUPPORTED_SUITE 0x05
329 #define ZBNCP_CBKE_STATUS_INVALID_CERTIFICATE 0x06
330 #define ZBNCP_CBKE_STATUS_NO_KE_EP 0x07
331 
332 /* ZB NCP LL HDR PACKET FLAGS BITS */
333 #define ZBNCP_GET_PACKET_FLAGS_ACK_BIT(x) ((x) & 0x1)
334 #define ZBNCP_GET_PACKET_FLAGS_RETRANS_BIT(x) (((x) >> 1) & 0x1)
335 #define ZBNCP_GET_PACKET_FLAGS_SECNUM_BIT(x) (((x) >> 2) & 0x3)
336 #define ZBNCP_GET_PACKET_FLAGS_ACKNUM_BIT(x) (((x) >> 4) & 0x3)
337 #define ZBNCP_GET_PACKET_FLAGS_FIRST_FRAG_BIT(x) (((x) >> 6) & 0x1)
338 #define ZBNCP_GET_PACKET_FLAGS_LAST_FRAG_BIT(x) (((x) >> 7) & 0x1)
339 
340 /* Parameter ID enum */
341 #define ZBNCP_PARAMETER_ID_IEEE_ADDR_TABLE_SIZE 1
342 #define ZBNCP_PARAMETER_ID_NEIGHBOR_TABLE_SIZE 2
343 #define ZBNCP_PARAMETER_ID_APS_SRC_BINDING_TABLE_SIZE 3
344 #define ZBNCP_PARAMETER_ID_APS_GROUP_TABLE_SIZE 4
345 #define ZBNCP_PARAMETER_ID_NWK_ROUTING_TABLE_SIZE 5
346 #define ZBNCP_PARAMETER_ID_NWK_ROUTE_DISCOVERY_TABLE_SIZE 6
347 #define ZBNCP_PARAMETER_ID_IOBUF_POOL_SIZE 7
348 #define ZBNCP_PARAMETER_ID_PANID_TABLE_SIZE 8
349 #define ZBNCP_PARAMETER_ID_APS_DUPS_TABLE_SIZE 9
350 #define ZBNCP_PARAMETER_ID_APS_BIND_TRANS_TABLE_SIZE 10
351 #define ZBNCP_PARAMETER_ID_N_APS_RETRANS_ENTRIES 11
352 #define ZBNCP_PARAMETER_ID_NWK_MAX_HOPS 12
353 #define ZBNCP_PARAMETER_ID_NIB_MAX_CHILDREN 13
354 #define ZBNCP_PARAMETER_ID_N_APS_KEY_PAIR_ARR_MAX_SIZE 14
355 #define ZBNCP_PARAMETER_ID_NWK_MAX_SRC_ROUTES 15
356 #define ZBNCP_PARAMETER_ID_APS_MAX_WINDOW_SIZE 16
357 #define ZBNCP_PARAMETER_ID_APS_INTERFRAME_DELAY 17
358 #define ZBNCP_PARAMETER_ID_ZDO_ED_BIND_TIMEOUT 18
359 #define ZBNCP_PARAMETER_ID_NIB_PASSIVE_ASK_TIMEOUT 19
360 #define ZBNCP_PARAMETER_ID_APS_ACK_TIMEOUTS 20
361 #define ZBNCP_PARAMETER_ID_MAC_BEACON_JITTER 21
362 #define ZBNCP_PARAMETER_ID_TX_POWER 22
363 #define ZBNCP_PARAMETER_ID_ZLL_DEFAULT_RSSI_THRESHOLD 23
364 #define ZBNCP_PARAMETER_ID_NIB_MTORR 24
365 
366 #define ZB_APSDE_DST_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT 0x00
367 #define ZB_APSDE_DST_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT 0x01
368 #define ZB_APSDE_DST_ADDR_MODE_16_ENDP_PRESENT 0x02
369 #define ZB_APSDE_DST_ADDR_MODE_64_ENDP_PRESENT 0x03
370 #define ZB_APSDE_DST_ADDR_MODE_BIND_TBL_ID 0x04
372 /* ZDO Auth types */
373 #define ZB_ZDO_AUTH_LEGACY_TYPE 0x00
374 #define ZB_ZDO_AUTH_TCLK_TYPE 0x01
375 
376 #define ZBNCP_CMD_APSDE_DATA_REQ_DST_ADDR_MODE_OFFSET ( \
377  8 /* union - short or long addr */ \
378  + 2 /* profile id */ \
379  + 2 /* cluster id */ \
380  + 1 /* dst ep */ \
381  + 1 /* src ep */ \
382  + 1) /* radius */
383 
384 #define ZBNCP_CMD_APSDE_DATA_REQ_RSP_DST_ADDR_MODE_OFFSET ( \
385 8 /* union - short or long addr */ \
386 + 1 /* dst ep */ \
387 + 1 /* src ep */ \
388 + 4) /* tx time */
389 
390 #endif