Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Possible changes to dvb ca interface
Hi, heres a patch with the changes I'm proposing. As the v4 API should sort
most of these things out, and I don't want to break the existing API, the
changes are as minimal as possible.
As I can see the naming of the CA_CI_LINK value is going to be contentious, I
suggest just changing it to CA_EN50221, and deprecating the old name (but
keeping the values the same to preserve APIs). I find telling userspace that
the driver implements the link level protocol when it's actually expecting
transport level packets very confusing, and a wee bit inconsistent.
As for CA_CI and CA_SC, nothing implements them (any more). And its pointless
having CA_CI_PHYS because I've just spent several days implementing a generic
layer on top of it!
The other change is to ca_msg, so I can pass the connection_id in without
doing anything hacky with the msg buffer.
Index: ca.h
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/include/linux/dvb/ca.h,v
retrieving revision 1.3
diff -a -u -b -r1.3 ca.h
--- ca.h 7 Mar 2003 11:40:08 -0000 1.3
+++ ca.h 29 Jan 2004 20:24:09 -0000
@@ -30,11 +30,14 @@
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 */
+#define CA_EN50221 2 /* EN50221 transport layer */
+#define CA_DESCR 8 /* Built-in descrambler */
+#define CA_ALPHACAM 16 /* Alphacam proprietary interface */
+
+#define CA_CI 1 /* Deprecated */
+#define CA_CI_LINK 2 /* Deprecated */
+#define CA_CI_PHYS 4 /* Deprecated */
+#define CA_SC 128 /* Deprecated */
unsigned int flags;
#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */
@@ -61,8 +64,14 @@
/* a message to/from a CI-CAM */
typedef struct ca_msg {
- unsigned int index;
- unsigned int type;
+ unsigned int index; /* slot message is destined for */
+ unsigned int type; /* message type. One of the values defined
for ca_slot_info->type */
+ union {
+ struct {
+ unsigned char connection_id;
+ } en50221;
+ } params;
+
unsigned int length;
unsigned char msg[256];
} ca_msg_t;
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index