123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- #ifndef MAC_DATA_H
- #define MAC_DATA_H
- #include "OSAL.h"
- #include "mac_high_level.h"
- #define MAC_INTERNAL_BEACON 0
- #define MAC_INTERNAL_DATA 1
- #define MAC_INTERNAL_ASSOC_REQ 2
- #define MAC_INTERNAL_ASSOC_RSP 3
- #define MAC_INTERNAL_DISASSOC_NOTIF 4
- #define MAC_INTERNAL_DATA_REQ 5
- #define MAC_INTERNAL_PAN_CONFLICT 6
- #define MAC_INTERNAL_ORPHAN_NOTIF 7
- #define MAC_INTERNAL_BEACON_REQ 8
- #define MAC_INTERNAL_COORD_REALIGN 9
- #define MAC_INTERNAL_GTS_REQ 10
- #define MAC_INTERNAL_ZERO_DATA MAC_INTERNAL_DATA
- #define MAC_TX_OFFSET_LEN 1
- typedef struct
- {
- osal_msg_q_t txQueue;
- osal_msg_q_t rxQueue;
- uint16 duration;
- uint8 indirectCount;
- uint8 directCount;
- uint8 rxCount;
- } macData_t;
- typedef void (*macDataTxFcn_t)(macTx_t *pMsg);
- typedef void (*macRxBeaconCritical_t)(macRx_t *pBuf);
- typedef void (*macTxBeaconComplete_t)(uint8 status);
- typedef void (*macTxFrameRetransmit_t)(void);
- typedef uint8 (*macDataCheckSched_t)(void);
- typedef uint8 (*macDataCheckTxTime_t)(void);
- extern const uint8 CODE macTxFrameSuccess[];
- extern const uint8 CODE macTxFrameFailed[];
- extern macData_t macData;
- extern macDataTxFcn_t macDataTxIndirect;
- extern macDataTxFcn_t macDataRequeueIndirect;
- extern macRxBeaconCritical_t macDataRxBeaconCritical;
- extern macTxBeaconComplete_t macDataTxBeaconComplete;
- extern macDataTxFcn_t macDataSetSched;
- extern macDataCheckSched_t macDataCheckSched;
- extern macDataCheckTxTime_t macDataCheckTxTime;
- extern macDataTxFcn_t macDataBeaconRequeue;
- MAC_INTERNAL_API void macDataReset(void);
- MAC_INTERNAL_API macTx_t *macAllocTxBuffer(uint8 cmd, uint8 txOptions);
- MAC_INTERNAL_API uint8 macFrameDuration(uint8 len, uint8 txOptions);
- MAC_INTERNAL_API void macDataRetransmit(void);
- MAC_INTERNAL_API void macBuildDataFrame(macEvent_t *pEvent);
- MAC_INTERNAL_API uint8 macCheckSched(void);
- MAC_INTERNAL_API void macSetSched(macTx_t *pMsg);
- MAC_INTERNAL_API void macDataTxComplete(macTx_t *pMsg);
- MAC_INTERNAL_API void macDataTxSend(void);
- MAC_INTERNAL_API void macDataTxEnqueue(macTx_t *pMsg);
- MAC_INTERNAL_API void macDataSend(macEvent_t *pEvent);
- MAC_INTERNAL_API void macApiDataReq(macEvent_t *pEvent);
- MAC_INTERNAL_API void macDataRxInd(macEvent_t *pEvent);
- #endif
|