📄 zmac_type.h
字号:
typedef struct {
UINT16 PANId;
UINT8 LogicalChannel;
UINT8 BeaconOrder;
UINT8 SuperframeOrder;
UINT8 PANCoordinator;
UINT8 BatteryLifeExt;
UINT8 CoordRealignment;
UINT8 SecurityEnable;
} MLME_START_REQ;
typedef struct {
UINT8 SrcAddrMode;
UINT16 SrcPanId;
UINT16 SrcAddr[4];
UINT8 DstAddrMode;
UINT16 DstPanId;
UINT16 DstAddr[4];
UINT8 msduLength;
UINT8 msduHandle;
// bit[7:4] : OOB. by RadioPulse
// bit[3] : Security
// bit[2] : Indirect Transmission
// bit[1] : GTS Transfer
// bit[0] : Ack Request
UINT8 TxOptions;
UINT8 *pmsdu;
} MCPS_DATA_REQ;
typedef struct {
UINT8 ScanType;
UINT32 ScanChannels;
UINT8 ScanDuration;
} MLME_SCAN_REQ;
typedef struct {
UINT8 LogicalChannel;
UINT8 CoordAddrMode;
UINT16 CoordPanId;
UINT16 CoordAddr[4];
UINT8 Capability;
UINT8 SecurityEnable;
} MLME_ASSO_REQ;
typedef struct {
UINT8 SetDefaultPIB;
} MLME_RESET_REQ;
typedef struct {
UINT8 PIBAttribute;
UINT8 PIBAttributeValue[16];
} MLME_SET_REQ;
typedef struct {
UINT8 PIBAttribute;
} MLME_GET_REQ;
typedef struct {
UINT16 DevAddr[4];
UINT8 DisaReason;
UINT8 SecurityEnable;
UINT8 DevAddrMode; // Defined by ZigFest
UINT16 DevPANId; // Defined by ZigFest
} MLME_DISA_REQ;
//-------------------------------------------
// GTS Character
//-------------------------------------------
// bit[5] : 1=allocate, 0=deallocate
// bit[4] : 1=C2D, 0=D2C
// bit[3:0] : Slot length
//-------------------------------------------
typedef struct {
UINT8 GTSCharacter;
UINT8 SecurityEnable;
} MLME_GTS_REQ;
typedef struct {
UINT8 CoordAddrMode;
UINT16 CoordPanId;
UINT16 CoordAddr[4];
UINT8 SecurityEnable;
} MLME_POLL_REQ;
typedef struct {
UINT8 LogicalChannel;
UINT8 TrackBeacon;
} MLME_SYNC_REQ;
typedef struct {
UINT8 msduHandle;
} MCPS_PURGE_REQ;
typedef struct {
UINT8 DeferPermit;
UINT32 RxOnTime;
UINT32 RxOnDuration;
} MLME_RX_ENA_REQ;
typedef struct {
UINT16 DevAddr[4];
UINT16 AssoShortAddr;
UINT8 status;
UINT8 SecurityEnable;
} MLME_ASSO_RSP;
typedef struct {
UINT16 OrphanAddr[4];
UINT16 ShortAddr;
UINT8 AssoMember;
UINT8 SecurityEnable;
} MLME_ORPH_RSP;
typedef struct {
UINT8 status;
} MLME_START_CON;
typedef struct {
UINT8 msduHandle;
UINT8 status;
} MCPS_PURGE_CON;
typedef struct {
UINT8 status;
} MLME_RX_ENA_CON;
typedef struct {
UINT8 msduHandle;
UINT8 status;
} MCPS_DATA_CON;
typedef struct {
UINT8 status;
UINT8 ScanType;
UINT32 UnscanChannel;
UINT8 ResultSize;
UINT8 *pEnergyList;
S_ZIGBEE_NET *pZNET;
} MLME_SCAN_CON;
typedef struct {
UINT16 AssoShortAddr;
UINT8 status;
} MLME_ASSO_CON;
typedef struct {
UINT8 status;
} MLME_RESET_CON;
typedef struct {
UINT8 status;
UINT8 PIBAttribute;
} MLME_SET_CON;
typedef struct {
UINT8 status;
UINT8 PIBAttribute;
UINT8 PIBAttributeValue[16];
UINT8 PIBAttributeLength;
} MLME_GET_CON;
typedef struct {
UINT8 status;
} MLME_DISA_CON;
typedef struct {
UINT8 GTSCharacter;
UINT8 status;
} MLME_GTS_CON;
typedef struct {
UINT8 status;
} MLME_POLL_CON;
typedef struct {
UINT8 SrcAddrMode;
UINT16 SrcPanId;
UINT16 SrcAddr[4];
UINT8 DstAddrMode;
UINT16 DstPanId;
UINT16 DstAddr[4];
UINT8 msduLength;
// UINT8 *pmsdu;
UINT8 msduLinkQuality;
UINT8 SecurityUse;
UINT8 ACLEntry;
UINT8 *pmsdu;
} MCPS_DATA_IND;
typedef struct {
UINT16 DevAddr[4];
//-- CapaInfo
// bit[7] : 1=Allocate Addr. Always 1 in ZigBee 2006
// bit[6] : 1=MAC Security enabled
// bit[5:4] : rsv
// bit[3] : 1=RxOnWhenIdle
// bit[2] : 1=Mains-powered
// bit[1] : 1=(Joining Device is ZR) && (JoinAsRouter=1)
// bit[0] : 1=Alternative Coordinator
UINT8 CapaInfo;
UINT8 SecurityUse;
UINT8 ACLEntry;
} MLME_ASSO_IND;
typedef struct {
UINT16 PANId;
UINT8 SrcAddrMode;
UINT16 SrcAddr[4];
UINT8 DstAddrMode;
UINT16 DstAddr[4];
UINT8 status;
UINT8 ID; // out of spec
} MLME_COMM_STA_IND;
typedef struct {
UINT16 DevAddr[4];
UINT8 DisaReason;
UINT8 SecurityUse;
UINT8 ACLEntry;
} MLME_DISA_IND;
typedef struct {
UINT8 BSN;
S_PANDescriptor *pPANDes; // stored in FLASH
UINT8 PendAddrSpec;
UINT8 *pAddrList;
UINT8 sduLength;
UINT8 *psdu;
} MLME_BEA_NOTI_IND;
typedef struct {
UINT16 DevAddr;
UINT8 GTSCharacter;
UINT8 SecurityUse;
UINT8 ACLEntry;
} MLME_GTS_IND;
typedef struct {
UINT16 OrphanAddr[4];
UINT8 SecurityUse;
UINT8 ACLEntry;
} MLME_ORPH_IND;
typedef struct {
UINT8 LossReason;
} MLME_SYNC_LOSS_IND;
typedef union {
//////////////////////////////////////////
MCPS_PURGE_REQ PURGE_REQ;
MCPS_DATA_REQ DATA_REQ;
MLME_START_REQ START_REQ;
MLME_SCAN_REQ SCAN_REQ;
MLME_ASSO_REQ ASSO_REQ;
MLME_RESET_REQ RESET_REQ;
MLME_SET_REQ SET_REQ;
MLME_GET_REQ GET_REQ;
MLME_DISA_REQ DISA_REQ;
MLME_GTS_REQ GTS_REQ;
MLME_POLL_REQ POLL_REQ;
MLME_SYNC_REQ SYNC_REQ;
MLME_RX_ENA_REQ RX_ENA_REQ;
//////////////////////////////////////////
MLME_ASSO_RSP ASSO_RSP;
MLME_ORPH_RSP ORPH_RSP;
//////////////////////////////////////////
MCPS_PURGE_CON PURGE_CON;
MCPS_DATA_CON DATA_CON;
MLME_START_CON START_CON;
MLME_SCAN_CON SCAN_CON;
MLME_ASSO_CON ASSO_CON;
MLME_RESET_CON RESET_CON;
MLME_SET_CON SET_CON;
MLME_GET_CON GET_CON;
MLME_DISA_CON DISA_CON;
MLME_GTS_CON GTS_CON;
MLME_POLL_CON POLL_CON;
MLME_RX_ENA_CON RX_ENA_CON;
//////////////////////////////////////////
MCPS_DATA_IND DATA_IND;
MLME_ASSO_IND ASSO_IND;
MLME_DISA_IND DISA_IND;
MLME_GTS_IND GTS_IND;
MLME_ORPH_IND ORPH_IND;
MLME_COMM_STA_IND COMM_STA_IND;
MLME_BEA_NOTI_IND BEA_NOTI_IND;
MLME_SYNC_LOSS_IND SYNC_LOSS_IND;
////////////////////////////////////////////
} MLDME_PACKET;
typedef struct {
UINT8 Hlen;
UINT8 Tlen;
UINT8 *pPay;
} S_TxMPDU;
typedef struct {
UINT8 Hlen; // Head Len
UINT8 Tlen; // Total Len
UINT8 FootL; // Footer L
UINT8 FootH; // Footer H
UINT8 *pPay;
} S_RxMPDU;
typedef struct {
UINT8 AddrMode;
UINT8 Index;
UINT16 Addr[4];
UINT8 Handle;
UINT8 TxPacket[dMAC_MAX_INDIRECT_BUFF_DEPTH];
UINT16 ExpireTimer;
UINT8 HLen; // For Security
} S_PendAddrList_V2;
typedef struct
{
UINT8 TLen; // Total Length
UINT8 HLen; // Header Length
UINT8 MLen; // MSDU Length
// Header
UINT8 FC_L;
UINT8 FC_H;
UINT8 DSN;
UINT8 RxOOB;
UINT8 DstMode; // 0=No, 2=Short, 3=Extended
UINT16 DstPanID;
UINT16 DstShortAddr;
UINT8 DstExtAddr[8];
UINT8 SrcMode;
UINT16 SrcPanID;
UINT16 SrcShortAddr;
UINT8 SrcExtAddr[8];
// Payload
UINT8 MSDU[127];
// Footer
UINT8 FCS[2];
UINT8 RSSI_LQI;
INT8 RSSI_dBm;
} MAC_PKT;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -