| 
Data Structures | 
| struct | ci_tune_service_info | 
| struct | ci_tune_del_sys_desc | 
| struct | ci_operator_nit | 
| struct | ci_host_info | 
| struct | ci_operator_info | 
| struct | ci_operator_search | 
| struct | ci_licence_update | 
| struct | ci_query_param | 
| struct | S_CIP_RELEASE_REPLY | 
| 
Defines | 
| #define | CIP_NO_CI_SCREEN   0 | 
| #define | CIP_CI_MENU_LIST_SCREEN   1 | 
| #define | CIP_CI_ENQUIRY_SCREEN   2 | 
| #define | CIP_URI_LEN   8 | 
| #define | CIP_CICAM_ID_LEN   8 | 
| #define | CIP_MAX_PIN_LENGTH   8 | 
| #define | CIP_PIN_PRIVATE_DATA_SIZE   15 | 
| #define | CIP_SERVICE_TYPE_TV   0x00000001   /* MPEG2 TV */ | 
| #define | CIP_SERVICE_TYPE_RADIO   0x00000002   /* MPEG1 Layer-II radio */ | 
| #define | CIP_SERVICE_TYPE_TELETEXT   0x00000004   /* Teletext */ | 
| #define | CIP_SERVICE_TYPE_AVC_RADIO   0x00000008   /* AVC radio */ | 
| #define | CIP_SERVICE_TYPE_DATA   0x00000010   /* Data */ | 
| #define | CIP_SERVICE_TYPE_HD_TV   0x00000020   /* MPEG2 HD TV */ | 
| #define | CIP_SERVICE_TYPE_AVC_SD_TV   0x00000040   /* AVC SD TV */ | 
| #define | CIP_SERVICE_TYPE_AVC_HD_TV   0x00000080   /* AVC HD TV */ | 
| #define | CIP_DELIVERY_TYPE_DVBT   0x0001 | 
| #define | CIP_DELIVERY_TYPE_DVBT2   0x0002 | 
| #define | CIP_DELIVERY_TYPE_DVBC   0x0004 | 
| #define | CIP_DELIVERY_TYPE_DVBC2   0x0008 | 
| #define | CIP_DELIVERY_TYPE_DVBS   0x0010 | 
| #define | CIP_DELIVERY_TYPE_DVBS2   0x0020 | 
| #define | CIP_APP_TYPE_MHEG   0x0001 | 
| #define | CIP_APP_TYPE_HBBTV   0x0002 | 
| #define | CIP_APP_TYPE_OIPF   0x0004 | 
| #define | CIP_START_OPERATOR_SEARCH_NO   0x00 | 
| #define | CIP_START_OPERATOR_SEARCH_YES   0x01 | 
| #define | CIP_START_OPERATOR_SEARCH_ASK   0x02 | 
| #define | CIP_RECORD_MODE_WATCH_AND_BUFFER   0x00 | 
| #define | CIP_RECORD_MODE_TIMESHIFT   0x01 | 
| #define | CIP_RECORD_MODE_UNATTENDED   0x02 | 
| #define | CIP_LICENCE_STATUS_OK   0x00 | 
| #define | CIP_LICENCE_STATUS_NO_ENTITLEMENT   0x01 | 
| #define | CIP_LICENCE_STATUS_UNDEFINED_ERROR   0x02 | 
| #define | CIP_LICENCE_STATUS_RIGHTS_EXPIRED   0x03 | 
| #define | CIP_LICENCE_STATUS_PLAY_COUNT_EXCEEDED   0x04 | 
| #define | CIP_LICENCE_STATUS_RETENTION_LIMIT_EXCEEDED   0x05 | 
| #define | CIP_LICENCE_STATUS_INVALID_LICENCE   0x06 | 
| #define | CIP_LICENCE_RECEIVED_OK   0x00 | 
| #define | CIP_LICENCE_RECEIVED_INVALID_DATA   0x01 | 
| #define | CIP_LICENCE_RECEIVED_HOST_ERROR   0x02 | 
| #define | CIP_CAM_PIN_CODE_WRONG   0 | 
| #define | CIP_CAM_PIN_CAM_BUSY   1 | 
| #define | CIP_CAM_PIN_CODE_CORRECT   2 | 
| #define | CIP_CAM_PIN_CODE_UNCONFIRMED   3 | 
| #define | CIP_CAM_PIN_NO_VIDEO_BLANK   4 | 
| #define | CIP_CAM_PIN_CONTENT_STILL_SCRAMBLED   5 | 
| 
Typedefs | 
| typedef struct ci_tune_service_info | S_CIP_TUNE_SERVICE_INFO | 
| typedef struct ci_tune_del_sys_desc | S_CIP_TUNE_DEL_SYS_DESC | 
| typedef struct ci_operator_nit | S_CIP_OPERATOR_NIT | 
| typedef struct ci_host_info | S_CIP_HOST_INFO | 
| typedef struct ci_operator_info | S_CIP_OPERATOR_INFO | 
| typedef struct ci_operator_search | S_CIP_OPERATOR_SEARCH | 
| typedef struct ci_licence_update | S_CIP_LICENCE_UPDATE | 
| typedef struct ci_query_param | S_CIP_QUERY_PARAM | 
| typedef U32BIT(* | F_CIP_CALLBACK )(S_CIP_QUERY_PARAM *) | 
| 
Enumerations | 
| enum | E_CI_QUERY { CIPLUS_GET_COUNTRY_CODE, 
CIPLUS_GET_LANGUAGE_CODE, 
CIPLUS_TUNE_TO_SERVICE, 
CIPLUS_TUNE_DEL_SYS_DESC,
 CIPLUS_CAM_UPGRADE_OPTION, 
CIPLUS_REQUEST_HOST_CONTROL, 
CIPLUS_RELEASE_HOST_CONTROL, 
CIPLUS_PROCESS_NIT,
 CIPLUS_REQUEST_HOST_INFO, 
CIPLUS_OPERATOR_TUNE, 
CIPLUS_REQUEST_OPERATOR_SEARCH, 
CIPLUS_OPERATOR_CAM_AVAILABLE,
 CIPLUS_OPERATOR_CAM_REMOVED, 
CIPLUS_GET_SUBTITLES_STARTED, 
CIPLUS_STOP_SUBTITLES, 
CIPLUS_START_SUBTITLES
 }
 | 
| enum | E_CIP_SLOT_STATUS { CIP_SLOT_STATUS_UNKNOWN =  0x0000, 
CIP_SLOT_STATUS_MODULE_READY =  0x0001, 
CIP_SLOT_STATUS_CA_USED =  0x0002, 
CIP_SLOT_STATUS_CAS_SUPPORTED =  0x0004,
 CIP_SLOT_STATUS_CI_PLUS_MODULE =  0x0008, 
CIP_SLOT_STATUS_SERVICE_ALLOWED =  0x0010
 }
 | 
| enum | E_CIP_TUNE_STATUS { CIP_TUNER_LOCKED, 
CIP_TUNER_NOTLOCKED, 
CIP_TUNER_BUSY, 
CIP_TUNER_UNSUPPORTED_SYSTEM,
 CIP_TUNER_BAD_PARAM, 
CIP_TUNER_SERVICE_NOT_FOUND, 
CIP_TUNER_UNDEFINED_ERROR
 }
 | 
| enum | E_CIP_OPERATOR_SEARCH_REQUEST_TYPE { CIP_OPERATOR_SEARCH_DEFERRED, 
CIP_OPERATOR_SEARCH_IMMEDIATE, 
CIP_OPERATOR_SEARCH_SCHEDULED
 } | 
| 
Functions | 
| void | CIP_OpenEngine (F_CIP_CALLBACK callback) | 
|  | Open CIPLUS engine. Must be called before any other CIPLUS related function. 
 | 
| void | CIP_EnterCIMenu (U8BIT slot_id) | 
|  | Enter CI menu. 
 | 
| U8BIT * | CIP_GetCIModuleName (U8BIT slot_id) | 
|  | Returns a pointer to the string containing the name of the module. 
 | 
| U8BIT | CIP_GetCIScreenType (U8BIT slot_id) | 
|  | Returns the screen type required, and also copies the required data into the current data for access by the application. 
 | 
| U8BIT * | CIP_GetCIMenuScreenTitle (U8BIT slot_id) | 
|  | Return a pointer to the menu/list screen title string. 
 | 
| U8BIT * | CIP_GetCIMenuScreenSubtitle (U8BIT slot_id) | 
|  | Returns a pointer to the menu/list screen subtitle string. 
 | 
| U8BIT | CIP_GetCIMenuScreenNumItems (U8BIT slot_id) | 
|  | Return the number of items on the menu/list screen. 
 | 
| U8BIT * | CIP_GetCIMenuScreenItemText (U8BIT slot_id, U8BIT item) | 
|  | Return a pointer to the string for the specified item on the menu/list screen. 
 | 
| U8BIT * | CIP_GetCIMenuScreenBottomText (U8BIT slot_id) | 
|  | Returns a pointer to the menu/list screen bottom text string. 
 | 
| void | CIP_SetCIMenuScreenResponse (U8BIT slot_id, U8BIT response) | 
|  | Send the response to the menu screen to the module. 
 | 
| U8BIT * | CIP_GetCIEnquiryScreenText (U8BIT slot_id) | 
|  | Returns a pointer to the enquiry screen text string. 
 | 
| U8BIT | CIP_GetCIEnqScreenHideResponse (U8BIT slot_id) | 
|  | Returns a value indicating whether the user response text should be hidden (e.g. pin number) or not. 
 | 
| U8BIT | CIP_GetCIEnqScreenResponseLength (U8BIT slot_id) | 
|  | Return the length of the required user response text. 
 | 
| void | CIP_SetCIEnquiryScreenResponse (U8BIT slot_id, U8BIT ok_cancel, U8BIT *response_str_ptr) | 
|  | sends a message to the CI+ stack to indicate the response to the enquiry screen 
 | 
| U8BIT | CIP_GetCIScreenCloseDelay (U8BIT slot_id) | 
|  | Return the delay required before closing the CI screen. 
 | 
| void | CIP_CloseCIScreen (U8BIT slot_id) | 
|  | Called by the application to close the MMI session. 
 | 
| void | CIP_SetHostCountryCode (U32BIT code) | 
|  | Set the Host Country code. 
 | 
| void | CIP_SetHostLanguageCode (U32BIT code) | 
|  | Set the Host Language code. 
 | 
| void | CIP_SetDisplayCharacterTables (U8BIT *tables, U16BIT len) | 
|  | Sets the display character tables supported by the receiver. The tables are provided as a single string containing the prefix byte(s) of encoded text strings as defined in annex A.2 of ETSI EN 300 468. For example, if ISO/IEC 8859-7 is supported by the receiver, then text strings starting with 0x03 and with 0x10 0x00 0x07 are supported. In this case the string would be "\x03\x10\x00\x07". 
 | 
| void | CIP_SetInputCharacterTables (U8BIT *tables, U16BIT len) | 
|  | Sets the input character tables supported by the receiver. The tables are provided as a single string containing the prefix byte(s) of encoded text strings as defined in annex A.2 of ETSI EN 300 468. For example, if ISO/IEC 8859-7 is supported by the receiver, then text strings starting with 0x03 and with 0x10 0x00 0x07 are supported. In this case the string would be "\x03\x10\x00\x07". 
 | 
| U16BIT | CIP_GetSlotStatus (U8BIT slot_id, U8BIT *pmt, U8BIT *ci_protection_descriptor) | 
|  | Return status of CI slot. 
 | 
| BOOLEAN | CIP_IsConditionalAccessUsed (U8BIT *pmt) | 
|  | Tell whether conditional access is used in the service. 
 | 
| void | CIP_ReportPmt (U8BIT slot_id, U8BIT *pmt) | 
|  | Report PMT to CI stack. 
 | 
| void | CIP_GetUsageRulesInfo (U8BIT slot_id, U16BIT service_id, U8BIT uri[CIP_URI_LEN]) | 
|  | Return the current URI for the given service. 
 | 
| void | CIP_GetDefaultUsageRulesInfo (U8BIT raw_uri[CIP_URI_LEN]) | 
|  | Sets the default URI values into the given array. The URI requires HDCP. 
 | 
| void | CIP_UpdateUsageRules (U8BIT orig_uri[CIP_URI_LEN], U8BIT new_uri[CIP_URI_LEN]) | 
|  | Update packed URI given a new packed URI. 
 | 
| U32BIT | CIP_GetRetentionLimit (U8BIT uri[CIP_URI_LEN]) | 
|  | Return the retention limit given a packed URI. 
 | 
| void | CIP_ApplyUsageRulesInfo (U8BIT *uri) | 
|  | Apply the given Usage Rules Information. 
 | 
