13#ifndef _PACKET_ZBEE_TLV_H
14#define _PACKET_ZBEE_TLV_H
16#define ZBEE_TLV_HEADER_LENGTH 2
17#define ZBEE_TLV_GLOBAL_START_NUMBER 64
20#define ZBEE_TLV_TYPE_MANUFACTURER_SPECIFIC 64
21#define ZBEE_TLV_TYPE_SUPPORTED_KEY_NEGOTIATION_METHODS 65
22#define ZBEE_TLV_TYPE_PANID_CONFLICT_REPORT 66
23#define ZBEE_TLV_TYPE_NEXT_PAN_ID 67
24#define ZBEE_TLV_TYPE_NEXT_CHANNEL_CHANGE 68
25#define ZBEE_TLV_TYPE_PASSPHRASE 69
26#define ZBEE_TLV_TYPE_ROUTER_INFORMATION 70
27#define ZBEE_TLV_TYPE_FRAGMENTATION_PARAMETERS 71
28#define ZBEE_TLV_TYPE_JOINER_ENCAPSULATION_GLOBAL 72
29#define ZBEE_TLV_TYPE_BEACON_APPENDIX_ENCAPSULATION_GLOBAL 73
31#define ZBEE_TLV_TYPE_CONFIGURATION_MODE_PARAMETERS 75
32#define ZBEE_TLV_TYPE_DEVICE_CAPABILITY_EXTENSION 76
35#define ZBEE_TLV_SRC_TYPE_DEFAULT 0x00
36#define ZBEE_TLV_SRC_TYPE_ZBEE_NWK 0x01
37#define ZBEE_TLV_SRC_TYPE_ZBEE_APS 0x02
38#define ZBEE_TLV_SRC_TYPE_ZBEE_ZDP 0x03
39#define ZBEE_TLV_SRC_TYPE_ZB_DIRECT 0x04
43#define ZBEE_TLV_TYPE_CLEAR_ALL_BINDIGS_REQ_EUI64 0
45#define ZBEE_TLV_TYPE_KEY_UPD_REQ_SELECTED_KEY_NEGOTIATION_METHOD 0
47#define ZBEE_TLV_TYPE_KEY_NEG_REQ_CURVE25519_PUBLIC_POINT 0
49#define ZBEE_TLV_TYPE_REQUESTED_AUTH_TOKEN_ID 0
51#define ZBEE_TLV_TYPE_TARGET_IEEE_ADDRESS 0
53#define ZBEE_TLV_TYPE_EUI64 0
55#define ZBEE_TLV_TYPE_BEACON_SURVEY_CONFIGURATION 0
56#define ZBEE_TLV_TYPE_BEACON_SURVEY_RESULTS 1
57#define ZBEE_TLV_TYPE_BEACON_SURVEY_POTENTIAL_PARENTS 2
60#define ZBEE_TLV_TYPE_GET_AUTH_LEVEL 0
63#define ZBEE_TLV_TYPE_COMM_EXT_PAN_ID 0
64#define ZBEE_TLV_TYPE_COMM_SHORT_PAN_ID 1
65#define ZBEE_TLV_TYPE_COMM_NWK_CH 2
66#define ZBEE_TLV_TYPE_COMM_NWK_KEY 3
67#define ZBEE_TLV_TYPE_COMM_LNK_KEY 4
68#define ZBEE_TLV_TYPE_COMM_DEV_TYPE 5
69#define ZBEE_TLV_TYPE_COMM_NWK_ADDR 6
70#define ZBEE_TLV_TYPE_COMM_JOIN_METHOD 7
71#define ZBEE_TLV_TYPE_COMM_IEEE_ADDR 8
72#define ZBEE_TLV_TYPE_COMM_TC_ADDR 9
73#define ZBEE_TLV_TYPE_COMM_NWK_STATUS_MAP 10
74#define ZBEE_TLV_TYPE_COMM_NWK_UPD_ID 11
75#define ZBEE_TLV_TYPE_COMM_KEY_SEQ_NUM 12
76#define ZBEE_TLV_TYPE_COMM_ADMIN_KEY 13
77#define ZBEE_TLV_TYPE_COMM_STATUS_CODE 14
80#define ZBEE_TLV_TYPE_COMM_MJ_PROVISIONAL_LINK_KEY 0
81#define ZBEE_TLV_TYPE_COMM_MJ_IEEE_ADDR 1
82#define ZBEE_TLV_TYPE_COMM_MJ_CMD 2
85#define ZBEE_TLV_TYPE_TUNNELING_NPDU_MESSAGE 0
88#define ZBEE_TLV_TYPE_KEY_METHOD 0
89#define ZBEE_TLV_TYPE_PUB_POINT_P256 1
90#define ZBEE_TLV_TYPE_PUB_POINT_C25519 2
91#define ZBEE_TLV_TYPE_NWK_KEY_SEQ_NUM 3
92#define ZBEE_TLV_TYPE_MAC_TAG 4
95#define ZBEE_TLV_SUPPORTED_KEY_NEGOTIATION_METHODS_KEY_REQUEST 1 << 0
96#define ZBEE_TLV_SUPPORTED_KEY_NEGOTIATION_METHODS_ANONYMOUS_ECDHE_USING_CURVE25519_AES_MMO128 1 << 1
97#define ZBEE_TLV_SUPPORTED_KEY_NEGOTIATION_METHODS_ANONYMOUS_ECDHE_USING_CURVE25519_SHA256 1 << 2
98#define ZBEE_TLV_SUPPORTED_KEY_NEGOTIATION_METHODS_ECDHE_AUTHENTICATION_CURVE25519_AES_MMO128 1 << 3
99#define ZBEE_TLV_SUPPORTED_KEY_NEGOTIATION_METHODS_ECDHE_AUTHENTICATION_CURVE25519_SHA256 1 << 4
101#define ZBEE_TLV_SELECTED_KEY_NEGOTIATION_METHODS_ZB_30 0x0
102#define ZBEE_TLV_SELECTED_KEY_NEGOTIATION_METHODS_ECDHE_USING_CURVE25519_AES_MMO128 0x1
103#define ZBEE_TLV_SELECTED_KEY_NEGOTIATION_METHODS_ECDHE_USING_CURVE25519_SHA256 0x2
105#define ZBEE_TLV_SELECTED_PRE_SHARED_WELL_KNOWN_KEY 0xff
106#define ZBEE_TLV_SELECTED_PRE_SHARED_SECRET_AUTH_TOKEN 0x00
107#define ZBEE_TLV_SELECTED_PRE_SHARED_SECRET_LINK_KEY_IC 0x01
108#define ZBEE_TLV_SELECTED_PRE_SHARED_SECRET_VLEN_PASSCODE 0x02
109#define ZBEE_TLV_SELECTED_PRE_SHARED_SECRET_BASIC_ACCESS_KEY 0x03
110#define ZBEE_TLV_SELECTED_PRE_SHARED_SECRET_ADMIN_ACCESS_KEY 0x04
112#define ZBEE_TLV_ROUTER_INFORMATION_HUB_CONNECTIVITY 1 << 0
113#define ZBEE_TLV_ROUTER_INFORMATION_UPTIME 1 << 1
114#define ZBEE_TLV_ROUTER_INFORMATION_PREF_PARENT 1 << 2
115#define ZBEE_TLV_ROUTER_INFORMATION_BATTERY_BACKUP 1 << 3
116#define ZBEE_TLV_ROUTER_INFORMATION_ENHANCED_BEACON_REQUEST_SUPPORT 1 << 4
117#define ZBEE_TLV_ROUTER_INFORMATION_MAC_DATA_POLL_KEEPALIVE_SUPPORT 1 << 5
118#define ZBEE_TLV_ROUTER_INFORMATION_END_DEVICE_KEEPALIVE_SUPPORT 1 << 6
119#define ZBEE_TLV_ROUTER_INFORMATION_POWER_NEGOTIATION_SUPPORT 1 << 7
121#define ZBEE_TLV_LINK_KEY_UNIQUE 1 << 0
122#define ZBEE_TLV_LINK_KEY_PROVISIONAL 1 << 1
124#define ZBEE_TLV_STATUS_MAP_JOINED_STATUS 0b00000111
125#define ZBEE_TLV_STATUS_MAP_OPEN_STATUS 0b00001000
126#define ZBEE_TLV_STATUS_MAP_NETWORK_TYPE 0b00010000
128#define ZBEE_TLV_TYPE_MSG_SE1 1
129#define ZBEE_TLV_TYPE_MSG_SE2 2
130#define ZBEE_TLV_TYPE_MSG_SE3 3
131#define ZBEE_TLV_TYPE_MSG_SE4 4
133#define ZBEE_TLV_TYPE_KEY_ECDHE_KEY_REQUEST_ZB_30 0
134#define ZBEE_TLV_TYPE_DIRECT_KEY_ECDHE_RESERVED_MIN 0
135#define ZBEE_TLV_TYPE_KEY_ECDHE_CURVE_25519_HASH_AESMMO128 1
136#define ZBEE_TLV_TYPE_KEY_ECDHE_CURVE_25519_HASH_SHA256 2
137#define ZBEE_TLV_TYPE_KEY_ECDHE_RESERVED_MAX 3
138#define ZBEE_TLV_TYPE_KEY_ECDHE_CURVE_P256_HASH_SHA256 3
140#define ZBEE_TLV_TYPE_PSK_WELL_KNOWN_KEY 0xFF
141#define ZBEE_TLV_TYPE_PSK_SECRET_AUTH_TOKEN 0
142#define ZBEE_TLV_TYPE_PSK_SECRET_INSTALL_CODE 1
143#define ZBEE_TLV_TYPE_PSK_SECRET_PAKE_PASSCODE 2
144#define ZBEE_TLV_TYPE_PSK_SECRET_BASIC_ACCESS_KEY 3
145#define ZBEE_TLV_TYPE_PSK_SECRET_ADMINISTRATIVE_ACCESS_KEY 4
147#define ZBEE_TLV_TYPE_DEV_TYPE_ZC 0
148#define ZBEE_TLV_TYPE_DEV_TYPE_ZR 1
149#define ZBEE_TLV_TYPE_DEV_TYPE_ED 2
151#define ZBEE_TLV_TYPE_JOIN_METHOD_MAC_ASS 0
152#define ZBEE_TLV_TYPE_JOIN_METHOD_NWK_REJ 1
153#define ZBEE_TLV_TYPE_JOIN_METHOD_OOB_WITH_CHECK 2
154#define ZBEE_TLV_TYPE_JOIN_METHOD_OOB_WITHOUT_CHECK 3
156#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_GENERAL 0x00
157#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_FORM 0x01
158#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_JOIN 0x02
159#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_PERMIT_JOIN 0x03
160#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_LEAVE 0x04
161#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_MANAGE_JOINERS 0x05
162#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_IDENTIFY 0x06
163#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_FINDING_BINDING 0x07
164#define ZBEE_TLV_TYPE_ZBD_STATUS_DOMAIN_MAX 0x08
166#define ZBEE_TLV_TYPE_JOINED_STATUS_NO_NWK 0
167#define ZBEE_TLV_TYPE_JOINED_STATUS_JOINING 1
168#define ZBEE_TLV_TYPE_JOINED_STATUS_JOINED 2
169#define ZBEE_TLV_TYPE_JOINED_STATUS_JOINED_NO_PARENT 3
170#define ZBEE_TLV_TYPE_JOINED_STATUS_LEAVING 4
172#define ZBEE_TLV_NWK_TYPE_DISTRIBUTED 0
173#define ZBEE_TLV_NWK_TYPE_CENTRALIZED 1
175#define ZBEE_TLV_TYPE_NWK_STATE_CLOSED 0
176#define ZBEE_TLV_TYPE_NWK_STATE_OPENED 1
178#define ZBEE_TLV_TYPE_MANAGE_JOINERS_CMD_DROP 0
179#define ZBEE_TLV_TYPE_MANAGE_JOINERS_CMD_ADD 1
180#define ZBEE_TLV_TYPE_MANAGE_JOINERS_CMD_REMOVE 2
182#define ZBEE_TLV_TYPE_LINK_KEY_FLAG_GLOBAL 0
183#define ZBEE_TLV_TYPE_LINK_KEY_FLAG_UNIQUE 1
185#define ZBEE_TLV_TYPE_LINK_KEY_FLAG_PERMANENT 0
186#define ZBEE_TLV_TYPE_LINK_KEY_FLAG_PROVISIONAL 1
188unsigned dissect_zbee_tlvs(
tvbuff_t *tvb,
packet_info *pinfo _U_,
proto_tree *tree,
unsigned offset,
void *data, uint8_t source_type,
unsigned cmd_id);
Definition packet_info.h:43
Definition tvbuff-int.h:35