![]() |
DSMCC
22.3.0
|
Section Filter Manager: caching functions. More...
#include <string.h>
#include "sfm_main.h"
#include "sfm_cache.h"
#include "sfm_filter.h"
#include "sbm.h"
Classes | |
struct | s_CacheNode |
struct | s_CacheFilter |
struct | s_CacheTable |
struct | s_NodeBlock |
struct | s_FiltBlock |
struct | s_SfmCache |
Typedefs | |
typedef struct s_NodeBlock * | H_NodeBlock |
typedef struct s_FiltBlock * | H_FiltBlock |
typedef struct s_CacheNode | S_CacheNode |
typedef struct s_CacheFilter | S_CacheFilter |
typedef struct s_CacheTable | S_CacheTable |
typedef struct s_NodeBlock | S_NodeBlock |
typedef struct s_FiltBlock | S_FiltBlock |
typedef struct s_SfmCache | S_SfmCache |
Functions | |
H_SfmCache | SFMCacheCreate (H_SfmInstance sfm) |
void | SFMCacheDestroy (H_SfmInstance sfm, void **pBufMtx) |
void | SFM_CacheClear (H_SfmInstance sfm) |
Clear all SFM cached section data. More... | |
H_CacheTable | SFMCacheGetTable (H_SfmCache cache) |
H_CacheFilter | SFMCacheRetrieveFilter (H_SfmInstance sfm, H_CacheTable ctable, U16BIT teid, U8BIT vers) |
Search cache for section data. More... | |
void | SFMCacheAddBlock (H_SfmInstance sfm, U8BIT size1, U8BIT bknum, void **phBuffer) |
Allocates space in cache for section data If allocation is made, *phBuffer has holds cache location. If section already allocated, or insufficient space, then *phBuffer is NULL. More... | |
U8BIT * | SFM_CacheBuffer (H_SfmInstance sfm, void *hBuffer) |
Get section data buffer pointer in SFM's cache for the handle. This should only be called after SFM_RequireSection returned with SFM_UPDATE_CACHE. This may be called from 'interrupt' environment. The returned pointer may be used by client to copy section data into SFM's cache buffer. More... | |
void | SFM_CacheReleaseBuffer (H_SfmInstance sfm, U8BIT *pSection, void *hBuffer) |
Release Cache buffer allocated by SFM_CacheBuffer. More... | |
BOOLEAN | SFMCacheValidHandle (H_SfmInstance sfm, void *ptr) |
void | SFMCacheProcessSection (H_SfmInstance sfm, U8BIT *pSection, H_CacheFilter cfilter) |
Tells SFM Cache to update DSM-CC with cached buffer (reported to F_CacheMatch callback funtion. This also allows SFM cache to clean up completed buffers. More... | |
void | SFMCacheSearch (H_SfmInstance sfm, H_CacheTable ctable, S_TableExt tex, U16BIT dsmref, E_SFM_STATUS status) |
Search cache for section data. More... | |
Section Filter Manager: caching functions.
U8BIT* SFM_CacheBuffer | ( | H_SfmInstance | sfm, |
void * | hBuffer | ||
) |
Get section data buffer pointer in SFM's cache for the handle. This should only be called after SFM_RequireSection returned with SFM_UPDATE_CACHE. This may be called from 'interrupt' environment. The returned pointer may be used by client to copy section data into SFM's cache buffer.
H_SfmInstance | sfm SFM instance handle. |
void* | hBuffer Section buffer handle returned by SFM_RequireSection |
void SFM_CacheClear | ( | H_SfmInstance | sfm | ) |
Clear all SFM cached section data.
Clear all SFM cached section data. Not required to be called, if setup had sectionBuffCacheSize set to ZERO. Otherwise, this MUST be called on a transport stream change and optionally called at other times - e.g on a service change.
H_SfmInstance | sfm SFM instance handle. |
void SFM_CacheReleaseBuffer | ( | H_SfmInstance | sfm, |
U8BIT * | pSection, | ||
void * | hBuffer | ||
) |
Release Cache buffer allocated by SFM_CacheBuffer.
H_SfmInstance | sfm SFM instance handle. |
U8BIT* | pSection Pointer to whole section data buffer |
void* | hBuffer Section buffer handle returned by SFM_RequireSection |
void SFMCacheAddBlock | ( | H_SfmInstance | sfm, |
U8BIT | size1, | ||
U8BIT | bknum, | ||
void ** | phBuffer | ||
) |
Allocates space in cache for section data If allocation is made, *phBuffer has holds cache location. If section already allocated, or insufficient space, then *phBuffer is NULL.
H_SfmInstance | sfm SFM instance handle. |
H_CacheTable | ctable Cache table handle |
void** | phBuffer Pointer to SFM section buffer handle |
void SFMCacheProcessSection | ( | H_SfmInstance | sfm, |
U8BIT * | pSection, | ||
H_CacheFilter | cfilter | ||
) |
Tells SFM Cache to update DSM-CC with cached buffer (reported to F_CacheMatch callback funtion. This also allows SFM cache to clean up completed buffers.
H_SfmInstance | sfm SFM instance handle. |
U8BIT* | pSection Pointer to whole section data buffer |
H_CacheFilter | cfilter Hande given to F_CacheMatch |
H_CacheFilter SFMCacheRetrieveFilter | ( | H_SfmInstance | sfm, |
H_CacheTable | ctable, | ||
U16BIT | teid, | ||
U8BIT | vers | ||
) |
Search cache for section data.
H_SfmCache | cache SFM cache handle. |
H_CacheTable | ctable Cache table handle |
U16BIT | teid Table Extension ID |
void SFMCacheSearch | ( | H_SfmInstance | sfm, |
H_CacheTable | ctable, | ||
S_TableExt | tex, | ||
U16BIT | dsmref, | ||
E_SFM_STATUS | status | ||
) |
Search cache for section data.
H_SfmInstance | sfm SFM instance handle. |
H_CacheTable | ctable Cache table handle |
S_TableExt | tex Table Extension ID and mask |
BOOLEAN SFMCacheValidHandle | ( | H_SfmInstance | sfm, |
void * | ptr | ||
) |
H_SfmInstance | sfm SFM instance handle. |
void* | hCache Handle to cache buffer given to the F_CacheMatch callback function |