4.1. CA Data Types¶
- 
struct ca_slot_info¶
- CA slot interface types and info. 
Definition:
struct ca_slot_info {
    int num;
    int type;
#define CA_CI            1;
#define CA_CI_LINK       2;
#define CA_CI_PHYS       4;
#define CA_DESCR         8;
#define CA_SC          128;
    unsigned int flags;
#define CA_CI_MODULE_PRESENT 1;
#define CA_CI_MODULE_READY   2;
};
Members
- num
- slot number. 
- type
- slot type. 
- flags
- flags applicable to the slot. 
Description
This struct stores the CA slot information.
type can be:
CA_CI- CI high level interface;
CA_CI_LINK- CI link layer level interface;
CA_CI_PHYS- CI physical layer level interface;
CA_DESCR- built-in descrambler;
CA_SC-simple smart card interface.
flags can be:
CA_CI_MODULE_PRESENT- module (or card) inserted;
CA_CI_MODULE_READY- module is ready for usage.
- 
struct ca_descr_info¶
- descrambler types and info. 
Definition:
struct ca_descr_info {
    unsigned int num;
    unsigned int type;
#define CA_ECD           1;
#define CA_NDS           2;
#define CA_DSS           4;
};
Members
- num
- number of available descramblers (keys). 
- type
- type of supported scrambling system. 
Description
Identifies the number of descramblers and their type.
type can be:
CA_ECD- European Common Descrambler (ECD) hardware;
CA_NDS- Videoguard (NDS) hardware;
CA_DSS- Distributed Sample Scrambling (DSS) hardware.
- 
struct ca_caps¶
- CA slot interface capabilities. 
Definition:
struct ca_caps {
    unsigned int slot_num;
    unsigned int slot_type;
    unsigned int descr_num;
    unsigned int descr_type;
};
Members
- slot_num
- total number of CA card and module slots. 
- slot_type
- bitmap with all supported types as defined at - struct ca_slot_info(e. g.- CA_CI,- CA_CI_LINK, etc).
- descr_num
- total number of descrambler slots (keys) 
- descr_type
- bitmap with all supported types as defined at - struct ca_descr_info(e. g.- CA_ECD,- CA_NDS, etc).
- 
struct ca_msg¶
- a message to/from a CI-CAM 
Definition:
struct ca_msg {
    unsigned int index;
    unsigned int type;
    unsigned int length;
    unsigned char msg[256];
};
Members
- index
- unused 
- type
- unused 
- length
- length of the message 
- msg
- message 
Description
This struct carries a message to be send/received from a CI CA module.
- 
struct ca_descr¶
- CA descrambler control words info 
Definition:
struct ca_descr {
    unsigned int index;
    unsigned int parity;
    unsigned char cw[8];
};
Members
- index
- CA Descrambler slot 
- parity
- control words parity, where 0 means even and 1 means odd 
- cw
- CA Descrambler control words