![]()  | 
  
    DSMCC
    22.11.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.11