aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/dvb
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2017-09-01 07:48:02 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-09-05 06:10:33 -0400
commitfed7c4fe8bd0b131cc3f19ba2744061935cdcdb7 (patch)
tree1704c8f172d1090bac98bbc34551c468faa74a1c /include/uapi/linux/dvb
parent833ff5e7feda1a042b83e82208cef3d212ca0ef1 (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/dvb')
-rw-r--r--include/uapi/linux/dvb/ca.h78
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
29struct ca_slot_info { 50struct 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 */
47struct ca_descr_info { 79struct 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 */
55struct ca_caps { 97struct 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 */