Commit 808048f5 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

[PATCH] update dvb headers

parent fd84584a
...@@ -47,10 +47,17 @@ typedef enum { ...@@ -47,10 +47,17 @@ typedef enum {
typedef enum { typedef enum {
AUDIO_STEREO, AUDIO_STEREO,
AUDIO_MONO_LEFT, AUDIO_MONO_LEFT,
AUDIO_MONO_RIGHT, AUDIO_MONO_RIGHT
} audio_channel_select_t; } audio_channel_select_t;
typedef struct audio_mixer {
unsigned int volume_left;
unsigned int volume_right;
// what else do we need? bass, pass-through, ...
} audio_mixer_t;
typedef struct audio_status { typedef struct audio_status {
int AV_sync_state; /* sync audio and video? */ int AV_sync_state; /* sync audio and video? */
int mute_state; /* audio is muted */ int mute_state; /* audio is muted */
...@@ -58,16 +65,10 @@ typedef struct audio_status { ...@@ -58,16 +65,10 @@ typedef struct audio_status {
audio_stream_source_t stream_source; /* current stream source */ audio_stream_source_t stream_source; /* current stream source */
audio_channel_select_t channel_select; /* currently selected channel */ audio_channel_select_t channel_select; /* currently selected channel */
int bypass_mode; /* pass on audio data to */ int bypass_mode; /* pass on audio data to */
audio_mixer_t mixer_state; /* current mixer state */
} audio_status_t; /* separate decoder hardware */ } audio_status_t; /* separate decoder hardware */
typedef struct audio_mixer {
unsigned int volume_left;
unsigned int volume_right;
// what else do we need? bass, pass-through, ...
} audio_mixer_t;
typedef typedef
struct audio_karaoke{ /* if Vocal1 or Vocal2 are non-zero, they get mixed */ struct audio_karaoke{ /* if Vocal1 or Vocal2 are non-zero, they get mixed */
int vocal1; /* into left and right t at 70% each */ int vocal1; /* into left and right t at 70% each */
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
* *
*/ */
#ifndef _CA_H_ #ifndef _DVBCA_H_
#define _CA_H_ #define _DVBCA_H_
/* slot interface types and info */ /* slot interface types and info */
...@@ -33,6 +33,7 @@ typedef struct ca_slot_info { ...@@ -33,6 +33,7 @@ typedef struct ca_slot_info {
#define CA_CI 1 /* CI high level interface */ #define CA_CI 1 /* CI high level interface */
#define CA_CI_LINK 2 /* CI link layer level interface */ #define CA_CI_LINK 2 /* CI link layer level interface */
#define CA_CI_PHYS 4 /* CI physical 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_SC 128 /* simple smart card interface */
unsigned int flags; unsigned int flags;
...@@ -68,10 +69,15 @@ typedef struct ca_msg { ...@@ -68,10 +69,15 @@ typedef struct ca_msg {
typedef struct ca_descr { typedef struct ca_descr {
unsigned int index; unsigned int index;
unsigned int parity; unsigned int parity; /* 0 == even, 1 == odd */
unsigned char cw[8]; unsigned char cw[8];
} ca_descr_t; } ca_descr_t;
typedef struct ca_pid {
unsigned int pid;
int index; /* -1 == disable*/
} ca_pid_t;
#define CA_RESET _IO('o', 128) #define CA_RESET _IO('o', 128)
#define CA_GET_CAP _IOR('o', 129, ca_caps_t) #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_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
...@@ -79,6 +85,7 @@ typedef struct ca_descr { ...@@ -79,6 +85,7 @@ typedef struct ca_descr {
#define CA_GET_MSG _IOR('o', 132, ca_msg_t) #define CA_GET_MSG _IOR('o', 132, ca_msg_t)
#define CA_SEND_MSG _IOW('o', 133, 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_DESCR _IOW('o', 134, ca_descr_t)
#define CA_SET_PID _IOW('o', 135, ca_pid_t)
#endif #endif
...@@ -21,13 +21,14 @@ ...@@ -21,13 +21,14 @@
* *
*/ */
#ifndef _DMX_H_ #ifndef _DVBDMX_H_
#define _DMX_H_ #define _DVBDMX_H_
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/types.h> #include <linux/types.h>
#else #else
#include <stdint.h> #include <stdint.h>
#include <time.h>
#endif #endif
#define DMX_FILTER_SIZE 16 #define DMX_FILTER_SIZE 16
...@@ -154,9 +155,15 @@ typedef enum { ...@@ -154,9 +155,15 @@ typedef enum {
DMX_SOURCE_DVR0 = 16, DMX_SOURCE_DVR0 = 16,
DMX_SOURCE_DVR1, DMX_SOURCE_DVR1,
DMX_SOURCE_DVR2, DMX_SOURCE_DVR2,
DMX_SOURCE_DVR3, DMX_SOURCE_DVR3
} dmx_source_t; } dmx_source_t;
struct dmx_stc {
unsigned int num; /* input : which STC? 0..N */
unsigned int base; /* output: divisor for stc to get 90 kHz clock */
uint64_t stc; /* output: stc in 'base'*90 kHz units */
};
#define DMX_START _IO('o',41) #define DMX_START _IO('o',41)
#define DMX_STOP _IO('o',42) #define DMX_STOP _IO('o',42)
...@@ -164,9 +171,10 @@ typedef enum { ...@@ -164,9 +171,10 @@ typedef enum {
#define DMX_SET_PES_FILTER _IOW('o',44,struct dmx_pes_filter_params) #define DMX_SET_PES_FILTER _IOW('o',44,struct dmx_pes_filter_params)
#define DMX_SET_BUFFER_SIZE _IO('o',45) #define DMX_SET_BUFFER_SIZE _IO('o',45)
#define DMX_GET_EVENT _IOR('o',46,struct dmx_event) #define DMX_GET_EVENT _IOR('o',46,struct dmx_event)
#define DMX_GET_PES_PIDS _IOR('o',47,uint16_t) #define DMX_GET_PES_PIDS _IOR('o',47,uint16_t[5])
#define DMX_GET_CAPS _IOR('o',48,dmx_caps_t) #define DMX_GET_CAPS _IOR('o',48,dmx_caps_t)
#define DMX_SET_SOURCE _IOW('o',49,dmx_source_t) #define DMX_SET_SOURCE _IOW('o',49,dmx_source_t)
#define DMX_GET_STC _IOWR('o',50,struct dmx_stc)
#endif /*_DMX_H_*/ #endif /*_DVBDMX_H_*/
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
* *
*/ */
#ifndef _FRONTEND_H_ #ifndef _DVBFRONTEND_H_
#define _FRONTEND_H_ #define _DVBFRONTEND_H_
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/types.h> #include <linux/types.h>
...@@ -33,14 +33,14 @@ ...@@ -33,14 +33,14 @@
#endif #endif
typedef enum { typedef enum fe_type {
FE_QPSK, FE_QPSK,
FE_QAM, FE_QAM,
FE_OFDM FE_OFDM
} fe_type_t; } fe_type_t;
typedef enum { typedef enum fe_caps {
FE_IS_STUPID = 0, FE_IS_STUPID = 0,
FE_CAN_INVERSION_AUTO = 0x1, FE_CAN_INVERSION_AUTO = 0x1,
FE_CAN_FEC_1_2 = 0x2, FE_CAN_FEC_1_2 = 0x2,
...@@ -63,6 +63,8 @@ typedef enum { ...@@ -63,6 +63,8 @@ typedef enum {
FE_CAN_BANDWIDTH_AUTO = 0x40000, FE_CAN_BANDWIDTH_AUTO = 0x40000,
FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
FE_CAN_HIERARCHY_AUTO = 0x100000, FE_CAN_HIERARCHY_AUTO = 0x100000,
FE_CAN_RECOVER = 0x20000000,
FE_CAN_CLEAN_SETUP = 0x40000000,
FE_CAN_MUTE_TS = 0x80000000 FE_CAN_MUTE_TS = 0x80000000
} fe_caps_t; } fe_caps_t;
...@@ -99,25 +101,25 @@ struct dvb_diseqc_slave_reply { ...@@ -99,25 +101,25 @@ struct dvb_diseqc_slave_reply {
}; /* errorcode when no message was received */ }; /* errorcode when no message was received */
typedef enum { typedef enum fe_sec_voltage {
SEC_VOLTAGE_13, SEC_VOLTAGE_13,
SEC_VOLTAGE_18 SEC_VOLTAGE_18
} fe_sec_voltage_t; } fe_sec_voltage_t;
typedef enum { typedef enum fe_sec_tone_mode {
SEC_TONE_ON, SEC_TONE_ON,
SEC_TONE_OFF SEC_TONE_OFF
} fe_sec_tone_mode_t; } fe_sec_tone_mode_t;
typedef enum { typedef enum fe_sec_mini_cmd {
SEC_MINI_A, SEC_MINI_A,
SEC_MINI_B SEC_MINI_B
} fe_sec_mini_cmd_t; } fe_sec_mini_cmd_t;
typedef enum { typedef enum fe_status {
FE_HAS_SIGNAL = 0x01, /* found something above the noise level */ FE_HAS_SIGNAL = 0x01, /* found something above the noise level */
FE_HAS_CARRIER = 0x02, /* found a DVB signal */ FE_HAS_CARRIER = 0x02, /* found a DVB signal */
FE_HAS_VITERBI = 0x04, /* FEC is stable */ FE_HAS_VITERBI = 0x04, /* FEC is stable */
...@@ -125,17 +127,17 @@ typedef enum { ...@@ -125,17 +127,17 @@ typedef enum {
FE_HAS_LOCK = 0x10, /* everything's working... */ FE_HAS_LOCK = 0x10, /* everything's working... */
FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */ FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */
FE_REINIT = 0x40 /* frontend was reinitialized, */ FE_REINIT = 0x40 /* frontend was reinitialized, */
} fe_status_t; /* application is recommned to reset */ } fe_status_t; /* application is recommended to reset */
/* DiSEqC, tone and parameters */ /* DiSEqC, tone and parameters */
typedef enum { typedef enum fe_spectral_inversion {
INVERSION_OFF, INVERSION_OFF,
INVERSION_ON, INVERSION_ON,
INVERSION_AUTO INVERSION_AUTO
} fe_spectral_inversion_t; } fe_spectral_inversion_t;
typedef enum { typedef enum fe_code_rate {
FEC_NONE = 0, FEC_NONE = 0,
FEC_1_2, FEC_1_2,
FEC_2_3, FEC_2_3,
...@@ -149,7 +151,7 @@ typedef enum { ...@@ -149,7 +151,7 @@ typedef enum {
} fe_code_rate_t; } fe_code_rate_t;
typedef enum { typedef enum fe_modulation {
QPSK, QPSK,
QAM_16, QAM_16,
QAM_32, QAM_32,
...@@ -160,13 +162,13 @@ typedef enum { ...@@ -160,13 +162,13 @@ typedef enum {
} fe_modulation_t; } fe_modulation_t;
typedef enum { typedef enum fe_transmit_mode {
TRANSMISSION_MODE_2K, TRANSMISSION_MODE_2K,
TRANSMISSION_MODE_8K, TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_AUTO TRANSMISSION_MODE_AUTO
} fe_transmit_mode_t; } fe_transmit_mode_t;
typedef enum { typedef enum fe_bandwidth {
BANDWIDTH_8_MHZ, BANDWIDTH_8_MHZ,
BANDWIDTH_7_MHZ, BANDWIDTH_7_MHZ,
BANDWIDTH_6_MHZ, BANDWIDTH_6_MHZ,
...@@ -174,7 +176,7 @@ typedef enum { ...@@ -174,7 +176,7 @@ typedef enum {
} fe_bandwidth_t; } fe_bandwidth_t;
typedef enum { typedef enum fe_guard_interval {
GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_32,
GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_16,
GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_8,
...@@ -183,7 +185,7 @@ typedef enum { ...@@ -183,7 +185,7 @@ typedef enum {
} fe_guard_interval_t; } fe_guard_interval_t;
typedef enum { typedef enum fe_hierarchy {
HIERARCHY_NONE, HIERARCHY_NONE,
HIERARCHY_1, HIERARCHY_1,
HIERARCHY_2, HIERARCHY_2,
...@@ -257,5 +259,5 @@ struct dvb_frontend_event { ...@@ -257,5 +259,5 @@ struct dvb_frontend_event {
#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event) #define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
#endif /*_FRONTEND_H_*/ #endif /*_DVBFRONTEND_H_*/
...@@ -39,6 +39,7 @@ struct dvb_net_if { ...@@ -39,6 +39,7 @@ struct dvb_net_if {
#define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if) #define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if)
#define NET_REMOVE_IF _IO('o', 53) #define NET_REMOVE_IF _IO('o', 53)
#define NET_GET_IF _IOWR('o', 54, struct dvb_net_if)
#endif /*_DVBNET_H_*/ #endif /*_DVBNET_H_*/
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <linux/types.h> #include <linux/types.h>
#else #else
#include <stdint.h> #include <stdint.h>
#include <time.h>
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment