DVBCore  17.9.0
Open Source DVB Engine
 All Data Structures Files Functions Typedefs Macros Pages
ap_ci_int.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2016 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  *
4  * This file is part of a DTVKit Software Component
5  * You are permitted to copy, modify or distribute this file subject to the terms
6  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
7  *
8  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
9  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
10  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
11  *
12  * If you or your organisation is not a member of DTVKit then you have access
13  * to this source code outside of the terms of the licence agreement
14  * and you are expected to delete this and any associated files immediately.
15  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
16  *******************************************************************************/
24 #ifndef AP_CI_INT_H
25 #define AP_CI_INT_H
26 
27 /*---includes for this file--------------------------------------------------*/
28 
29 /* compiler library header files */
30 
31 /* third party header files */
32 
33 /* DVBCore header files */
34 #include "techtype.h"
35 #include "stbsitab.h"
36 
37 /*---Constant and macro definitions for public use-----------------------------*/
38 
39 /*---Enumerations for public use-----------------------------------------------*/
40 
41 typedef enum e_cip_tuner_status
42 {
43  CIP_TUNER_LOCKED, /* STB_CI_TUNE_OK */
44  CIP_TUNER_UNSUPPORTED_SYSTEM,
45  CIP_TUNER_NOTLOCKED,
46  CIP_TUNER_BUSY,
47  CIP_TUNER_BAD_PARAMETER,
48  CIP_TUNER_SERVICE_NOT_FOUND,
49  CIP_TUNER_UNDEFINED_ERROR
50 } E_CIP_TUNER_STATUS;
51 
52 /*---Global type defs for public use-------------------------------------------*/
53 
54 typedef struct
55 {
56  U32BIT module;
57  U8BIT reply;
58  U8BIT path;
60 
61 typedef struct adb_event_desc * pADB_EVENT_DESC;
62 
63 typedef struct ci_tune_del_sys_desc
64 {
65  SI_DELIVERY_SYS_DESC_TYPE type;
67  U16BIT service_id;
68  U8BIT *pmt;
69  U8BIT service_type;
70  SI_STRING_DESC *service_name;
71  pADB_EVENT_DESC event_desc;
73 
74 /*---Global Function prototypes for public use---------------------------------*/
75 
79 void ACI_Initialise(void);
80 
87 BOOLEAN ACI_HandlePrivateTimer(U32BIT timer_handle);
88 
93 BOOLEAN ACI_SetSecureRouting(U8BIT path);
94 
99 void ACI_UsageRulesStatusChanged(U8BIT path);
100 
105 void ACI_ProgramMapTableChanged(U8BIT *pmt);
106 
113 BOOLEAN ACI_IsTrustedPath(U8BIT path);
114 
120 void ACI_UseCiModuleOnPath(U8BIT path, U32BIT module);
121 
127 BOOLEAN ACI_PathOwnedByModule(U8BIT path, U32BIT module);
128 
134 void ACI_TuneToTransport(U32BIT module, void *t_ptr);
135 
141 void ACI_TuneToService(U32BIT module, void *s_ptr);
142 
149 void ACI_TuneToDelSysDesc(U32BIT module, S_CIP_TUNE_DEL_SYS_DESC *tune);
150 
157 BOOLEAN ACI_AskRelease(U32BIT module);
158 
159 
167 void ACI_TuneReply(U8BIT path, U32BIT module, E_CIP_TUNER_STATUS status);
168 
169 #endif /* AP_CI_INT_H */
170 
171 /******************************************************************************
172 ** End of file
173 ******************************************************************************/
void ACI_UseCiModuleOnPath(U8BIT path, U32BIT module)
Use the CI module with the given path.
Definition: ap_ci.c:2229
BOOLEAN ACI_PathOwnedByModule(U8BIT path, U32BIT module)
Checks whether path is owned by CI module.
Definition: ap_ci.c:2296
Definition: stbsitab.h:135
BOOLEAN ACI_IsTrustedPath(U8BIT path)
The given decode path is only trusted if it doesn't include a CI slot or the CI slot contains a CI+ C...
Definition: ap_ci.c:1664
void ACI_ProgramMapTableChanged(U8BIT *pmt)
Handle PMT change.
Definition: ap_ci.c:1614
Definition: ap_ci_int.h:54
BOOLEAN ACI_HandlePrivateTimer(U32BIT timer_handle)
Checks whether the given timer is associated with any of the CI+ profiles and starts the operator sea...
Definition: ap_ci.c:1268
void ACI_UsageRulesStatusChanged(U8BIT path)
Re-evaluate current state follwing a change related to usage rules.
Definition: ap_ci.c:1588
Definition: ap_dbdef.h:310
void ACI_TuneToDelSysDesc(U32BIT module, S_CIP_TUNE_DEL_SYS_DESC *tune)
Tune to a service/transport defined by a delivery system descriptor, possibly with PMT data...
Definition: ap_ci.c:2017
Header file - macros and function prototypes for public use.
System Wide Global Technical Data Type Definitions.
BOOLEAN ACI_SetSecureRouting(U8BIT path)
Ensures the TS is routed securely for CI+, either by setting the TS to pass through if a CI slot cont...
Definition: ap_ci.c:1356
BOOLEAN ACI_AskRelease(U32BIT module)
Ask the host control module to restore replaced PIDs and to close the session with the host control r...
Definition: ap_ci.c:2190
Definition: stbsitab.h:488
Definition: ap_ci_int.h:63
void ACI_TuneToService(U32BIT module, void *s_ptr)
Schedule a tune to a service.
Definition: ap_ci.c:1995
void ACI_Initialise(void)
Initialise CI Host Control support.
Definition: ap_ci.c:970
void ACI_TuneReply(U8BIT path, U32BIT module, E_CIP_TUNER_STATUS status)
This function is called by the host to send the status of the tune operation to the module...
Definition: ap_ci.c:2214
void ACI_TuneToTransport(U32BIT module, void *t_ptr)
Schedule a tune to a transport.
Definition: ap_ci.c:1976