![]() |
DVBCore
22.11.0
Open Source DVB Engine
|
Application level CI Operator Profile functions. More...
#include <stdio.h>
#include <string.h>
#include "techtype.h"
#include "dbgfuncs.h"
#include "stbhwos.h"
#include "stberc.h"
#include "stbheap.h"
#include "stbuni.h"
#include "dba.h"
#include "app.h"
#include "ap_dbacc.h"
#include "ap_dbdef.h"
#include "ap_ci.h"
#include "ap_state.h"
#include "stbci.h"
#include "ci_appmmi.h"
#include "ap_ci_int.h"
#include "ap_ci_support.h"
#include "ap_ciop.h"
Classes | |
struct | ci_operator_nit |
struct | ci_host_info |
struct | ci_operator_search |
struct | s_op_status |
Macros | |
#define | DEBUG_OP |
#define | DBG_OP(x, ...) STB_SPDebugWrite( "%s:%d " x, __FUNCTION__, __LINE__, ##__VA_ARGS__); |
#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 | INVALID_MODULE 0xFFFFFFFF |
#define | CIP_NUM_FREE_LCNS 2 |
Typedefs | |
typedef struct ci_operator_nit | S_CIP_OPERATOR_NIT |
typedef struct ci_host_info | S_CIP_HOST_INFO |
typedef struct ci_operator_search | S_CIP_OPERATOR_SEARCH |
typedef struct s_op_status | S_OP_STATUS |
Enumerations | |
enum | E_CIP_OPERATOR_SEARCH_REQUEST_TYPE { CIP_OPERATOR_SEARCH_DEFERRED, CIP_OPERATOR_SEARCH_IMMEDIATE, CIP_OPERATOR_SEARCH_SCHEDULED } |
Functions | |
void | ACI_OpInitialise (void) |
Initialise CI Operator Profile support. | |
void | ACI_OpSlotRemove (U8BIT slot_id) |
Process CAM removal from slot for CA support. More... | |
BOOLEAN | ACI_RequestOperatorStatus (U32BIT module) |
Called by the host to request changing to an operator profile and request the operator status to be sent. More... | |
BOOLEAN | ACI_OperatorExit (void) |
Request the current operator module to exit operator profile. More... | |
BOOLEAN | ACI_StartOperatorSearch (U32BIT module) |
Called by the app to start an operator profile search that has been requested. More... | |
BOOLEAN | ACI_FindOperatorProfileModule (U32BIT cicam_id, U32BIT *module) |
Returns the Operator Profile module associated with a CICAM ID. More... | |
void | ACI_OpNotifyOperatorStatus (U32BIT module, S_STB_CI_OPERATOR_STATUS *status) |
This function is called by the CI+ stack to deliver the operator status to the host. This should be called if the CICAM supports the Operator Profile. This provides the module to be used for other Operator Profile related calls. More... | |
void | ACI_OpNotifyOperatorInfo (U32BIT module, U8BIT info_version, S_STB_CI_OPERATOR_INFO *info) |
This function is called by the CI+ stack to deliver the operator information to the host. More... | |
void | ACI_OpNotifyOperatorTune (U32BIT module, U16BIT desc_loop_len, U8BIT *desc_loop) |
This function is called by the CI+ stack to request that the host performs the tune request as described in the provided descriptors. The descriptor loop contains system delivery descriptors which the host must try in order until either an error condition is raised, the tune operation is successful or the descriptor loop is exhausted. The operation of the host should follow the pseudo code in section 14.7.5.11. When the tune attempt is done, the host must call the function ACI_OpSendOperatorTuneStatus with the results of the tune attempt. This function may be called during a profile search sequence. More... | |
void | ACI_OpNotifyOperatorSearchStatus (U32BIT module, S_STB_CI_OPERATOR_STATUS *status) |
This function is called by the CI+ stack to deliver the operator search status to the host. This function will be called at the end of a profile search sequence. More... | |
void | ACI_OpNotifyOperatorNit (U32BIT module, U16BIT nit_loop_length, U8BIT *nit_sections) |
This function is called by the CI+ stack to deliver the operator NIT to the host. The CICAM delivers zero or more NIT sections to the host. Each section is a complete NIT section including the CRC-32 field, and the sections are provided without any padding between them. The NIT section data must be copied if it used after this function returns. More... | |
BOOLEAN | ACI_OpAskRelease (U32BIT module) |
Ask the opertaor module to restore replaced PIDs. More... | |
BOOLEAN | ACI_OpTuneReply (U8BIT path, U32BIT module, E_STB_CI_TUNE_STATUS status) |
This function is called by the host to send the status of the tune operation to the module. More... | |
Application level CI Operator Profile functions.
BOOLEAN ACI_FindOperatorProfileModule | ( | U32BIT | cicam_id, |
U32BIT * | module | ||
) |
Returns the Operator Profile module associated with a CICAM ID.
cicam_id | CICAM ID |
module | Pointer to the Operator Profile module |
BOOLEAN ACI_OpAskRelease | ( | U32BIT | module | ) |
Ask the opertaor module to restore replaced PIDs.
module | specifies module required |
BOOLEAN ACI_OperatorExit | ( | void | ) |
Request the current operator module to exit operator profile.
void ACI_OpNotifyOperatorInfo | ( | U32BIT | module, |
U8BIT | info_version, | ||
S_STB_CI_OPERATOR_INFO * | info | ||
) |
This function is called by the CI+ stack to deliver the operator information to the host.
module | operator profile module |
info_version | operator information version |
info | operator information or NULL (if not valid) |
void ACI_OpNotifyOperatorNit | ( | U32BIT | module, |
U16BIT | nit_loop_length, | ||
U8BIT * | nit_sections | ||
) |
This function is called by the CI+ stack to deliver the operator NIT to the host. The CICAM delivers zero or more NIT sections to the host. Each section is a complete NIT section including the CRC-32 field, and the sections are provided without any padding between them. The NIT section data must be copied if it used after this function returns.
module | - operator profile module |
nit_loop_length | - length of NIT loop in bytes (may be 0) |
nit_sections | - NIT section(s), if any |
void ACI_OpNotifyOperatorSearchStatus | ( | U32BIT | module, |
S_STB_CI_OPERATOR_STATUS * | status | ||
) |
This function is called by the CI+ stack to deliver the operator search status to the host. This function will be called at the end of a profile search sequence.
module | operator profile module |
status | operator status |
void ACI_OpNotifyOperatorStatus | ( | U32BIT | module, |
S_STB_CI_OPERATOR_STATUS * | status | ||
) |
This function is called by the CI+ stack to deliver the operator status to the host. This should be called if the CICAM supports the Operator Profile. This provides the module to be used for other Operator Profile related calls.
module | operator profile module |
status | operator status |
void ACI_OpNotifyOperatorTune | ( | U32BIT | module, |
U16BIT | desc_loop_len, | ||
U8BIT * | desc_loop | ||
) |
This function is called by the CI+ stack to request that the host performs the tune request as described in the provided descriptors. The descriptor loop contains system delivery descriptors which the host must try in order until either an error condition is raised, the tune operation is successful or the descriptor loop is exhausted. The operation of the host should follow the pseudo code in section 14.7.5.11. When the tune attempt is done, the host must call the function ACI_OpSendOperatorTuneStatus with the results of the tune attempt. This function may be called during a profile search sequence.
module | operator profile module |
desc_loop_len | length of descriptor loop in bytes |
desc_loop | the descriptor loop |
void ACI_OpSlotRemove | ( | U8BIT | slot_id | ) |
Process CAM removal from slot for CA support.
slot_id | CI slot identifier |
BOOLEAN ACI_OpTuneReply | ( | U8BIT | path, |
U32BIT | module, | ||
E_STB_CI_TUNE_STATUS | status | ||
) |
This function is called by the host to send the status of the tune operation to the module.
path | - decode path used for tuning |
module | - host control module |
status | - tune operation status |
BOOLEAN ACI_RequestOperatorStatus | ( | U32BIT | module | ) |
Called by the host to request changing to an operator profile and request the operator status to be sent.
module | - operator profile module |
BOOLEAN ACI_StartOperatorSearch | ( | U32BIT | module | ) |
Called by the app to start an operator profile search that has been requested.
module | - operator module |