00001
00017 #ifndef _ZDO_H
00018 #define _ZDO_H
00019
00020 #include <macAddr.h>
00021 #include <appFramework.h>
00022 #include <aps.h>
00023 #include <configServer.h>
00024
00025
00026 #define ZDP_REQUEST_MASK 0x7FFF
00027 #define ZDP_RESPONSE_MASK 0x8000
00028
00029 #ifdef _SECURITY_
00030 #define PRECONFIGURED_NETWORK_KEY 0
00031 #define PRECONFIGURED_TRUST_CENTER_LINK_KEY 1
00032 #define PRECONFIGURED_TRUST_CENTER_MASTER_KEY 2
00033 #define NOT_PRECONFIGURED 3
00034
00035 #ifndef ZDO_SECURITY_STATUS
00036 #define ZDO_SECURITY_STATUS NOT_PRECONFIGURED
00037 #endif //ZDO_SECURITY_STATUS
00038
00039
00040 #define ZDO_NONE_SECURITY_MODE 0
00041 #define ZDO_STANDARD_SECURITY_MODE 1
00042 #define ZDO_HIGH_SECURITY_MODE 2
00043 #endif//_SECURITY_
00044
00045 #define MAX_REQUESTED_CLUSTER_NUMBER 9
00046 #define MAX_ACTIVE_EP_NUMBER 3
00047
00048 #define ZDP_NEIGBOR_TABLE_LIST_SIZE 3
00049 #define ZDP_ADDR_LIST_SIZE 10
00050
00051
00054 typedef enum
00055 {
00056 LEAVED_BY_PARENT,
00057 LINK_FAIL,
00058 LEAVE_REQ
00059 } NetLostReason_t;
00060
00064 typedef enum
00065 {
00067 ZDO_SUCCESS_STATUS = 0x00,
00069 ZDO_INVALID_PARAMETERS_STATUS = 0x01,
00071 ZDO_NOT_PERMITTED_STATUS = 0x03,
00073 ZDO_BUSY_STATUS = 0x04,
00075 ZDO_NO_NETWORKS_STATUS = 0x05,
00077 ZDO_EXTPANID_ALREADY_EXIST_STATUS = 0x06,
00079 ZDO_FAIL_STATUS = 0x07,
00080 ZDO_AUTHENTICATION_SUCCESS_STATUS = 0x08,
00081 ZDO_AUTHENTICATION_FAIL_STATUS = 0x09,
00082 ZDO_SECURITY_SUCCESS_STATUS = 0x0A,
00083 ZDO_SECURITY_FAIL_STATUS = 0x0B,
00084 ZDO_SECURITY_NOT_SUPPORTED_STATUS = 0x0C,
00085 ZDO_CMD_COMPLETED_STATUS = 0x0D,
00087 ZDO_INVALID_REQUEST_STATUS = 0x80,
00089 ZDO_DEVICE_NOT_FOUND_STATUS = 0x81,
00091 ZDO_INVALID_EP_STATUS = 0x82,
00093 ZDO_NOT_ACTIVE_STATUS = 0x83,
00095 ZDO_NOT_SUPPORTED_STATUS = 0x84,
00097 ZDO_TIMEOUT_STATUS = 0x85,
00099 ZDO_NO_MATCH_STATUS = 0x86,
00101 ZDO_NO_ENTRY_STATUS = 0x88,
00103 ZDO_NO_DESCRIPTOR_STATUS = 0x89,
00105 ZDO_INSUFFICIENT_SPACE_STATUS = 0x8A,
00106 ZDO_RESPONSE_WAIT_TIMEOUT_STATUS = 0x8B,
00108 ZDO_TABLE_FULL_STATUS = 0x8C,
00110 ZDO_NOT_AUTHORIZED_STATUS = 0x8D,
00112 ZDO_NWK_UPDATE_STATUS = 0x8E,
00114 ZDO_NETWORK_STARTED_STATUS = 0x8F,
00116 ZDO_NETWORK_LOST_STATUS = 0x90,
00118 ZDO_NETWORK_LEFT_STATUS = 0x91,
00120 ZDO_CHILD_JOINED_STATUS = 0x92,
00122 ZDO_CHILD_REMOVED_STATUS = 0x93,
00124 ZDO_USER_DESCRIPTOR_UPDATE_STATUS = 0x94,
00126 ZDO_STATIC_ADDRESS_CONFLICT_STATUS = 0x95
00127 } ZDO_Status_t;
00128
00129
00132 enum
00133 {
00134 SINGLE_RESPONSE_REQUESTTYPE = 0x00,
00135 EXTENDED_RESPONSE_REQUESTTYPE = 0x01
00136 };
00137
00143 enum
00144 {
00145
00146 NWK_ADDR_CLID = 0x0000,
00147 IEEE_ADDR_CLID = 0x0001,
00148 NODE_DESCRIPTOR_CLID = 0x0002,
00149 POWER_DESCRIPTOR_CLID = 0x0003,
00150 SIMPLE_DESCRIPTOR_CLID = 0x0004,
00151 ACTIVE_ENDPOINTS_CLID = 0x0005,
00152 MATCH_DESCRIPTOR_CLID = 0x0006,
00153 COMPLEX_DESCRIPTOR_CLID = 0x0010,
00154 USER_DESCRIPTOR_CLID = 0x0011,
00155 DISCOVERY_CASH_CLID = 0x0012,
00156 DEVICE_ANNCE_CLID = 0x0013,
00157 USER_DESC_CONF_CLID = 0x0014,
00158 SYSTEM_SERVER_DISCOVERY_CLID = 0x0015,
00159 DISCOVERY_STORE_CLID = 0x0016,
00160 NODE_DESC_STORE_CLID = 0x0017,
00161 POWER_DESC_STORE_CLID = 0x0018,
00162 ACTIVE_EP_STORE_CLID = 0x0019,
00163 SIMPLE_DESC_STORE_CLID = 0x001A,
00164 REMOVE_NODE_CACHE_CLID = 0x001B,
00165 FIND_NODE_CACHE_CLID = 0x001C,
00166 EXTENDED_SIMPLE_DESC_CLID = 0x001D,
00167 EXTENDED_ACTIVE_EP_CLID = 0x001E,
00168
00169 END_DEVICE_BIND_CLID = 0x0020,
00170 BIND_CLID = 0x0021,
00171 UNBIND_CLID = 0x0022,
00172 BIND_REGISTER_CLID = 0x0023,
00173 REPLACE_DEVICE_CLID = 0x0024,
00174 STORE_BCKUP_BIND_ENTRY_CLID = 0x0025,
00175 REMOVE_BCKUP_BIND_ENTRY_CLID = 0x0026,
00176 BACKUP_BIND_TABLE_CLID = 0x0027,
00177 RECOVER_BIND_TABLE_CLID = 0x0028,
00178 BACKUP_SOURCE_BIND_CLID = 0x0029,
00179 RECOVER_SOURCE_BIND_CLID = 0x002A,
00180
00181 MGMT_NWK_DISC_CLID = 0x0030,
00182 MGMT_LQI_CLID = 0x0031,
00183 MGMT_RTG_CLID = 0x0032,
00184 MGMT_BIND_CLID = 0x0033,
00185 MGMT_LEAVE_CLID = 0x0034,
00186 MGMT_DIRECT_JOIN_CLID = 0x0035,
00187 MGMT_PERMIT_JOINING_CLID = 0x0036,
00188 MGMT_CACHE_CLID = 0x0037,
00189 MGMT_NWK_UPDATE_CLID = 0x0038
00190 };
00191
00192
00195 typedef enum
00196 {
00197 SHORT_ADDR_MODE,
00198 EXT_ADDR_MODE
00199 } AddrMode_t;
00200
00201 #define ZDO_MGMT_ED_SCAN_DUR_0 0x00
00202 #define ZDO_MGMT_ED_SCAN_DUR_1 0x01
00203 #define ZDO_MGMT_ED_SCAN_DUR_2 0x02
00204 #define ZDO_MGMT_ED_SCAN_DUR_3 0x03
00205 #define ZDO_MGMT_ED_SCAN_DUR_4 0x04
00206 #define ZDO_MGMT_ED_SCAN_DUR_5 0x05
00207 #define ZDO_MGMT_CHANNEL_CHANGE 0xFE
00208 #define ZDO_MGMT_NWK_PARAMS_CHANGE 0xFF
00209
00210
00213 typedef struct
00214 {
00215 ShortAddr_t shortAddr;
00216 ExtAddr_t extAddr;
00217 } NodeAddr_t;
00218
00219
00222 typedef struct
00223 {
00224 uint8_t activeChannel;
00225 ShortAddr_t shortAddr;
00226 PanId_t PANId;
00227 uint64_t extPANId;
00228 ShortAddr_t parentAddr;
00229 ZDO_Status_t status;
00230 } ZDO_StartNetworkConf_t;
00231
00232
00235 typedef struct
00236 {
00237 ZDO_StartNetworkConf_t confParams;
00238 void (*ZDO_StartNetworkConf)(ZDO_StartNetworkConf_t *conf);
00239 } ZDO_StartNetworkReq_t;
00240
00241
00244 typedef struct
00245 {
00246 ZDO_Status_t status;
00247 } ZDO_ResetNetworkConf_t;
00248
00249
00252 typedef struct
00253 {
00254 ZDO_ResetNetworkConf_t confParams;
00255 void (*ZDO_ResetNetworkConf)(ZDO_ResetNetworkConf_t *conf);
00256 } ZDO_ResetNetworkReq_t;
00257
00258
00265 BEGIN_PACK
00266 typedef struct PACK
00267 {
00268 uint32_t scannedChannels;
00269 uint16_t totalTransmissions;
00270 uint16_t transmissionsFailures;
00271 uint8_t scannedChannelsListCount;
00272 uint8_t energyValues[32];
00275 } EDScan_t;
00276 END_PACK
00277
00278
00282 typedef struct
00283 {
00284 ShortAddr_t parentShortAddr;
00285 PanId_t panId;
00286 uint8_t currentChannel;
00287 ShortAddr_t shortAddr;
00288 } NetworkInf_t;
00289
00290
00293 BEGIN_PACK
00294 typedef struct PACK
00295 {
00309 uint8_t status;
00310 union PACK
00311 {
00313 ShortAddr_t conflictAddress;
00315 EDScan_t scanResult;
00317 NetworkInf_t nwkUpdateInf;
00319 NodeAddr_t childAddr;
00320 };
00321 } ZDO_MgmtNwkUpdateNotf_t;
00322 END_PACK
00323
00324
00327 BEGIN_PACK
00328 typedef struct PACK
00329 {
00330 uint8_t neighborTableEntries;
00331 uint8_t startIndex;
00332 uint8_t neighborTableListCount;
00333 struct PACK
00334 {
00335 ExtPanId_t extPanId;
00336 ExtAddr_t extAddr;
00337 ShortAddr_t networkAddr;
00338 uint8_t deviceType : 2;
00339 uint8_t rxOnWhenIdle : 2;
00340 uint8_t relationship : 3;
00341 uint8_t reserved1 : 1;
00342 uint8_t permitJoining : 2;
00343 uint8_t reserved2 : 6;
00344 uint8_t depth;
00345 uint8_t lqi;
00346 } neighborTableList[ZDP_NEIGBOR_TABLE_LIST_SIZE];
00347 } ZDO_MgmtLqiResp_t;
00348 END_PACK
00349
00350
00353 typedef struct
00354 {
00355 uint8_t startIndex;
00356 } ZDO_MgmtLqiReq_t;
00357
00358
00361 typedef struct
00362 {
00365 ZDO_Status_t status;
00366 } ZDO_SleepConf_t;
00367
00368
00371 typedef struct
00372 {
00373 ZDO_SleepConf_t confirm;
00374 void (*ZDO_SleepConf)(ZDO_SleepConf_t *conf);
00375 } ZDO_SleepReq_t;
00376
00377
00380 typedef struct
00381 {
00382 ZDO_Status_t status;
00383 } ZDO_WakeUpConf_t;
00384
00385
00388 typedef struct
00389 {
00390 ZDO_WakeUpConf_t confirm;
00391 void (*ZDO_WakeUpConf)(ZDO_WakeUpConf_t *conf);
00392 } ZDO_WakeUpReq_t;
00393
00394
00400 BEGIN_PACK
00401 typedef struct PACK
00402 {
00404 ExtAddr_t ieeeAddrOfInterest;
00409 uint8_t reqType;
00415 uint8_t startIndex;
00416 } ZDO_NwkAddrReq_t;
00417
00418
00423 typedef struct PACK
00424 {
00426 ShortAddr_t nwkAddrOfInterest;
00431 uint8_t reqType;
00437 uint8_t startIndex;
00438 } ZDO_IeeeAddrReq_t;
00439
00440
00446 typedef struct PACK
00447 {
00448 ShortAddr_t nwkAddrOfInterest;
00449 } ZDO_NodeDescReq_t;
00450
00451
00457 typedef struct PACK
00458 {
00459 ShortAddr_t nwkAddrOfInterest;
00460 } ZDO_PowerDescReq_t;
00461
00462
00468 typedef struct PACK
00469 {
00470 ShortAddr_t nwkAddrOfInterest;
00471 } ZDO_ActiveEPReq_t;
00472
00473
00479 typedef struct PACK
00480 {
00481 ShortAddr_t nwkAddrOfInterest;
00482 } ZDO_ComplexDescReq_t;
00483
00484
00490 typedef struct PACK
00491 {
00492 ShortAddr_t nwkAddrOfInterest;
00493 } ZDO_UserDescReq_t;
00494
00495
00501 typedef struct PACK
00502 {
00503 ShortAddr_t nwkAddrOfInterest;
00504 UserDescriptor_t userDescriptor;
00505 } ZDO_UserDescSetReq_t;
00506
00507
00513 typedef struct PACK
00514 {
00515 ShortAddr_t nwkAddrOfInterest;
00516 Endpoint_t endpoint;
00517 } ZDO_SimpleDescReq_t;
00518
00519
00529 typedef struct PACK
00530 {
00531 ShortAddr_t nwkAddrLocal;
00532 ExtAddr_t ieeeAddrLocal;
00533 uint8_t macCapability;
00534 } ZDO_DeviceAnnceReq_t;
00535
00536
00542 typedef struct PACK
00543 {
00544 uint16_t serverMask;
00545 } ZDO_SystemServerDiscoveryReq_t;
00546
00547 #ifdef _BINDING_
00548 typedef struct PACK
00549 {
00550 ShortAddr_t nwkAddrOfInterest;
00551 ProfileId_t profileId;
00552 uint8_t numInClusters;
00553 ClusterId_t inClusterList[MAX_REQUESTED_CLUSTER_NUMBER];
00554 uint8_t numOutClusters;
00555 ClusterId_t outClusterList[MAX_REQUESTED_CLUSTER_NUMBER];
00556 } ZDO_MatchDescReq_t;
00557 #endif // _BINDING_
00558
00559
00566 typedef struct PACK
00567 {
00568 ExtAddr_t deviceAddr;
00569 uint8_t reserved : 6;
00570
00575 uint8_t removeChildren : 1;
00581 uint8_t rejoin : 1;
00582 } ZDO_MgmtLeaveReq_t;
00583
00584
00588 typedef struct PACK
00589 {
00595 uint8_t permitDuration;
00602 uint8_t tcSignificance;
00603 } ZDO_MgmtPermitJoiningReq_t;
00604
00605
00611 typedef struct PACK
00612 {
00616 uint32_t scanChannels;
00625 uint8_t scanDuration;
00626 union PACK
00627 {
00633 uint8_t scanCount;
00640 uint8_t nwkUpdateId;
00641 };
00645 ShortAddr_t nwkManagerAddr;
00646 } ZDO_MgmtNwkUpdateReq_t;
00647
00648
00654 typedef struct PACK
00655 {
00657 ExtAddr_t ieeeAddrRemote;
00659 ShortAddr_t nwkAddrRemote;
00667 uint8_t numAssocDev;
00673 uint8_t startIndex;
00684 ShortAddr_t nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE];
00685 } ZDO_NwkAddrResp_t;
00686
00687
00693 typedef struct PACK
00694 {
00696 ExtAddr_t ieeeAddrRemote;
00698 ShortAddr_t nwkAddrRemote;
00706 uint8_t numAssocDev;
00713 uint8_t startIndex;
00722 ShortAddr_t nwkAddrAssocDevList[ZDP_ADDR_LIST_SIZE];
00723 } ZDO_IeeeAddrResp_t;
00724
00725
00730 typedef struct PACK
00731 {
00732 ShortAddr_t nwkAddrOfInterest;
00733 NodeDescriptor_t nodeDescriptor;
00734 } ZDO_NodeDescResp_t;
00735
00736
00741 typedef struct PACK
00742 {
00743 ShortAddr_t nwkAddrOfInterest;
00744 PowerDescriptor_t powerDescriptor;
00745 } ZDO_PowerDescResp_t;
00746
00747
00752 typedef struct PACK
00753 {
00754 ShortAddr_t nwkAddrOfInterest;
00755 } ZDO_ComplexDescResp_t;
00756
00757
00762 typedef struct PACK
00763 {
00764 ShortAddr_t nwkAddrOfInterest;
00765 UserDescriptor_t userDescriptor;
00766 } ZDO_UserDescResp_t;
00767
00768
00773 typedef struct PACK
00774 {
00775 ShortAddr_t nwkAddrOfInterest;
00776 } ZDO_UserDescConfResp_t;
00777
00778
00783 typedef struct PACK
00784 {
00785 ShortAddr_t nwkAddrOfInterest;
00786 uint8_t activeEPCount;
00787 uint8_t activeEPList[MAX_ACTIVE_EP_NUMBER];
00788 } ZDO_ActiveEPResp_t;
00789
00790
00794 typedef struct PACK
00795 {
00799 Endpoint_t endpoint;
00803 ProfileId_t AppProfileId;
00807 uint16_t AppDeviceId;
00810 uint8_t AppDeviceVersion : 4;
00811 uint8_t Reserved : 4;
00816 uint8_t AppInClustersCount;
00823 ClusterId_t AppInClustersList[MAX_REQUESTED_CLUSTER_NUMBER];
00828 uint8_t AppOutClustersCount;
00835 ClusterId_t AppOutClustersList[MAX_REQUESTED_CLUSTER_NUMBER];
00836
00837 } ZdpSimpleDescriptor_t;
00838
00839
00844 typedef struct PACK
00845 {
00846 ShortAddr_t nwkAddrOfInterest;
00847 uint8_t length;
00848 ZdpSimpleDescriptor_t simpleDescriptor;
00849 } ZDO_SimpleDescResp_t;
00850
00851
00863 typedef struct PACK
00864 {
00865 uint16_t serverMask;
00866 } ZDO_SystemServerDiscoveryResp_t;
00867
00868 #ifdef _BINDING_
00869 typedef struct PACK
00870 {
00871 ShortAddr_t nwkAddrOfInterest;
00872 uint8_t matchLength;
00873 uint8_t matchList[MAX_REQUESTED_CLUSTER_NUMBER];
00874 } ZDO_MatchDescResp_t;
00875 #endif // _BINDING_
00876
00877
00880 typedef struct PACK
00881 {
00882 uint8_t seqNum;
00883
00884 uint8_t status;
00885 union PACK
00886 {
00887 ZDO_NwkAddrResp_t nwkAddrResp;
00888 ZDO_IeeeAddrResp_t ieeeAddrResp;
00889 ZDO_NodeDescResp_t nodeDescResp;
00890 ZDO_PowerDescResp_t powerDescResp;
00891 ZDO_SimpleDescResp_t simpleDescResp;
00892 ZDO_ComplexDescResp_t complexDescResp;
00893 ZDO_UserDescResp_t userDescResp;
00894 ZDO_ActiveEPResp_t activeEPResp;
00895 ZDO_UserDescConfResp_t userDescConfResp;
00896 ZDO_SystemServerDiscoveryResp_t systemServerDiscoveryResp;
00897 #ifdef _BINDING_
00898 ZDO_MatchDescResp_t matchDescResp;
00899 #endif // _BINDING_
00900 ZDO_MgmtNwkUpdateNotf_t mgmtNwkUpdateNotf;
00901 ZDO_MgmtLqiResp_t mgmtLqiResp;
00902 };
00903 } ZDO_ZdpRespFrame_t;
00904
00905
00908 typedef struct PACK
00909 {
00910 uint8_t seqNum;
00911
00912 union PACK
00913 {
00914 ZDO_NwkAddrReq_t nwkAddrReq;
00915 ZDO_IeeeAddrReq_t ieeeAddrReq;
00916 ZDO_NodeDescReq_t nodeDescReq;
00917 ZDO_PowerDescReq_t powerDescReq;
00918 ZDO_SimpleDescReq_t simpleDescReq;
00919 ZDO_DeviceAnnceReq_t deviceAnnce;
00920 ZDO_ActiveEPReq_t activeEPReq;
00921 ZDO_ComplexDescReq_t complexDescReq;
00922 ZDO_UserDescReq_t userDescReq;
00923 ZDO_UserDescSetReq_t userDescSetReq;
00924 ZDO_SystemServerDiscoveryReq_t systemServerDiscoveryReq;
00925 #ifdef _BINDING_
00926 ZDO_MatchDescReq_t matchDescReq;
00927 #endif // _BINDING_
00928 ZDO_MgmtLeaveReq_t mgmtLeaveReq;
00929 ZDO_MgmtPermitJoiningReq_t mgmtPermitJoiningReq;
00930 ZDO_MgmtNwkUpdateReq_t mgmtNwkUpdateReq;
00931 ZDO_MgmtNwkUpdateNotf_t mgmtNwkUpdateNotf;
00932 ZDO_MgmtLqiReq_t mgmtLqiReq;
00933 };
00934 } ZDO_ZdpReqFrame_t;
00935
00936
00939 typedef struct PACK
00940 {
00941
00942 uint8_t header[APS_ASDU_OFFSET];
00943 union PACK
00944 {
00945 ZDO_ZdpRespFrame_t respPayload;
00946 ZDO_ZdpReqFrame_t reqPayload;
00947 };
00948 } ZDO_ZdpFrame_t;
00949 END_PACK
00950
00951
00954 typedef struct
00955 {
00956 AddrMode_t srcAddrMode;
00957 union
00958 {
00959 ShortAddr_t srcNwkAddr;
00960 ExtAddr_t srcExtAddr;
00961 };
00962 ZDO_ZdpRespFrame_t respPayload;
00963 } ZDO_ZdpResp_t;
00964
00965
00968 typedef struct
00969 {
00970
00971 struct
00972 {
00973 void *next;
00974 } service;
00975
00976
00977 uint16_t reqCluster;
00978 AddrMode_t dstAddrMode;
00979 union
00980 {
00981 ShortAddr_t dstNwkAddr;
00982 ExtAddr_t dstExtAddr;
00983 };
00984
00985 ZDO_ZdpFrame_t req;
00986
00987 void (*ZDO_ZdpResp)(ZDO_ZdpResp_t *zdpResp);
00988 ZDO_ZdpResp_t resp;
00989 } ZDO_ZdpReq_t;
00990
00991
00994 typedef struct
00995 {
00996 ShortAddr_t nodeAddr;
00997 uint8_t lqi;
00999 int8_t rssi;
01003 } ZDO_GetLqiRssi_t;
01004
01005
01008 typedef struct
01009 {
01010 uint8_t childrenCount;
01011 NodeAddr_t *childrenTable;
01012 } ZDO_GetChildrenAddr_t;
01013
01014
01017 typedef struct
01018 {
01019 ZDO_Status_t status;
01020 } ZDO_SetTxPowerConf_t;
01021
01022
01025 typedef struct
01026 {
01027 uint8_t txPower;
01030 void (* ZDO_SetTxPowerConf)(ZDO_SetTxPowerConf_t *conf);
01031 ZDO_SetTxPowerConf_t confirm;
01032 } ZDO_SetTxPowerReq_t;
01033
01034
01037 typedef enum
01038 {
01039 ZDO_IN_NETWORK_STATUS,
01040 ZDO_OUT_NETWORK_STATUS
01041 } ZDO_NwkStatus_t;
01042
01043
01046 typedef struct
01047 {
01048 uint8_t routersAmount;
01049 uint8_t childrenAmount;
01050 } ZDO_GetNeibAmount_t;
01051
01052
01055 typedef struct
01056 {
01057 ShortAddr_t shortAddr;
01058 ExtAddr_t extAddr;
01059 DeviceType_t deviceType;
01060 uint8_t lqi;
01061 int8_t rssi;
01062 bool rxOnWhenIdle;
01063 Relationship_t relationship;
01064 ExtPanId_t extPanId;
01065 uint8_t logicalChannel;
01066 uint8_t depth;
01067 bool permitJoining;
01068 bool potentialParent;
01069 } ZDO_Neib_t;
01070
01071 #ifdef _SECURITY_
01072 #ifdef _HIGH_SECURITY_
01073 typedef struct
01074 {
01075 ZDO_Status_t status;
01076 } ZDO_EndToEndAppKeyConf_t;
01077
01078 typedef struct
01079 {
01080 ExtAddr_t deviceAddr;
01081 void (*ZDO_EndToEndAppKeyConf)(ZDO_EndToEndAppKeyConf_t *conf);
01082 ZDO_EndToEndAppKeyConf_t confirm;
01083 } ZDO_EndToEndAppKeyReq_t;
01084 #endif // _HIGH_SECURITY_
01085 #endif // _SECURITY_
01086
01087
01088
01089
01090
01091
01098 void ZDO_StartNetworkReq(ZDO_StartNetworkReq_t *startingParams);
01099
01100
01107 void ZDO_ResetNetworkReq(ZDO_ResetNetworkReq_t *resetParams);
01108
01109
01117 void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t * nwkParams);
01118
01119
01127 void ZDO_SleepReq(ZDO_SleepReq_t *req);
01128
01129
01137 void ZDO_SleepInd(void);
01138
01139
01146 void ZDO_SleepResp(void);
01147
01148
01154 void ZDO_WakeUpInd(void);
01155
01156
01164 void ZDO_WakeUpReq(ZDO_WakeUpReq_t *req);
01165
01166
01173 void ZDO_ZdpReq(ZDO_ZdpReq_t *zdpReq);
01174
01175
01184 void ZDO_GetLqiRssi(ZDO_GetLqiRssi_t *lqiRssi);
01185
01186
01193 void ZDO_GetParentAddr(NodeAddr_t *parentAddr);
01194
01195
01202 void ZDO_GetChildrenAddr(ZDO_GetChildrenAddr_t *childrenAddr);
01203
01204
01211 void ZDO_SetTxPowerReq(ZDO_SetTxPowerReq_t *req);
01212
01213
01220 ZDO_NwkStatus_t ZDO_GetNwkStatus();
01221
01222
01227 void ZDO_GetNeibAmount(ZDO_GetNeibAmount_t *amount);
01228
01229
01234 void ZDO_GetNeibTable(ZDO_Neib_t *table);
01235
01236
01243 ZDO_Status_t ZDO_StartSyncReq(void);
01244
01245
01252 ZDO_Status_t ZDO_StopSyncReq(void);
01253
01254 #endif
01255