Frame buffers management interface.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | NwkFrame_t |
struct | NwkFrameHeader_t |
struct | NwkFrameMulticastHeader_t |
Macros | |
#define | NWK_FRAME_MAX_PAYLOAD_SIZE 127 |
Typedefs | |
typedef struct NwkFrame_t | NwkFrame_t |
typedef struct NwkFrameHeader_t | NwkFrameHeader_t |
typedef struct NwkFrameMulticastHeader_t | NwkFrameMulticastHeader_t |
Functions | |
NwkFrame_t * | nwkFrameAlloc (void) |
Allocates an empty frame from the buffer pool. More... | |
void | nwkFrameCommandInit (NwkFrame_t *frame) |
Sets default parameters for the the command frame. More... | |
void | nwkFrameFree (NwkFrame_t *frame) |
Frees a frame and returns it to the buffer pool. More... | |
void | nwkFrameInit (void) |
Initializes the Frame module. More... | |
NwkFrame_t * | nwkFrameNext (NwkFrame_t *frame) |
Cycles through the allocated frames starting from the specified frame. More... | |
static uint8_t | nwkFramePayloadSize (NwkFrame_t *frame) |
#define NWK_FRAME_MAX_PAYLOAD_SIZE 127 |
typedef struct NwkFrame_t NwkFrame_t |
typedef struct NwkFrameHeader_t NwkFrameHeader_t |
typedef struct NwkFrameMulticastHeader_t NwkFrameMulticastHeader_t |
NwkFrame_t* nwkFrameAlloc | ( | void | ) |
Allocates an empty frame from the buffer pool.
NULL
if there are no free frames References NwkFrame_t::data, NwkIb_t::lock, NWK_BUFFERS_AMOUNT, NWK_FRAME_STATE_FREE, nwkIb, NwkFrame_t::payload, NwkFrame_t::size, and NWK_DataReq_t::state.
Referenced by nwkDataReqSendFrame(), nwkRouteSendRouteError(), nwkRxSendAck(), nwkTxBroadcastFrame(), and PHY_DataInd().
void nwkFrameCommandInit | ( | NwkFrame_t * | frame | ) |
Sets default parameters for the the command frame.
[in] | frame | Pointer to the command frame |
References NwkIb_t::addr, NwkFrame_t::header, NWK_SUCCESS_STATUS, NwkFrameHeader_t::nwkFcf, nwkIb, NwkFrameHeader_t::nwkSeq, NwkIb_t::nwkSeqNum, NwkFrameHeader_t::nwkSrcAddr, NwkFrameHeader_t::security, and NwkFrame_t::tx.
Referenced by nwkRouteSendRouteError(), and nwkRxSendAck().
void nwkFrameFree | ( | NwkFrame_t * | frame | ) |
Frees a frame and returns it to the buffer pool.
[in] | frame | Pointer to the frame to be freed |
References NwkIb_t::lock, NWK_FRAME_STATE_FREE, nwkIb, and NwkFrame_t::state.
Referenced by nwkDataReqTxConf(), nwkRouteFrame(), nwkRxTaskHandler(), and nwkTxTaskHandler().
void nwkFrameInit | ( | void | ) |
Initializes the Frame module.
References NWK_BUFFERS_AMOUNT, NWK_FRAME_STATE_FREE, and NwkFrame_t::state.
Referenced by NWK_Init().
NwkFrame_t* nwkFrameNext | ( | NwkFrame_t * | frame | ) |
Cycles through the allocated frames starting from the specified frame.
[in] | frame | Pointer to the current frame or NULL for the first frame |
NULL
if there are no more frames References NWK_DataReq_t::frame, NWK_BUFFERS_AMOUNT, NWK_FRAME_STATE_FREE, nwkFrameFrames, and NwkFrame_t::state.
Referenced by nwkRxTaskHandler(), nwkSecurityTaskHandler(), nwkTxAckReceived(), nwkTxAckWaitTimerHandler(), nwkTxDelayTimerHandler(), and nwkTxTaskHandler().
|
inlinestatic |
Referenced by nwkRxIndicateFrame(), and nwkSecurityStart().