![]() |
DSMCC
21.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 |
1.8.13