| void | CIP_ApplyUsageRulesInfoForPlayback (U8BIT *uri) | 
|  | Apply the given Usage Rules Information for playback. 
 | 
| void | CIP_ApplyCCKeys (U8BIT path) | 
|  | Apply stored CC keys (if any) on given path. 
 | 
| void | CIP_ClearCCKeys (U8BIT path) | 
|  | Clear CC keys (if any) from given path. 
 | 
| BOOLEAN | CIP_IsHDCPRequired (U16BIT service_id) | 
|  | Tell whether the given service requires HDCP. 
 | 
| void | CIP_AppStopped (void) | 
|  | Should be called to notify CI+ that the running MHEG app has been stopped. 
 | 
| U8BIT | CIP_GetSlotIdForModule (U32BIT module) | 
|  | Returns the slot id for the given module handle. 
 | 
| BOOLEAN | CIP_TuneReply (U8BIT path, U32BIT module, E_CIP_TUNE_STATUS status) | 
|  | Called by the host to send the status of the tune operation to the module. 
 | 
| BOOLEAN | CIP_AskRelease (U32BIT module) | 
|  | Called by the host to ask the module to restore replaced PIDs and close the host control session. 
 | 
| BOOLEAN | CIP_RequestOperatorStatus (U32BIT module) | 
|  | Called by the host to request changing to an operator profile. 
 | 
| BOOLEAN | CIP_OperatorExit (void) | 
|  | Request the current operator module to exit operator profile. 
 | 
| BOOLEAN | CIP_StartOperatorSearch (U32BIT module) | 
|  | Called by the app to start an operator profile search that has been requested. 
 | 
| void | CIP_SetRecordOperatingMode (U8BIT slot_id, U8BIT mode, U16BIT service_id) | 
|  | Sets the record operating mode for the given slot id. 
 | 
| BOOLEAN | CIP_SendRecordStart (U8BIT slot_id, U16BIT program_number, U8BIT *pin_string) | 
|  | Called by the app when a recording is to be started on a CA protected service. 
 | 
| BOOLEAN | CIP_SendRecordStop (U8BIT slot_id) | 
|  | Called by the app when a recording is stopped or completes. 
 | 
| BOOLEAN | CIP_SendPlaybackLicence (U8BIT slot_id, U16BIT program_number, U8BIT *licence, U16BIT licence_len) | 
|  | Sends a CICAM licence to a module during playback, which will result in a modified licence being notified through STB_CINotifyCicamLicence. 
 | 
| U8BIT * | CIP_GetRecordingLicence (U8BIT slot_id, U8BIT *licence_status, U16BIT *licence_len, U8BIT raw_uri[CIP_URI_LEN]) | 
|  | Returns the last licence received from the CAM when recording. 
 | 
| U8BIT * | CIP_GetPlaybackLicence (U8BIT slot_id, U8BIT *licence_status, U16BIT *licence_len, U8BIT raw_uri[CIP_URI_LEN]) | 
|  | Returns the last licence received from the CAM during playback. 
 | 
| void | CIP_SendCicamLicenceStatus (U8BIT slot_id, U32BIT status) | 
|  | Must be called after a licence has been supplied during recording or playback to inform the CAM that the licence has been handled. 
 | 
| BOOLEAN | CIP_GetCicamId (U8BIT slot_id, U8BIT cicam_id[8]) | 
|  | Returns the CICAM identifier for the given slot. 
 | 
| U8BIT | CIP_FindSlotForCicamId (U8BIT cicam_id[8]) | 
|  | Checks CAMs in all slots to find the one with the given CAM id. 
 | 
| BOOLEAN | CIP_CheckCicamPin (U8BIT slot_id, U8BIT *pin_data) | 
|  | Called by the host to check whether a CAM pin is valid. An STB_EVENT_CI_PIN_STATUS event will be sent to notify the host of the validity, or otherwise, of the pin. 
 | 
| BOOLEAN | CIP_GetRecordingPinInfo (U8BIT slot_id, U8BIT *status, U8BIT *age_rating, U8BIT **private_data, U16BIT *date_code, U8BIT *hour, U8BIT *min, U8BIT *sec) | 
|  | Returns the information to be stored with a pin event when recording. 
 | 
| BOOLEAN | CIP_SendPinPlayback (U8BIT slot_id, U8BIT age_rating, U8BIT *private_data) | 
|  | Sends a pin event to the CAM during playback. 
 |