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