Developer World
Spresense SDK Library v3.3.0-375c679
CMN_SimpleFifo.h File Reference

CXD5602 Sipmle Fifo API. More...

#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  CMN_SimpleFifoHandle
 FIFO handle which holds data required to manipulate FIFO. More...
 
struct  CMN_SimpleFifoPeekHandle
 Data handle used for CMN_SimpleFifoPeek(). More...
 

Typedefs

typedef void *(* CMN_SimpleFifoCopierFunc) (void *pCopierFuncExtInfo, void *pDest, const void *pSrc, size_t sz)
 Definition of data copier function. More...
 

Functions

Manupilation
int CMN_SimpleFifoInitialize (CMN_SimpleFifoHandle *pHandle, void *pFifoBuffer, size_t szFifoBuffer, void *pExtInfo)
 Initialize FIFO. More...
 
void CMN_SimpleFifoClear (CMN_SimpleFifoHandle *pHandle)
 Reset the RP/WP of the FIFO. More...
 
Offer(Insert)
size_t CMN_SimpleFifoOffer (CMN_SimpleFifoHandle *pHandle, const void *pElement, size_t sz)
 Insert data to the FIFO using the default copier(memcpy like). More...
 
size_t CMN_SimpleFifoOfferWithSpecificCopier (CMN_SimpleFifoHandle *pHandle, const void *pElement, size_t sz, CMN_SimpleFifoCopierFunc copierFunc, void *pCopierFuncExtInfo)
 Insert data to the FIFO using the specified copier. More...
 
size_t CMN_SimpleFifoOfferContinuous (CMN_SimpleFifoHandle *pHandle, const void *pElement, size_t sz, int fallback, size_t *pGap)
 Insert data to the FIFO with Continuous Region Option using the default copier(memcpy like). More...
 
size_t CMN_SimpleFifoOfferContinuousWithSpecificCopier (CMN_SimpleFifoHandle *pHandle, const void *pElement, size_t sz, int fallback, size_t *pGap, CMN_SimpleFifoCopierFunc copierFunc, void *pCopierFuncExtInfo)
 Insert data to the FIFO with Continuous Region Option using the specified copier. More...
 
Refer and Remove
size_t CMN_SimpleFifoPoll (CMN_SimpleFifoHandle *pHandle, void *pElement, size_t sz)
 Retrieves data on the head of FIFO and removes it from the FIFO using the default copier(memcpy like). More...
 
size_t CMN_SimpleFifoPollWithSpecificCopier (CMN_SimpleFifoHandle *pHandle, void *pElement, size_t sz, CMN_SimpleFifoCopierFunc copierFunc, void *pCopierFuncExtInfo)
 Retrieves data on the head of FIFO and removes it from the FIFO using the specified copier. More...
 
Refer and NOT Remove
size_t CMN_SimpleFifoPeekWithOffset (const CMN_SimpleFifoHandle *pHandle, CMN_SimpleFifoPeekHandle *pPeekHandle, size_t sz, size_t offset)
 Retrieves data on the offset from head of the FIFO but does not remove from the FIFO. More...
 
Query and Utility
size_t CMN_SimpleFifoGetVacantSize (const CMN_SimpleFifoHandle *pHandle)
 Get vacant size of the FIFO. More...
 
size_t CMN_SimpleFifoGetOccupiedSize (const CMN_SimpleFifoHandle *pHandle)
 Get occupied size of the FIFO. More...
 
void * CMN_SimpleFifoGetExtInfo (const CMN_SimpleFifoHandle *pHandle)
 Get the value of the ExtInfo set to the FIFO. More...
 
size_t CMN_SimpleFifoGetDataSizeOfPeekHandle (const CMN_SimpleFifoPeekHandle *pPeekHandle)
 Get total size of data in peek handle. More...
 
size_t CMN_SimpleFifoCopyFromPeekHandle (const CMN_SimpleFifoPeekHandle *pPeekHandle, void *pDest, size_t sz)
 Copy data pointed by PeekHandle using default copier(memcpy like). More...
 
size_t CMN_SimpleFifoCopyFromPeekHandleWithSpecificCopier (const CMN_SimpleFifoPeekHandle *pPeekHandle, void *pDest, size_t sz, CMN_SimpleFifoCopierFunc copierFunc, void *pCopierFuncExtInfo)
 Copy data pointed by PeekHandle using specific copier. More...
 

Detailed Description

CXD5602 Sipmle Fifo API.

Author
CXD5602 Media SW Team
Note

Attention