DSMCC
15.3.1
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2004 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00024 #ifndef _SFM_CACHE_H 00025 #define _SFM_CACHE_H 00026 00027 #include "sfm_main.h" 00028 00029 typedef struct s_TableExt 00030 { 00031 U16BIT id; 00032 U16BIT mask; 00033 } S_TableExt; 00034 00035 00036 typedef struct s_CacheTable *H_CacheTable; 00037 typedef struct s_CacheFilter *H_CacheFilter; 00038 00039 H_SfmCache SFMCacheCreate( H_SfmInstance sfm ); 00040 00041 H_CacheTable SFMCacheGetTable( H_SfmCache cache ); 00042 00043 void SFMCacheDestroy( H_SfmInstance sfm, void **pBufMtx ); 00044 00045 BOOLEAN SFMCacheValidHandle( H_SfmInstance sfm, void* ptr ); 00046 00047 00048 H_CacheFilter SFMCacheRetrieveFilter( H_SfmInstance sfm, H_CacheTable ctable, 00049 U16BIT teid, U8BIT vers ); 00050 00061 void SFMCacheAddBlock( H_SfmInstance sfm, U8BIT size1, U8BIT bknum, void** phBuffer ); 00062 00070 void SFMCacheSearch( H_SfmInstance sfm, H_CacheTable ctable, S_TableExt tex, 00071 U16BIT dsmref, E_SFM_STATUS status ); 00072 00080 void SFMCacheProcessSection( H_SfmInstance sfm, U8BIT *pSection, H_CacheFilter cfilter ); 00081 00082 #endif /*_SFM_CACHE_H*/