1 //<MStar Software> 2 //****************************************************************************** 3 // MStar Software 4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5 // All software, firmware and related documentation herein ("MStar Software") are 6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7 // law, including, but not limited to, copyright law and international treaties. 8 // Any use, modification, reproduction, retransmission, or republication of all 9 // or part of MStar Software is expressly prohibited, unless prior written 10 // permission has been granted by MStar. 11 // 12 // By accessing, browsing and/or using MStar Software, you acknowledge that you 13 // have read, understood, and agree, to be bound by below terms ("Terms") and to 14 // comply with all applicable laws and regulations: 15 // 16 // 1. MStar shall retain any and all right, ownership and interest to MStar 17 // Software and any modification/derivatives thereof. 18 // No right, ownership, or interest to MStar Software and any 19 // modification/derivatives thereof is transferred to you under Terms. 20 // 21 // 2. You understand that MStar Software might include, incorporate or be 22 // supplied together with third party`s software and the use of MStar 23 // Software may require additional licenses from third parties. 24 // Therefore, you hereby agree it is your sole responsibility to separately 25 // obtain any and all third party right and license necessary for your use of 26 // such third party`s software. 27 // 28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29 // MStar`s confidential information and you agree to keep MStar`s 30 // confidential information in strictest confidence and not disclose to any 31 // third party. 32 // 33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34 // kind. Any warranties are hereby expressly disclaimed by MStar, including 35 // without limitation, any warranties of merchantability, non-infringement of 36 // intellectual property rights, fitness for a particular purpose, error free 37 // and in conformity with any international standard. You agree to waive any 38 // claim against MStar for any loss, damage, cost or expense that you may 39 // incur related to your use of MStar Software. 40 // In no event shall MStar be liable for any direct, indirect, incidental or 41 // consequential damages, including without limitation, lost of profit or 42 // revenues, lost or damage of data, and unauthorized system use. 43 // You agree that this Section 4 shall still apply without being affected 44 // even if MStar Software has been modified by MStar in accordance with your 45 // request or instruction for your use, except otherwise agreed by both 46 // parties in writing. 47 // 48 // 5. If requested, MStar may from time to time provide technical supports or 49 // services in relation with MStar Software to you for your use of 50 // MStar Software in conjunction with your or your customer`s product 51 // ("Services"). 52 // You understand and agree that, except otherwise agreed by both parties in 53 // writing, Services are provided on an "AS IS" basis and the warranty 54 // disclaimer set forth in Section 4 above shall apply. 55 // 56 // 6. Nothing contained herein shall be construed as by implication, estoppels 57 // or otherwise: 58 // (a) conferring any license or right to use MStar name, trademark, service 59 // mark, symbol or any other identification; 60 // (b) obligating MStar or any of its affiliates to furnish any person, 61 // including without limitation, you and your customers, any assistance 62 // of any kind whatsoever, or any information; or 63 // (c) conferring any license or right under any intellectual property right. 64 // 65 // 7. These terms shall be governed by and construed in accordance with the laws 66 // of Taiwan, R.O.C., excluding its conflict of law rules. 67 // Any and all dispute arising out hereof or related hereto shall be finally 68 // settled by arbitration referred to the Chinese Arbitration Association, 69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70 // Rules of the Association by three (3) arbitrators appointed in accordance 71 // with the said Rules. 72 // The place of arbitration shall be in Taipei, Taiwan and the language shall 73 // be English. 74 // The arbitration award shall be final and binding to both parties. 75 // 76 //****************************************************************************** 77 //<MStar Software> 78 /////////////////////////////////////////////////////////////////////////////////////////////////// 79 /// 80 /// @file apiCEC_private.h 81 /// @author MStar Semiconductor Inc. 82 /// @brief CEC driver Function 83 /////////////////////////////////////////////////////////////////////////////////////////////////// 84 85 /* 86 1. Check whether MHL cable is plugged or not in Rx side 87 2. Disable R-term and output Vbus 88 3. Check whether Cbus is connected(discovery pulse completed) 89 4. Sink -> Source: "SET_HPD" 90 5. Sink -> Source: Write_Stat - "DCAP_RDY" and Write_INT - "DCAP_CHG" 91 6. Sink -> Source: Write_Stat - "PATH_EN" 92 */ 93 94 95 #ifndef _API_CEC_PRIVATE_H_ 96 #define _API_CEC_PRIVATE_H_ 97 98 #include "MsTypes.h" 99 #include "MsDevice.h" 100 #include "MsCommon.h" 101 #include "apiCEC.h" 102 103 104 #ifdef __cplusplus 105 extern "C" 106 { 107 #endif 108 109 //------------------------------------------------------------------------------------------------- 110 // Local Defines 111 //------------------------------------------------------------------------------------------------- 112 113 //------------------------------------------------------------------------------------------------- 114 // Local Structures 115 //------------------------------------------------------------------------------------------------- 116 typedef struct __attribute__ ((packed)) _CEC_RESOURCE_PRIVATE 117 { 118 MS_BOOL bCECIsSource; 119 MS_BOOL bRIUAddrReady; 120 MS_BOOL bCecInitFinish; 121 MS_BOOL bCecISRAttach; 122 MS_BOOL CecDevicesExisted[CEC_DEVICE_EXIST_COUNT]; 123 MS_BOOL bAttachDrvISR; 124 MS_U8 ucRetryCount; 125 MS_U8 ucInitialIndex; 126 MS_U8 CecFifoIdxS; 127 MS_U8 CecFifoIdxE; 128 MS_U8 bCecMsgCnt; 129 MS_U8 ActiveDeviceCECVersion; 130 MS_U8 MyPhysicalAddress[CEC_PHY_ADDR_COUNT]; 131 MS_U8 ActivePhysicalAddress[CEC_PHY_ADDR_COUNT]; 132 MS_U8 ucVendorID[CEC_VENDOR_ID_COUNT]; 133 MS_U32 ulXTAL_CLK_Hz; 134 MS_VIRT ulXCRiuBaseAddress; 135 #if !defined (__aarch64__) 136 MS_U32 ulXCRiuBaseAddressDummy; 137 #endif 138 MS_VIRT ulPMRiuBaseAddress; 139 #if !defined (__aarch64__) 140 MS_U32 ulPMRiuBaseAddressDummy; 141 #endif 142 MsCEC_DEVICELA MyLogicalAddress; //TV related 143 MsCEC_DEVICE_TYPE MyDeviceType; 144 MsCEC_MSG_POWER_STATUS_PARM MyPowerStatus; 145 MsCEC_DEVICE_TYPE ActiveDeviceType; 146 MsCEC_DEVICELA ActiveLogicalAddress; //the remoter controller's active device 147 MsCEC_MSG_POWER_STATUS_PARM ActivePowerStatus; 148 EN_POWER_MODE usPrePowerState; 149 MS_CEC_RxData_Info CecRxBuf[CEC_FIFO_NUM_COUNT]; //TV CEC H/W part 150 151 #if ENABLE_CEC_MULTIPLE 152 MS_U8 MyPhysicalAddress2[CEC_PHY_ADDR_COUNT]; 153 MsCEC_DEVICELA MyLogicalAddress2; 154 MsCEC_DEVICE_TYPE MyDeviceType2; 155 MsCEC_DEVICE_TYPE IniLogicalAddress; 156 #endif 157 }CEC_RESOURCE_PRIVATE; 158 159 typedef MS_BOOL (*IOCTL_DDC2BI_GET_INFO) (void*, MS_CEC_INFO_LIST*); 160 typedef void (*IOCTL_CEC_INIT_CHIP) (void*, MS_U32); 161 typedef void (*IOCTL_CEC_PORT_SELECT) (void*, MsCEC_INPUT_PORT); 162 typedef void (*IOCTL_CEC_EXIT) (void*); 163 typedef void (*IOCTL_CEC_SET_MY_LOGICAL_ADDRESS) (void*, MsCEC_DEVICELA); 164 typedef void (*IOCTL_CEC_INIT) (void*, MS_U32); 165 typedef void (*IOCTL_CEC_CHECK_EXIST_DEVICES) (void*); 166 typedef MsCEC_DEVICELA (*IOCTL_CEC_NEXT_DEVICE) (void*); 167 typedef void (*IOCTL_CEC_CHK_RX_BUF) (void*); 168 typedef CEC_ERROR_CODE (*IOCTL_CEC_TX_SEND_MSG) (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MS_U8*, MS_U8); 169 typedef CEC_ERROR_CODE (*IOCTL_CEC_TX_SEND_MSG2) (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MS_U8*, MS_U8); 170 typedef CEC_ERROR_CODE (*IOCTL_CEC_TX_SEND_POLLING_MSG) (void*, MsCEC_DEVICELA); 171 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_ACTIVE_SOURCE) (void*); 172 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_ROUTING_CHANGE) (void*, MS_U8*, MS_U8*); 173 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_ACTIVE_SOURCE) (void*); 174 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_SET_STREAM_PATH) (void*, MS_U8*); 175 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_STANDBY) (void*, MsCEC_DEVICELA); 176 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_RECORD_OFF) (void*, MsCEC_DEVICELA); 177 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_RECORD_ON) (void*, MsCEC_DEVICELA, MsCEC_MSG_RECORD_SOURCE_TYPE); 178 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REPORT_CEC_VERSION) (void*, MsCEC_DEVICELA, MS_U8); 179 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_CEC_VERSION) (void*, MsCEC_DEVICELA); 180 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS) (void*); 181 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_PHYCAL_ADDRESS) (void*, MsCEC_DEVICELA); 182 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_DECK_CONTROL) (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_DECK_CTRL_PARM); 183 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_DEC_STATUS) (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_DECK_STATUS_PARM); 184 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_GIVE_DECK_STATUS) (void*, MsCEC_DEVICELA, MsCEC_MSG_STATUS_REQUEST_PARM); 185 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_DC_PLAY) (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_PLAY_PARM); 186 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_MENU_STATUS) (void*, MsCEC_DEVICELA, MsCEC_MSG_MENU_REQ_TYPE); 187 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_USER_CTRL_PRESSED) (void*, MS_BOOL, MsCEC_DEVICELA, MsCEC_MSG_USER_CTRL_PARM); 188 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_USER_CTRL_RELEASED) (void*, MsCEC_DEVICELA); 189 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_GIVE_AUDIO_STATUS) (void*, MsCEC_DEVICELA); 190 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REPORT_POWER_STATUS) (void*, MsCEC_DEVICELA); 191 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_POWER_STATUS) (void*, MsCEC_DEVICELA); 192 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_FEATURE_ABORT) (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MsCEC_MSG_ABORT_REASON); 193 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_ABORT) (void*, MsCEC_DEVICELA); 194 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_SEND_MENU_LANGUAGE) (void*, MS_U8*); 195 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_ARC_INITIATION) (void*, MsCEC_DEVICELA); 196 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REQ_ARC_TERMINATION) (void*, MsCEC_DEVICELA); 197 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_AUDIO_MODE_REQ) (void*, MsCEC_DEVICELA, MS_BOOL, MS_U8*); 198 typedef CEC_ERROR_CODE (*IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS2) (void*); 199 typedef MS_BOOL (*IOCTL_CEC_CHECK_FRAME) (void*, MsCEC_MSG_TRANS_TYPE, MS_U8); 200 typedef void (*IOCTL_CEC_CONFIG_WAKE_UP) (void*); 201 typedef void (*IOCTL_CEC_ENABLED) (void*, MS_BOOL); 202 typedef MS_U8 (*IOCTL_CEC_GET_TX_STATUS) (void*); 203 typedef MS_BOOL (*IOCTL_CEC_DEVICE_IS_TX) (void*); 204 typedef MS_U32 (*IOCTL_CEC_SET_POWER_STATE) (void*, EN_POWER_MODE); 205 typedef void (*IOCTL_CEC_SET_MY_LOGICAL_ADDRESS2) (void*, MsCEC_DEVICELA); 206 typedef MS_U8 (*IOCTL_CEC_GET_HEADER) (void*); 207 typedef MS_U8 (*IOCTL_CEC_GET_OPCODE) (void*); 208 typedef MS_U8 (*IOCTL_CEC_GET_PARA) (void*, MS_U8); 209 typedef MS_U8 (*IOCTL_CEC_GET_CMD_LEN) (void*); 210 typedef MS_BOOL (*IOCTL_CEC_IS_RX_BUF_EMPTY) (void*); 211 typedef void (*IOCTL_CEC_SET_ACTIVE_LOGICAL_ADDRESS) (void*, MsCEC_DEVICELA); 212 typedef MsCEC_DEVICELA (*IOCTL_CEC_GET_ACTIVE_LOGICAL_ADDRESS) (void*); 213 typedef MsCEC_MSG_POWER_STATUS_PARM (*IOCTL_CEC_GET_POWER_STATUS) (void*); 214 typedef MS_U8 (*IOCTL_CEC_GET_FIFO_IDX) (void*); 215 typedef void (*IOCTL_CEC_SET_FIFO_IDX) (void*, MS_U8); 216 typedef void (*IOCTL_CEC_SET_ACTIVE_POWER_STATUS) (void*, MsCEC_MSG_POWER_STATUS_PARM); 217 typedef MsCEC_MSG_POWER_STATUS_PARM (*IOCTL_CEC_GET_ACTIVE_POWER_STATUS) (void*); 218 typedef void (*IOCTL_CEC_SET_ACTIVE_PHYSICAL_ADDRESS) (void*, MS_U8, MS_U8); 219 typedef void (*IOCTL_CEC_SET_ACTIVE_DEVICE_CEC_VERSION) (void*, MS_U8); 220 typedef void (*IOCTL_CEC_SET_ACTIVE_DEVICE_TYPE) (void*, MsCEC_DEVICE_TYPE); 221 typedef MS_U8 (*IOCTL_CEC_GET_MSG_CNT) (void*); 222 typedef void (*IOCTL_CEC_SET_MSG_CNT) (void*, MS_U8); 223 typedef MS_U8 (*IOCTL_CEC_GET_RX_DATA) (void*, MS_U8, MS_U8); 224 typedef void (*IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS) (void*, MS_U8*); 225 typedef void (*IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS2) (void*, MS_U8*); 226 typedef void (*IOCTL_CEC_SET_INITIATOR) (void*, MsCEC_DEVICELA); 227 typedef void (*IOCTL_CEC_CONFIG_WAKEUP_INFO_VENDOR_ID) (void*, MS_U8*); 228 typedef void (*IOCTL_CEC_SET_RETRY_COUNT) (void*, MS_U8); 229 typedef void (*IOCTL_CEC_ATTACH_DRIVER_ISR) (void*, MS_BOOL); 230 typedef stCEC_INITIAL_CONFIG_INFO (*IOCTL_CEC_GET_CONFIGURATION) (void*); 231 232 typedef struct _CEC_INSTANT_PRIVATE 233 { 234 MS_U32 ulDeviceID; 235 IOCTL_DDC2BI_GET_INFO fpDDC2BIGetInfo; 236 IOCTL_CEC_INIT_CHIP fpCECInitChip; 237 IOCTL_CEC_PORT_SELECT fpCECPortSelect; 238 IOCTL_CEC_EXIT fpCECExit; 239 IOCTL_CEC_SET_MY_LOGICAL_ADDRESS fpCECSetMyLogicalAddress; 240 IOCTL_CEC_INIT fpCECInit; 241 IOCTL_CEC_CHECK_EXIST_DEVICES fpCECCheckExistDevices; 242 IOCTL_CEC_NEXT_DEVICE fpCECNextDevice; 243 IOCTL_CEC_CHK_RX_BUF fpCECChkRxBuf; 244 IOCTL_CEC_TX_SEND_MSG fpCECTxSendMsg; 245 IOCTL_CEC_TX_SEND_MSG2 fpCECTxSendMsg2; 246 IOCTL_CEC_TX_SEND_POLLING_MSG fpCECTxSendPollingMsg; 247 IOCTL_CEC_MSG_ACTIVE_SOURCE fpCECMsgActiveSource; 248 IOCTL_CEC_MSG_ROUTING_CHANGE fpCECMsgRoutingChange; 249 IOCTL_CEC_MSG_REQ_ACTIVE_SOURCE fpCECMsgReqActiveSource; 250 IOCTL_CEC_MSG_SET_STREAM_PATH fpCECMsgSetStreamPath; 251 IOCTL_CEC_MSG_STANDBY fpCECMsgStandby; 252 IOCTL_CEC_MSG_RECORD_OFF fpCECMsgRecordOff; 253 IOCTL_CEC_MSG_RECORD_ON fpCECMsgRecordOn; 254 IOCTL_CEC_MSG_REPORT_CEC_VERSION fpCECMsgReportCECVersion; 255 IOCTL_CEC_MSG_REQ_CEC_VERSION fpCECMsgReqCECVersion; 256 IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS fpCECMsgReportPhycalAddress; 257 IOCTL_CEC_MSG_REQ_PHYCAL_ADDRESS fpCECMsgReqPhycalAddress; 258 IOCTL_CEC_MSG_DECK_CONTROL fpCECMsgDeckControl; 259 IOCTL_CEC_MSG_DEC_STATUS fpCECMsgDecStatus; 260 IOCTL_CEC_MSG_GIVE_DECK_STATUS fpCECMsgGiveDeckStatus; 261 IOCTL_CEC_MSG_DC_PLAY fpCECMsgDCPlay; 262 IOCTL_CEC_MSG_REQ_MENU_STATUS fpCECMsgReqMenuStatus; 263 IOCTL_CEC_MSG_USER_CTRL_PRESSED fpCECMsgUserCtrlPressed; 264 IOCTL_CEC_MSG_USER_CTRL_RELEASED fpCECMsgUserCtrlReleased; 265 IOCTL_CEC_MSG_GIVE_AUDIO_STATUS fpCECMsgGiveAudioStatus; 266 IOCTL_CEC_MSG_REPORT_POWER_STATUS fpCECMsgReportPowerStatus; 267 IOCTL_CEC_MSG_REQ_POWER_STATUS fpCECMsgReqPowerStatus; 268 IOCTL_CEC_MSG_FEATURE_ABORT fpCECMsgFeatureAbort; 269 IOCTL_CEC_MSG_ABORT fpCECMsgAbort; 270 IOCTL_CEC_MSG_SEND_MENU_LANGUAGE fpCECMsgSendMenuLanguage; 271 IOCTL_CEC_MSG_REQ_ARC_INITIATION fpCECMsgReqARCInitiation; 272 IOCTL_CEC_MSG_REQ_ARC_TERMINATION fpCECMsgReqARCTermination; 273 IOCTL_CEC_MSG_AUDIO_MODE_REQ fpCECMsgAudioModeReq; 274 IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS2 fpCECMsgReportPhycalAddress2; 275 IOCTL_CEC_CHECK_FRAME fpCECCheckFrame; 276 IOCTL_CEC_CONFIG_WAKE_UP fpCECConfigWakeUp; 277 IOCTL_CEC_ENABLED fpCECEnabled; 278 IOCTL_CEC_GET_TX_STATUS fpCECGetTxStatus; 279 IOCTL_CEC_DEVICE_IS_TX fpCECDeviceIsTx; 280 IOCTL_CEC_SET_POWER_STATE fpCECSetPowerState; 281 IOCTL_CEC_SET_MY_LOGICAL_ADDRESS2 fpCECSetMyLogicalAddress2; 282 IOCTL_CEC_GET_HEADER fpCECGetHeader; 283 IOCTL_CEC_GET_OPCODE fpCECGetOpCode; 284 IOCTL_CEC_GET_PARA fpCECGetPara; 285 IOCTL_CEC_GET_CMD_LEN fpCECGetCmdLen; 286 IOCTL_CEC_IS_RX_BUF_EMPTY fpCECIsRxBufEmpty; 287 IOCTL_CEC_SET_ACTIVE_LOGICAL_ADDRESS fpCECSetActiveLogicalAddress; 288 IOCTL_CEC_GET_ACTIVE_LOGICAL_ADDRESS fpCECGetActiveLogicalAddress; 289 IOCTL_CEC_GET_POWER_STATUS fpCECGetPowerStatus; 290 IOCTL_CEC_GET_FIFO_IDX fpCECGetFifoIdx; 291 IOCTL_CEC_SET_FIFO_IDX fpCECSetFifoIdx; 292 IOCTL_CEC_SET_ACTIVE_POWER_STATUS fpCECSetActivePowerStatus; 293 IOCTL_CEC_GET_ACTIVE_POWER_STATUS fpCECGetActivePowerStatus; 294 IOCTL_CEC_SET_ACTIVE_PHYSICAL_ADDRESS fpCECSetActivePhysicalAddress; 295 IOCTL_CEC_SET_ACTIVE_DEVICE_CEC_VERSION fpCECSetActiveDeviceCECVersion; 296 IOCTL_CEC_SET_ACTIVE_DEVICE_TYPE fpCECSetActiveDeviceType; 297 IOCTL_CEC_GET_MSG_CNT fpCECGetMsgCnt; 298 IOCTL_CEC_SET_MSG_CNT fpCECSetMsgCnt; 299 IOCTL_CEC_GET_RX_DATA fpCECGetRxData; 300 IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS fpCECSetMyPhysicalAddress; 301 IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS2 fpCECSetMyPhysicalAddress2; 302 IOCTL_CEC_SET_INITIATOR fpCECSetInitiator; 303 IOCTL_CEC_CONFIG_WAKEUP_INFO_VENDOR_ID fpCECConfigWakeUpInfoVendorID; 304 IOCTL_CEC_SET_RETRY_COUNT fpCECSetRetryCount; 305 IOCTL_CEC_ATTACH_DRIVER_ISR fpCECAttachDriverISR; 306 IOCTL_CEC_GET_CONFIGURATION fpCECGetConfiguration; 307 }CEC_INSTANT_PRIVATE; 308 309 typedef enum 310 { 311 CEC_POOL = 0, 312 CEC_POOL_MAX, 313 }eCECPoolID; 314 315 //------------------------------------------------------------------------------------------------- 316 // Global Variables 317 //------------------------------------------------------------------------------------------------- 318 319 //------------------------------------------------------------------------------------------------- 320 // Function Prototype 321 //------------------------------------------------------------------------------------------------- 322 323 #endif //_API_CEC_PRIVATE_H_ 324