diff options
| author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-09-01 07:48:02 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-09-05 06:10:33 -0400 |
| commit | fed7c4fe8bd0b131cc3f19ba2744061935cdcdb7 (patch) | |
| tree | 1704c8f172d1090bac98bbc34551c468faa74a1c /include/uapi/linux | |
| parent | 833ff5e7feda1a042b83e82208cef3d212ca0ef1 (diff) | |
media: ca.h: document most CA data types
For most of the stuff there, documenting is easy, as the
header file contains information.
Yet, I was unable to document two data structs:
ca_msg and ca_descr
As those two structs are used by a few drivers, keep them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/dvb/ca.h | 78 |
1 files changed, 60 insertions, 18 deletions
diff --git a/include/uapi/linux/dvb/ca.h b/include/uapi/linux/dvb/ca.h index 859f6c0c4751..7ee641b4124c 100644 --- a/include/uapi/linux/dvb/ca.h +++ b/include/uapi/linux/dvb/ca.h | |||
| @@ -24,39 +24,81 @@ | |||
| 24 | #ifndef _DVBCA_H_ | 24 | #ifndef _DVBCA_H_ |
| 25 | #define _DVBCA_H_ | 25 | #define _DVBCA_H_ |
| 26 | 26 | ||
| 27 | /* slot interface types and info */ | 27 | /** |
| 28 | * struct ca_slot_info - CA slot interface types and info. | ||
| 29 | * | ||
| 30 | * @num: slot number. | ||
| 31 | * @type: slot type. | ||
| 32 | * @flags: flags applicable to the slot. | ||
| 33 | * | ||
| 34 | * This struct stores the CA slot information. | ||
| 35 | * | ||
| 36 | * @type can be: | ||
| 37 | * | ||
| 38 | * - %CA_CI - CI high level interface; | ||
| 39 | * - %CA_CI_LINK - CI link layer level interface; | ||
| 40 | * - %CA_CI_PHYS - CI physical layer level interface; | ||
| 41 | * - %CA_DESCR - built-in descrambler; | ||
| 42 | * - %CA_SC -simple smart card interface. | ||
| 43 | * | ||
| 44 | * @flags can be: | ||
| 45 | * | ||
| 46 | * - %CA_CI_MODULE_PRESENT - module (or card) inserted; | ||
| 47 | * - %CA_CI_MODULE_READY - module is ready for usage. | ||
| 48 | */ | ||
| 28 | 49 | ||
| 29 | struct ca_slot_info { | 50 | struct ca_slot_info { |
| 30 | int num; /* slot number */ | 51 | int num; |
| 31 | 52 | int type; | |
| 32 | int type; /* CA interface this slot supports */ | 53 | #define CA_CI 1 |
| 33 | #define CA_CI 1 /* CI high level interface */ | 54 | #define CA_CI_LINK 2 |
| 34 | #define CA_CI_LINK 2 /* CI link layer level interface */ | 55 | #define CA_CI_PHYS 4 |
| 35 | #define CA_CI_PHYS 4 /* CI physical layer level interface */ | 56 | #define CA_DESCR 8 |
| 36 | #define CA_DESCR 8 /* built-in descrambler */ | 57 | #define CA_SC 128 |
| 37 | #define CA_SC 128 /* simple smart card interface */ | ||
| 38 | 58 | ||
| 39 | unsigned int flags; | 59 | unsigned int flags; |
| 40 | #define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ | 60 | #define CA_CI_MODULE_PRESENT 1 |
| 41 | #define CA_CI_MODULE_READY 2 | 61 | #define CA_CI_MODULE_READY 2 |
| 42 | }; | 62 | }; |
| 43 | 63 | ||
| 44 | 64 | ||
| 45 | /* descrambler types and info */ | 65 | /** |
| 46 | 66 | * struct ca_descr_info - descrambler types and info. | |
| 67 | * | ||
| 68 | * @num: number of available descramblers (keys). | ||
| 69 | * @type: type of supported scrambling system. | ||
| 70 | * | ||
| 71 | * Identifies the number of descramblers and their type. | ||
| 72 | * | ||
| 73 | * @type can be: | ||
| 74 | * | ||
| 75 | * - %CA_ECD - European Common Descrambler (ECD) hardware; | ||
| 76 | * - %CA_NDS - Videoguard (NDS) hardware; | ||
| 77 | * - %CA_DSS - Distributed Sample Scrambling (DSS) hardware. | ||
| 78 | */ | ||
| 47 | struct ca_descr_info { | 79 | struct ca_descr_info { |
| 48 | unsigned int num; /* number of available descramblers (keys) */ | 80 | unsigned int num; |
| 49 | unsigned int type; /* type of supported scrambling system */ | 81 | unsigned int type; |
| 50 | #define CA_ECD 1 | 82 | #define CA_ECD 1 |
| 51 | #define CA_NDS 2 | 83 | #define CA_NDS 2 |
| 52 | #define CA_DSS 4 | 84 | #define CA_DSS 4 |
| 53 | }; | 85 | }; |
| 54 | 86 | ||
| 87 | /** | ||
| 88 | * struct ca_caps - CA slot interface capabilities. | ||
| 89 | * | ||
| 90 | * @slot_num: total number of CA card and module slots. | ||
| 91 | * @slot_type: bitmap with all supported types as defined at | ||
| 92 | * &struct ca_slot_info (e. g. %CA_CI, %CA_CI_LINK, etc). | ||
| 93 | * @descr_num: total number of descrambler slots (keys) | ||
| 94 | * @descr_type: bitmap with all supported types as defined at | ||
| 95 | * &struct ca_descr_info (e. g. %CA_ECD, %CA_NDS, etc). | ||
| 96 | */ | ||
| 55 | struct ca_caps { | 97 | struct ca_caps { |
| 56 | unsigned int slot_num; /* total number of CA card and module slots */ | 98 | unsigned int slot_num; |
| 57 | unsigned int slot_type; /* OR of all supported types */ | 99 | unsigned int slot_type; |
| 58 | unsigned int descr_num; /* total number of descrambler slots (keys) */ | 100 | unsigned int descr_num; |
| 59 | unsigned int descr_type; /* OR of all supported types */ | 101 | unsigned int descr_type; |
| 60 | }; | 102 | }; |
| 61 | 103 | ||
| 62 | /* a message to/from a CI-CAM */ | 104 | /* a message to/from a CI-CAM */ |
