Implements data request related functions.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include <compiler.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include "return_val.h"
#include "pal.h"
#include "bmm.h"
#include "qmm.h"
#include "tal.h"
#include "ieee_const.h"
#include "mac_msg_const.h"
#include "mac_api.h"
#include "mac_msg_types.h"
#include "mac_data_structures.h"
#include "stack_config.h"
#include "mac_internal.h"
#include "mac.h"
#include "mac_build_config.h"
Macros | |
#define | DATA_REQ_PAYLOAD_LEN (1) |
Functions | |
static buffer_t * | build_null_data_frame (void) |
static uint8_t | find_long_buffer (void *buf, void *long_addr) |
static uint8_t | find_short_buffer (void *buf, void *short_addr) |
bool | mac_build_and_tx_data_req (bool expl_poll, bool force_own_long_addr, uint8_t expl_dest_addr_mode, address_field_t *expl_dest_addr, uint16_t expl_dest_pan_id) |
Build and transmits data request command frame. More... | |
void | mac_handle_tx_null_data_frame (void) |
void | mac_process_data_request (buffer_t *msg) |
Processes a received data request command frame. More... | |
#define DATA_REQ_PAYLOAD_LEN (1) |
Referenced by mac_build_and_tx_data_req().
|
static |
References bmm_buffer_alloc(), BMM_BUFFER_POINTER, BROADCAST, frame_info_tag::buffer_header, convert_16_bit_to_byte_array(), convert_64_bit_to_byte_array(), convert_spec_16_bit_to_byte_array(), FCF_FRAMETYPE_DATA, FCF_LONG_ADDR, FCF_PAN_ID_COMPRESSION, FCF_SET_DEST_ADDR_MODE, FCF_SET_FRAMETYPE, FCF_SET_SOURCE_ADDR_MODE, FCF_SHORT_ADDR, frame_info_tag::indirect_in_transit, LARGE_BUFFER_SIZE, address_field_t::long_address, mac_pib_tag::mac_DSN, MAC_NO_SHORT_ADDR_VALUE, mac_parse_data, mac_pib, frame_info_tag::mpdu, frame_info_tag::msg_type, NULL_FRAME, address_field_t::short_address, parse_tag::src_addr, parse_tag::src_addr_mode, parse_tag::src_panid, and tal_pib.
Referenced by mac_handle_tx_null_data_frame().
|
static |
|
static |