Infineon Logo AIROC BTSDK v4.6 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
wiced_memory.h File Reference

> More...

Typedefs

typedef struct BUFFER_POOL_T wiced_bt_buffer_pool_t
 wiced buffer pool
 
struct {
   uint8_t   pool_id
 pool id
 
   uint16_t   pool_size
 pool buffer size
 
   uint16_t   current_allocated_count
 number of buffers currently allocated
 
   uint16_t   max_allocated_count
 maximum number of buffers allocated at any time
 
   uint16_t   total_count
 total number of buffers
 
wiced_bt_buffer_statistics_t
 AIROC Bluetooth dynamic buffer statistics.
 

Functions

uint16_t wiced_bt_buffer_poolutilization (uint8_t pool_id)
 Get specific buffer pool utilization. More...
 
void * wiced_memory_permanent_allocate (uint32_t size)
 Allocates memory for permanent usage. More...
 
uint32_t wiced_memory_get_free_bytes (void)
 Returns the number of free bytes of RAM left. More...
 
wiced_bool_t wiced_memory_set_application_thread_stack_size (uint16_t new_stack_size)
 Update the stack size of the application thread (MPAF) NOTE : This API will work only when invoked from SPAR_CRT_SETUP() More...
 
wiced_bt_buffer_pool_twiced_bt_create_pool (uint32_t buffer_size, uint32_t buffer_cnt)
 Creates a private buffer pool dedicated for the application usage. More...
 
void * wiced_bt_get_buffer_from_pool (wiced_bt_buffer_pool_t *p_pool)
 Allocates a buffer from the private pool. More...
 
uint32_t wiced_bt_get_buffer_count (wiced_bt_buffer_pool_t *p_pool)
 To get the number of buffers available in the pool. More...
 
void * wiced_bt_get_buffer (uint16_t buffer_size)
 Allocates a buffer from the public pools. More...
 
void wiced_bt_free_buffer (void *p_buf)
 Frees an existing buffer in a pool. More...
 
uint32_t wiced_bt_get_buffer_size (void *p_buf)
 Gets the buffer size. More...
 
wiced_result_t wiced_bt_get_buffer_usage (wiced_bt_buffer_statistics_t *p_buffer_stat, uint16_t size)
 Dumps dynamic buffer usage (see wiced_bt_buffer_statistics_t),from the last start of the system. More...
 

Detailed Description

>

Provides the API definitions for the memory buffer management.

This software, including source code, documentation and related materials ("Software") is owned by Cypress Semiconductor Corporation or one of its affiliates ("Cypress") and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Therefore, you may use this Software only as provided in the license agreement accompanying the software package from which you obtained this Software ("EULA"). If no EULA applies, Cypress hereby grants you a personal, non-exclusive, non-transferable license to copy, modify, and compile the Software source code solely for use in connection with Cypress's integrated circuit products. Any reproduction, modification, translation, compilation, or representation of this Software except as specified above is prohibited without the express written permission of Cypress.

Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes to the Software without notice. Cypress does not assume any liability arising out of the application or use of the Software or any product or circuit described in the Software. Cypress does not authorize its products for use in any products where a malfunction or failure of the Cypress product may reasonably be expected to result in significant property damage, injury or death ("High Risk Product"). By including Cypress's product in a High Risk Product, the manufacturer of such system or application assumes all risk of such use and in doing so agrees to indemnify Cypress against all liability.