@ -24,39 +24,81 @@
# ifndef _DVBCA_H_
# define _DVBCA_H_
/* slot interface types and info */
/**
* struct ca_slot_info - CA slot interface types and info .
*
* @ num : slot number .
* @ type : slot type .
* @ flags : flags applicable to the slot .
*
* 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_slot_info {
int num ; /* slot number */
int type ; /* CA interface this slot supports */
# define CA_CI 1 /* CI high level interface */
# define CA_CI_LINK 2 /* CI link layer level interface */
# define CA_CI_PHYS 4 /* CI physical layer level interface */
# define CA_DESCR 8 /* built-in descrambler */
# define CA_SC 128 /* simple smart card interface */
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 /* module (or card) inserted */
# define CA_CI_MODULE_PRESENT 1
# define CA_CI_MODULE_READY 2
} ;
/* descrambler types and info */
/**
* struct ca_descr_info - descrambler types and info .
*
* @ num : number of available descramblers ( keys ) .
* @ type : type of supported scrambling system .
*
* 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_descr_info {
unsigned int num ; /* number of available descramblers (keys) */
unsigned int type ; /* type of supported scrambling system */
unsigned int num ;
unsigned int type ;
# define CA_ECD 1
# define CA_NDS 2
# define CA_DSS 4
} ;
/**
* struct ca_caps - CA slot interface capabilities .
*
* @ 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_caps {
unsigned int slot_num ; /* total number of CA card and module slots */
unsigned int slot_type ; /* OR of all supported types */
unsigned int descr_num ; /* total number of descrambler slots (keys) */
unsigned int descr_type ; /* OR of all supported types */
unsigned int slot_num ;
unsigned int slot_type ;
unsigned int descr_num ;
unsigned int descr_type ;
} ;
/* a message to/from a CI-CAM */