|
@@ -26,7 +26,7 @@
|
|
|
|
|
|
/* slot interface types and info */
|
|
|
|
|
|
-typedef struct ca_slot_info {
|
|
|
+struct ca_slot_info {
|
|
|
int num; /* slot number */
|
|
|
|
|
|
int type; /* CA interface this slot supports */
|
|
@@ -39,52 +39,65 @@ typedef struct ca_slot_info {
|
|
|
unsigned int flags;
|
|
|
#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */
|
|
|
#define CA_CI_MODULE_READY 2
|
|
|
-} ca_slot_info_t;
|
|
|
+};
|
|
|
|
|
|
|
|
|
/* descrambler types and info */
|
|
|
|
|
|
-typedef struct ca_descr_info {
|
|
|
+struct ca_descr_info {
|
|
|
unsigned int num; /* number of available descramblers (keys) */
|
|
|
unsigned int type; /* type of supported scrambling system */
|
|
|
#define CA_ECD 1
|
|
|
#define CA_NDS 2
|
|
|
#define CA_DSS 4
|
|
|
-} ca_descr_info_t;
|
|
|
+};
|
|
|
|
|
|
-typedef struct ca_caps {
|
|
|
+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 */
|
|
|
-} ca_caps_t;
|
|
|
+};
|
|
|
|
|
|
/* a message to/from a CI-CAM */
|
|
|
-typedef struct ca_msg {
|
|
|
+struct ca_msg {
|
|
|
unsigned int index;
|
|
|
unsigned int type;
|
|
|
unsigned int length;
|
|
|
unsigned char msg[256];
|
|
|
-} ca_msg_t;
|
|
|
+};
|
|
|
|
|
|
-typedef struct ca_descr {
|
|
|
+struct ca_descr {
|
|
|
unsigned int index;
|
|
|
unsigned int parity; /* 0 == even, 1 == odd */
|
|
|
unsigned char cw[8];
|
|
|
-} ca_descr_t;
|
|
|
+};
|
|
|
|
|
|
-typedef struct ca_pid {
|
|
|
+struct ca_pid {
|
|
|
unsigned int pid;
|
|
|
int index; /* -1 == disable*/
|
|
|
-} ca_pid_t;
|
|
|
+};
|
|
|
|
|
|
#define CA_RESET _IO('o', 128)
|
|
|
-#define CA_GET_CAP _IOR('o', 129, ca_caps_t)
|
|
|
-#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
|
|
|
-#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
|
|
|
-#define CA_GET_MSG _IOR('o', 132, ca_msg_t)
|
|
|
-#define CA_SEND_MSG _IOW('o', 133, ca_msg_t)
|
|
|
-#define CA_SET_DESCR _IOW('o', 134, ca_descr_t)
|
|
|
-#define CA_SET_PID _IOW('o', 135, ca_pid_t)
|
|
|
+#define CA_GET_CAP _IOR('o', 129, struct ca_caps)
|
|
|
+#define CA_GET_SLOT_INFO _IOR('o', 130, struct ca_slot_info)
|
|
|
+#define CA_GET_DESCR_INFO _IOR('o', 131, struct ca_descr_info)
|
|
|
+#define CA_GET_MSG _IOR('o', 132, struct ca_msg)
|
|
|
+#define CA_SEND_MSG _IOW('o', 133, struct ca_msg)
|
|
|
+#define CA_SET_DESCR _IOW('o', 134, struct ca_descr)
|
|
|
+#define CA_SET_PID _IOW('o', 135, struct ca_pid)
|
|
|
+
|
|
|
+#if !defined (__KERNEL__)
|
|
|
+
|
|
|
+/* This is needed for legacy userspace support */
|
|
|
+typedef struct ca_slot_info ca_slot_info_t;
|
|
|
+typedef struct ca_descr_info ca_descr_info_t;
|
|
|
+typedef struct ca_caps ca_caps_t;
|
|
|
+typedef struct ca_msg ca_msg_t;
|
|
|
+typedef struct ca_descr ca_descr_t;
|
|
|
+typedef struct ca_pid ca_pid_t;
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
#endif
|