summaryrefslogtreecommitdiff
path: root/linux/include
diff options
context:
space:
mode:
authorSteven Toth <stoth@linuxtv.org>2008-09-11 09:23:01 -0400
committerSteven Toth <stoth@linuxtv.org>2008-09-11 09:23:01 -0400
commit991e6d40e8d9894e3dba60323fad2c7b79948788 (patch)
tree52c1a1169ed7c860882cc7581cd9957c8ff5ce46 /linux/include
parent68901d77882c18dcb4f6e1fa0309e93893f1a7a0 (diff)
downloadmediapointer-dvb-s2-991e6d40e8d9894e3dba60323fad2c7b79948788.tar.gz
mediapointer-dvb-s2-991e6d40e8d9894e3dba60323fad2c7b79948788.tar.bz2
S2API: typedefs replaced, _SEQ_'s removed, fixed 16 command arrays replaced
From: Steven Toth <stoth@linuxtv.org> After discussion the following changes were made: 1. Removed the typedefs in frontend.h, use structures. 2. In the frontend.h, remove the 16 command limit on the API and switch to a flexible variable length API. For practical reasons a #define limits this to 64, this should be discussed. 3. Changed dvb-core ioctl handing to deal with variable sequences of commands. tune-v0.0.3.c is required to use this API, it contains the interface changes. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
Diffstat (limited to 'linux/include')
-rw-r--r--linux/include/linux/dvb/frontend.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/linux/include/linux/dvb/frontend.h b/linux/include/linux/dvb/frontend.h
index aeace74b5..f667bf377 100644
--- a/linux/include/linux/dvb/frontend.h
+++ b/linux/include/linux/dvb/frontend.h
@@ -251,11 +251,8 @@ struct dvb_frontend_event {
* binary compatability.
*/
typedef enum dtv_cmd_types {
- DTV_SEQ_UNDEFINED,
- DTV_SEQ_START,
- DTV_SEQ_CONTINUE,
- DTV_SEQ_COMPLETE,
- DTV_SEQ_TERMINATE,
+ DTV_TUNE,
+ DTV_CLEAR,
DTV_SET_FREQUENCY,
DTV_SET_MODULATION,
@@ -348,22 +345,32 @@ struct dtv_cmds_h {
__u32 reserved:30; /* Align */
};
-typedef struct {
+struct dtv_property {
__u32 cmd;
+ __u32 reserved[3];
union {
+ __s32 valuemin;
+ __s32 valuemax;
__u32 data;
struct {
__u8 data[32];
__u32 len;
+ __u32 reserved1[3];
+ void *reserved2;
} buffer;
} u;
-} dtv_property_t;
+} __attribute__ ((packed));
/* No more than 16 properties during any given ioctl */
-typedef dtv_property_t dtv_properties_t[16];
+struct dtv_properties {
+ __u32 num;
+ struct dtv_property *props;
+};
+
+#define DTV_IOCTL_MAX_MSGS 64
-#define FE_SET_PROPERTY _IOW('o', 82, dtv_properties_t)
-#define FE_GET_PROPERTY _IOR('o', 83, dtv_properties_t)
+#define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
+#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
/**