| 1 | /** |
|---|
| 2 | @file |
|---|
| 3 | DHL_PSI.h |
|---|
| 4 | |
|---|
| 5 | @brief |
|---|
| 6 | MPEG section filter API for SI/PSI/PSIP reception |
|---|
| 7 | |
|---|
| 8 | Copyright 2006~2010 Digital STREAM Technology, Inc. |
|---|
| 9 | All Rights Reserved |
|---|
| 10 | */ |
|---|
| 11 | |
|---|
| 12 | |
|---|
| 13 | #ifndef __DHL_PSI_H__ |
|---|
| 14 | #define __DHL_PSI_H__ |
|---|
| 15 | |
|---|
| 16 | |
|---|
| 17 | #include "DHL_Demux.h" |
|---|
| 18 | |
|---|
| 19 | |
|---|
| 20 | #ifdef __cplusplus |
|---|
| 21 | extern "C" { |
|---|
| 22 | #endif |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | |
|---|
| 26 | #if COMMENT |
|---|
| 27 | ____Overview____(){} |
|---|
| 28 | #endif |
|---|
| 29 | |
|---|
| 30 | |
|---|
| 31 | |
|---|
| 32 | |
|---|
| 33 | #if COMMENT |
|---|
| 34 | ____Config____(){} |
|---|
| 35 | #endif |
|---|
| 36 | |
|---|
| 37 | |
|---|
| 38 | #define FILTER_MAX_BYTE 16 /* section filter¿¡¼ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ÃÖ´ë ¹ÙÀÌÆ® ¼ö */ |
|---|
| 39 | // etm id ±îÁö¸¸ Æ÷ÇÔÇÏ¸é µÇ´Ï±î 13 byte ¸é µÈ´Ù. --> BK: 13-> FILTER_SIZE(=16)@bsettop_smessage_rave.c |
|---|
| 40 | |
|---|
| 41 | |
|---|
| 42 | #if COMMENT |
|---|
| 43 | ____Types____(){} |
|---|
| 44 | #endif |
|---|
| 45 | |
|---|
| 46 | /** @brief |
|---|
| 47 | PSI ¼ö½Å ¹× callbackÀÌ ºÒ¸®´Â ´ÜÀ§. |
|---|
| 48 | |
|---|
| 49 | DHL_PSI_StartMonitor() APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 50 | |
|---|
| 51 | ¿©·¯ ¼½¼ÇÀÌ ÇϳªÀÇ Å×À̺íÀ» ÀÌ·ç´Â °æ¿ì (PAT, VCT µî) |
|---|
| 52 | »ö¼Ç ´ÜÀ§ÀÇ ¼ö½ÅÀ» ÇÒÁö, Å×ÀÌºí ´ÜÀ§ÀÇ ¼ö½ÅÀ» ÇÒÁö ÁöÁ¤ÇÑ´Ù. |
|---|
| 53 | |
|---|
| 54 | ÇϳªÀÇ ¼½¼ÇÀ¸·Î¸¸ ±¸¼ºµÈ Å×À̺íÀÇ °æ¿ì (PMT, STT, ETT µî) |
|---|
| 55 | ePSIMODE_TABLE Àº Àǹ̰¡ ¾ø´Ù. |
|---|
| 56 | */ |
|---|
| 57 | typedef enum { |
|---|
| 58 | ePSIMODE_SECTION, ///< section ´ÜÀ§ ¼ö½Å ¹× callback. |
|---|
| 59 | ePSIMODE_TABLE, ///< table ´ÜÀ§ÀÇ ¼ö½Å ¹× callback. |
|---|
| 60 | } tDHL_PSI_Mode; |
|---|
| 61 | |
|---|
| 62 | |
|---|
| 63 | /** @brief |
|---|
| 64 | µ¿ÀÏÇÑ ¼½¼ÇÀÌ ¼ö½ÅµÇ´Â °æ¿ìÀÇ µ¿ÀÛ ÁöÁ¤. |
|---|
| 65 | |
|---|
| 66 | DHL_PSI_StartMonitor() APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 67 | */ |
|---|
| 68 | typedef enum { |
|---|
| 69 | ePSIUPDATE_ONESHOT=1, ///< 1ȸ¸¸ callback Çϰí Áß´Ü. |
|---|
| 70 | ePSIUPDATE_VERCHANGE, ///< ¹öÀüÀÌ º¯°æµÉ ¶§ ¸¶´Ù callback. |
|---|
| 71 | ePSIUPDATE_CRCCHANGE, ///< CRC°¡ º¯°æµÇ¸é (³»¿ëÀÌ ¹Ù²î¸é) callback. |
|---|
| 72 | ePSIUPDATE_CONTINEOUS, ///< ¼ö½ÅµÇ´Â ¸ðµç ¼½¼Ç(Å×À̺í) ¸¶´Ù callback. |
|---|
| 73 | } tDHL_PSI_Update; |
|---|
| 74 | |
|---|
| 75 | |
|---|
| 76 | /** @brief |
|---|
| 77 | ¼½¼Ç ÇÊÅÍ ¸¶½ºÅ© ÆÐÅÏ |
|---|
| 78 | |
|---|
| 79 | DHL_PSI_StartMonitor() APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 80 | |
|---|
| 81 | SoC Çϵå¿þ¾î¿¡ µû¶ó µÎ¹øÂ° ¹× ¼¼¹øÂ° ¹ÙÀÌÆ® ÇÊÅ͸µÀº |
|---|
| 82 | Áö¿øÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. |
|---|
| 83 | °¡´ÉÇϸé ÀÌ ºÎºÐÀÇ ÇÊÅÍ´Â »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. |
|---|
| 84 | |
|---|
| 85 | DHL¿¡¼ ¿ä±¸ÇÏ´Â ÇÊÅÍ ÆÐÅÏÀÇ ÃÖ´ë ±æÀÌ´Â FILTER_MAX_BYTE ÀÌ´Ù. |
|---|
| 86 | (2,3¹øÂ° ¹ÙÀÌÆ® Æ÷ÇÔ) |
|---|
| 87 | |
|---|
| 88 | STT ¼ö½ÅÇÏ´Â °æ¿ìÀÇ ¿¹: |
|---|
| 89 | - data = { cd, 00, 00, 00, 00, 00, ..} |
|---|
| 90 | - mask = { ff, 00, 00, 00, 00, 00, ..} |
|---|
| 91 | - mode = { ff, 00, 00, 00, 00, 00, ..} |
|---|
| 92 | |
|---|
| 93 | PMT program number 1 ¼ö½Å ¿¹: |
|---|
| 94 | - data = { 02, 00, 00, 00, 01, 00, ..} |
|---|
| 95 | - mask = { ff, 00, 00, ff, ff, 00, ..} |
|---|
| 96 | - mode = { ff, 00, 00, ff, ff, 00, ..} |
|---|
| 97 | |
|---|
| 98 | PAT version 3À» Á¦¿ÜÇÑ ´Ù¸¥ ¹öÀü ¼ö½ÅÇÏ´Â °æ¿ìÀÇ ¿¹: |
|---|
| 99 | - data = { 00, 00, 00, 00, 00, 06, ..} |
|---|
| 100 | - mask = { ff, 00, 00, 00, 00, 3e, ..} |
|---|
| 101 | - mode = { ff, 00, 00, 00, 00, 00, ..} |
|---|
| 102 | |
|---|
| 103 | */ |
|---|
| 104 | typedef struct |
|---|
| 105 | { |
|---|
| 106 | #if 1//BRCM |
|---|
| 107 | UINT8 mask[FILTER_MAX_BYTE]; // compare if mask bit is 0. if same, it is matched. |
|---|
| 108 | UINT8 coef[FILTER_MAX_BYTE]; |
|---|
| 109 | UINT8 excl[FILTER_MAX_BYTE]; // compare |
|---|
| 110 | #else |
|---|
| 111 | UINT8 data[FILTER_MAX_BYTE]; ///< ºñ±³s bit data |
|---|
| 112 | UINT8 mask[FILTER_MAX_BYTE]; ///< mask bitÀÌ 1ÀÌ¸é ºñ±³¸¦ ¼öÇà, 0ÀÌ¸é ¹«½Ã(mode bit°ª ¹«½Ã) |
|---|
| 113 | UINT8 mode[FILTER_MAX_BYTE]; |
|---|
| 114 | #endif |
|---|
| 115 | /**< |
|---|
| 116 | mode bitÀÌ 1ÀÎ °÷Àº ºñ±³µÈ bits°¡ Çϳª¶óµµ ´Ù¸£¸é ¹«½Ã, |
|---|
| 117 | ÇÑ ¹ÙÀÌÆ® ³»¿¡¼ mode bitÀÌ 0ÀÌ °÷Àº ºñ±³µÈ bits°¡ ¸ðµÎ °°À¸¸é ¹«½Ã. |
|---|
| 118 | |
|---|
| 119 | @todo |
|---|
| 120 | not equal filter°¡ ¹ÙÀÌÆ® ´ÜÀ§¸¦ ³Ñ¾î¼´Â °æ¿ì (¿¹: 16bits ¿£Æ®¸®°¡ Àִµ¥ 16bits Àüü¿¡ not equal filter¸¦ °É°í ½ÍÀº °æ¿ì)´Â |
|---|
| 121 | ÇöÀç Áö¿øÇÏÁö ¾Ê°í, »ç¿ëµÇ´Â °÷µµ ¾øÀ½. |
|---|
| 122 | Çâ ÈÄ ÇÊ¿äÇÏ°Ô µÇ¸é º°µµÀÇ ´ëÀÀÀÌ ÇÊ¿äÇÔ. |
|---|
| 123 | */ |
|---|
| 124 | |
|---|
| 125 | } tDHL_PSI_Filter; |
|---|
| 126 | |
|---|
| 127 | |
|---|
| 128 | /** @brief Äݹé À̺¥Æ® ŸÀÔ |
|---|
| 129 | |
|---|
| 130 | tDHL_PSI_EventProc Äݹé°ú ÇÔ²² Àü´ÞµÇ´Â À̺¥Æ® Á¾·ù. |
|---|
| 131 | */ |
|---|
| 132 | typedef enum { |
|---|
| 133 | ePSIEVENT_NOEVENT=0, |
|---|
| 134 | |
|---|
| 135 | ePSIEVENT_DATARECEIVED, ///< µ¥ÀÌÅͰ¡ ¼ö½ÅµÇ¾úÀ½. |
|---|
| 136 | |
|---|
| 137 | ePSIEVENT_DUP3PACKET=0x10, |
|---|
| 138 | ePSIEVENT_LOSTPACKET, |
|---|
| 139 | ePSIEVENT_DISCONTINUITY, |
|---|
| 140 | ePSIEVENT_SPLICINGPOINT, |
|---|
| 141 | ePSIEVENT_SYNCERR, |
|---|
| 142 | ePSIEVENT_SCRAMBLEDERROR, |
|---|
| 143 | |
|---|
| 144 | ePSIEVENT_MEMORYERROR, |
|---|
| 145 | ePSIEVENT_SECTIONTOOBIG, |
|---|
| 146 | ePSIEVENT_CRCERROR, |
|---|
| 147 | ePSIEVENT_VERSIONCHANGED, |
|---|
| 148 | ePSIEVENT_CRCUNCHANGED, |
|---|
| 149 | ePSIEVENT_MAXSECTIONOVERFLOW, |
|---|
| 150 | ePSIEVENT_LASTSECTIONOVERFLOW, |
|---|
| 151 | ePSIEVENT_FIFOFULLEVENT, |
|---|
| 152 | ePSIEVENT_KILLUSRTASK, |
|---|
| 153 | } tDHL_PSI_Event; |
|---|
| 154 | |
|---|
| 155 | |
|---|
| 156 | /** @brief |
|---|
| 157 | »ç¿ëÀÚ¿¡°Ô ¹ÝȯµÇ´Â PSI ÇÊÅÍ ÇÚµé. |
|---|
| 158 | |
|---|
| 159 | DHL_PSI_StartMonitor() API¿¡¼ ¸¸µé¾îÁö°í, |
|---|
| 160 | DHL_PSI_StopMonitor() API¿¡¼ free µÈ´Ù. |
|---|
| 161 | */ |
|---|
| 162 | typedef UINT32 tDHL_PSI_ControlHandle; |
|---|
| 163 | |
|---|
| 164 | |
|---|
| 165 | /** @brief |
|---|
| 166 | °¢Á¾ À̺¥Æ®(µ¥ÀÌÅÍ ¼ö½Å ¶Ç´Â ¿¡·¯) °¡ ¹ß»ýµÉ ¶§ È£ÃâµÇ´Â Äݹé ÇÔ¼ö ÇÁ·ÎÅäŸÀÔ. |
|---|
| 167 | |
|---|
| 168 | DHL_PSI_StartMonitor() API È£Ãâ½Ã¿¡ caller°¡ ÁöÁ¤ÇÑ´Ù. |
|---|
| 169 | */ |
|---|
| 170 | typedef void (*tDHL_PSI_EventProc)(tDHL_PSI_Event event, tDHL_PSI_ControlHandle handle, UINT32 userParam); |
|---|
| 171 | |
|---|
| 172 | |
|---|
| 173 | |
|---|
| 174 | |
|---|
| 175 | /** |
|---|
| 176 | tDHL_PSI_DataArray ¾ÈÀÇ ¼½¼Ç Æ÷ÀÎÅÍ ¹è¿ÀÇ Å©±â. |
|---|
| 177 | |
|---|
| 178 | ±Ô°Ý »ó sectionÀº ÃÖ´ë 256°³ ±îÁö ±¸¼ºµÉ ¼ö ÀÖÀ¸³ª, |
|---|
| 179 | º¸ÅëÀº ¼ö °³ ³»¿ÜÀ̹ǷΠÀÌ Á¤µµ¸¸ ÀâÀ¸¸é µÈ´Ù. |
|---|
| 180 | |
|---|
| 181 | ÁÖÀÇ: |
|---|
| 182 | DHL ³»ºÎ¿¡¼´Â tDHL_PSI_DataArray array Å©±â¸¦ ÇÊ¿äÇÑ ¸¸Å µ¿ÀûÀ¸·Î |
|---|
| 183 | ¾Ë¸Â°Ô ÇÒ´çÇÒ Çʿ䰡 ÀÖÀ½. |
|---|
| 184 | */ |
|---|
| 185 | #define DYNARRAY_SECTPTR 10 /* Debugger thinks there is this many anreies */ |
|---|
| 186 | |
|---|
| 187 | /** @brief |
|---|
| 188 | ¼ö½ÅµÈ ¼½¼Ç µ¥ÀÌÅ͸¦ »ç¿ëÀÚ¿¡°Ô Àü´ÞÇϱâ À§ÇÑ µ¥ÀÌÅÍ ¹è¿ ±¸Á¶. |
|---|
| 189 | |
|---|
| 190 | ¼½¼Ç ¸ðµå·Î ¼ö½ÅÇÑ °æ¿ì¶ó¸é ÇϳªÀÇ ¼½¼Ç¸¸ Àü´ÞµÇÁö¸¸, |
|---|
| 191 | Å×ÀÌºí ¸ðµå·Î ¼ö½ÅÇÑ °æ¿ì¶ó¸é ¼½¼ÇµéÀÇ ÁýÇÕÀÌ array ÇüÅ·ΠÀü´ÞµÈ´Ù. |
|---|
| 192 | */ |
|---|
| 193 | typedef struct |
|---|
| 194 | { |
|---|
| 195 | tDHL_PSI_ControlHandle handle; /* request ID */ |
|---|
| 196 | UINT16 pid; /* pid which this section came from */ |
|---|
| 197 | INT32 numSections; /* number of section */ |
|---|
| 198 | INT32 maxSections; /* max number of sections structure can hold */ |
|---|
| 199 | UINT8 *sectPtr[DYNARRAY_SECTPTR]; /* dynamic array of 1 or more section pointers */ |
|---|
| 200 | } tDHL_PSI_DataArray; |
|---|
| 201 | |
|---|
| 202 | |
|---|
| 203 | |
|---|
| 204 | |
|---|
| 205 | #if COMMENT |
|---|
| 206 | ____Defines____(){} |
|---|
| 207 | #endif |
|---|
| 208 | |
|---|
| 209 | |
|---|
| 210 | |
|---|
| 211 | |
|---|
| 212 | |
|---|
| 213 | #if COMMENT |
|---|
| 214 | ____API____(){} |
|---|
| 215 | #endif |
|---|
| 216 | |
|---|
| 217 | |
|---|
| 218 | /** @brief |
|---|
| 219 | ¼ö½ÅµÈ psi µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù. |
|---|
| 220 | */ |
|---|
| 221 | DHL_RESULT DHL_PSI_ReadPSIData(tDHL_PSI_ControlHandle handle, tDHL_PSI_DataArray **ppData); |
|---|
| 222 | |
|---|
| 223 | /** @brief |
|---|
| 224 | ó¸® (»ç¿ë)ÀÌ ³¡³ psi data array¸¦ ¸Þ¸ð¸®¿¡¼ ÇØÁ¦ÇÑ´Ù. |
|---|
| 225 | */ |
|---|
| 226 | void DHL_PSI_FreePSIData(tDHL_PSI_DataArray *pData); |
|---|
| 227 | |
|---|
| 228 | |
|---|
| 229 | /** |
|---|
| 230 | @name ÇÊÅÍ ¸¶½ºÅ© ÆÐÅÏ »ý¼º utility ÇÔ¼öµé. |
|---|
| 231 | @{ |
|---|
| 232 | */ |
|---|
| 233 | |
|---|
| 234 | /** @brief ¼½¼Ç ¼ö½Å¿¡ »ç¿ëµÉ ÇÊÅÍ ÆÐÅÏ µ¥ÀÌÅ͸¦ ÁغñÇÑ´Ù. |
|---|
| 235 | |
|---|
| 236 | ÇÊÅÍ µ¥ÀÌÅÍ´Â Heap¿¡ µ¿ÀûÀ¸·Î ÇÒ´çÇÑ´Ù. |
|---|
| 237 | |
|---|
| 238 | ÇÊÅÍ ÃʱⰪÀº all pass filter »óÅ·Π¸¸µé¾îÁø´Ù. |
|---|
| 239 | ÇÏÁö¸¸ µðÅçÆ® »óÅ·Π¼öÁ¤¾øÀÌ »ç¿ëÇÏ´Â °æ¿ì´Â ¾øÀ» °ÍÀÓ. |
|---|
| 240 | |
|---|
| 241 | @param[out] ppFilter ¸¸µé¾îÁø ÇÊÅÍ µ¥ÀÌÅÍ Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅÍ. |
|---|
| 242 | */ |
|---|
| 243 | DHL_RESULT DHL_PSI_AllocGenericFilter(tDHL_PSI_Filter **ppFilter); |
|---|
| 244 | |
|---|
| 245 | /** @brief table id·Î ÇÊÅÍ ¸¶½ºÅ© ÆÐÅÏÀ» ±¸¼ºÇÑ´Ù. |
|---|
| 246 | */ |
|---|
| 247 | DHL_RESULT DHL_PSI_AllocFilterWithTid(tDHL_PSI_Filter **ppFilter, UINT8 tid, BOOL curnext_indicator); |
|---|
| 248 | |
|---|
| 249 | /** @brief table id¿Í tid extensionÀ¸·Î ÇÊÅÍ ¸¶½ºÅ© ÆÐÅÏÀ» ±¸¼ºÇÑ´Ù. |
|---|
| 250 | */ |
|---|
| 251 | DHL_RESULT DHL_PSI_AllocFilterWithTidEx(tDHL_PSI_Filter **ppFilter, UINT8 tid, UINT16 tidExtension, |
|---|
| 252 | BOOL curnext_indicator); |
|---|
| 253 | |
|---|
| 254 | /** @brief ÇÊÅÍ ÆÐÅÏ µ¥ÀÌÅ͸¦ freeÇÑ´Ù. |
|---|
| 255 | |
|---|
| 256 | Alloc ÇÏ¿´À¸³ª ´õ ÀÌ»ó »ç¿ëÇÏÁö ¾Ê°Ô µÈ ÇÊÅÍ µ¥ÀÌÅ͸¦ |
|---|
| 257 | ¸Þ¸ð¸®¿¡¼ ÇØÁ¦ÇÑ´Ù. |
|---|
| 258 | |
|---|
| 259 | ÁÖÀÇ 1) |
|---|
| 260 | DHL_PSI_StartMonitor °¡ ¼º°øÀûÀ¸·Î È£ÃâµÇ¾î tDHL_PSI_ControlHandle ¿¡ |
|---|
| 261 | µî·ÏµÈ filter´Â DHL_PSI_StopMonitor ÀÌ ºÒ¸®¸é¼ °°ÀÌ ÇØÁ¦ µÇ¹Ç·Î, |
|---|
| 262 | º°µµ·Î DHL_PSI_FreeFilter ¸¦ ºÎ¸£Áö ¾Ê¾Æµµ µÈ´Ù. |
|---|
| 263 | |
|---|
| 264 | ÁÖÀÇ 2) |
|---|
| 265 | DHL_OS_Free ó·³ Æ÷ÀÎÅÍÀÇ Æ÷ÀÎÅ͸¦ pass ÇÏ´Â°Ô ¾Æ´Ï¶ó, Æ÷ÀÎÅ͸¦ pass ÇÑ´Ù. |
|---|
| 266 | »ç¿ë¿¡ ÁÖÀÇÇÒ °Í! |
|---|
| 267 | |
|---|
| 268 | @param[in] pFilter ÇØÁ¦ÇÒ ÇÊÅÍ µ¥ÀÌÅÍ Æ÷ÀÎÅÍ. |
|---|
| 269 | */ |
|---|
| 270 | void DHL_PSI_FreeFilter(tDHL_PSI_Filter *pFilter); |
|---|
| 271 | |
|---|
| 272 | /*@}*/ |
|---|
| 273 | |
|---|
| 274 | |
|---|
| 275 | |
|---|
| 276 | /** @brief |
|---|
| 277 | PSI ¼ö½ÅÀ» ½ÃÀÛÇÑ´Ù. |
|---|
| 278 | |
|---|
| 279 | µ¥ÀÌÅͰ¡ ¼ö½ÅµÇ°í, callbackÀÌ È£ÃâµÉ Á¶°ÇÀÌ µÇ¸é eventProcÀÌ È£ÃâµÈ´Ù. |
|---|
| 280 | |
|---|
| 281 | caller´Â retPSIControlÀ» ±â¾ïÇØ µÎ¾î¾ß ÇÑ´Ù. ³ªÁß¿¡ stop ÇÒ ¶§ ÇÊ¿äÇÔ. |
|---|
| 282 | |
|---|
| 283 | |
|---|
| 284 | @param[in] tsd TS ÀÔ·Â Æ÷Æ® ½Äº°ÀÚ |
|---|
| 285 | @param[in] pid ¼½¼Ç/Å×À̺íÀÌ Æ÷ÇÔµÈ pid |
|---|
| 286 | @param[in] psiMode ¼½¼Ç/Å×ÀÌºí µ¥ÀÌÅÍ ¼ö½Å ´ÜÀ§ |
|---|
| 287 | @param[in] updateMode µ¿ÀÏÇÑ µ¥ÀÌÅÍ ¼ö½Å¿¡ ´ëÇÑ µ¿ÀÛ ¸ðµå |
|---|
| 288 | @param[in] prefList ÇÊÅÍ ¸¶½ºÅ© ÆÐÅÏ |
|---|
| 289 | @param[in] maxData |
|---|
| 290 | @param[in] maxSections ¼½¼Ç ÃÖ´ë °¹¼ö |
|---|
| 291 | @param[in] eventProc Äݹé ÇÔ¼ö |
|---|
| 292 | @param[in] userParam »ç¿ëÀÚ ÆÄ¶ó¹ÌÅÍ |
|---|
| 293 | @param[out] pHandle »õ·Ó°Ô ÇÒ´ç µÈ psi ÇÊÅÍ ÇÚµé. |
|---|
| 294 | */ |
|---|
| 295 | DHL_RESULT DHL_PSI_StartMonitor(tDHL_TSD tsd, |
|---|
| 296 | UINT16 pid, |
|---|
| 297 | tDHL_PSI_Mode psiMode, |
|---|
| 298 | tDHL_PSI_Update updateMode, |
|---|
| 299 | tDHL_PSI_Filter *prefList, |
|---|
| 300 | UINT16 maxData, |
|---|
| 301 | UINT16 maxSections, |
|---|
| 302 | tDHL_PSI_EventProc eventProc, |
|---|
| 303 | UINT32 userParam, |
|---|
| 304 | tDHL_PSI_ControlHandle *pHandle); |
|---|
| 305 | |
|---|
| 306 | |
|---|
| 307 | /** @brief |
|---|
| 308 | PSI ¼ö½ÅÀ» Áß´ÜÇÑ´Ù. |
|---|
| 309 | |
|---|
| 310 | ³»ºÎ¿¡ µ¿ÀÛ ÁßÀÌ´ø ¸ðµç ÀÛ¾÷À» Áß´ÜÇÑ´Ù. |
|---|
| 311 | ¾ÆÁ÷ ¸¶¹«¸® µÇÁö ¾ÊÀº ¼½¼Ç ¸Þ¸ð¸®µéÀº ¸ðµÎ free µÈ´Ù. |
|---|
| 312 | |
|---|
| 313 | ÀÌ ÈÄ¿¡ ´õÀÌ»ó psiCtlÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. |
|---|
| 314 | |
|---|
| 315 | @param[in] handle Á¤Áö/ÇØÁ¦ ÇÒ psi ÇÚµé. |
|---|
| 316 | */ |
|---|
| 317 | void DHL_PSI_StopMonitor(tDHL_PSI_ControlHandle handle); |
|---|
| 318 | |
|---|
| 319 | |
|---|
| 320 | |
|---|
| 321 | DHL_RESULT DHL_PSI_Init(void); |
|---|
| 322 | |
|---|
| 323 | |
|---|
| 324 | DHL_RESULT DHL_PSI_Uninit(void); |
|---|
| 325 | |
|---|
| 326 | |
|---|
| 327 | #ifdef __cplusplus |
|---|
| 328 | } /* extern "C" */ |
|---|
| 329 | #endif |
|---|
| 330 | |
|---|
| 331 | |
|---|
| 332 | |
|---|
| 333 | #endif /* __DHL_PSI_H__ */ |
|---|
| 334 | |
|---|