Microchip® Advanced Software Framework

bmm.c File Reference

This file implements the functions for initializing buffer module, allocating and freeing up buffers.

Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.

#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#include "pal.h"
#include "return_val.h"
#include "bmm.h"
#include "qmm.h"
#include "tal.h"
#include "ieee_const.h"
#include "app_config.h"

Functions

buffer_tbmm_buffer_alloc (uint16_t size)
 Allocates a buffer. More...
 
void bmm_buffer_free (buffer_t *pbuffer)
 Frees up a buffer. More...
 
void bmm_buffer_init (void)
 Initializes the buffer module. More...
 

Variables

static buffer_t buf_header [TOTAL_NUMBER_OF_LARGE_BUFS+TOTAL_NUMBER_OF_SMALL_BUFS]
 
static uint8_t buf_pool [((TOTAL_NUMBER_OF_LARGE_BUFS *LARGE_BUFFER_SIZE))]
 Common Buffer pool holding the buffer user area. More...
 
static queue_t free_large_buffer_q
 

uint8_t buf_pool[((TOTAL_NUMBER_OF_LARGE_BUFS *LARGE_BUFFER_SIZE))]
static

Common Buffer pool holding the buffer user area.

Referenced by bmm_buffer_init().

queue_t free_large_buffer_q
static