diff options
Diffstat (limited to 'include/uapi/linux/dvb')
| -rw-r--r-- | include/uapi/linux/dvb/dmx.h | 63 | ||||
| -rw-r--r-- | include/uapi/linux/dvb/frontend.h | 40 | ||||
| -rw-r--r-- | include/uapi/linux/dvb/version.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/dvb/video.h | 20 | 
4 files changed, 94 insertions, 31 deletions
| diff --git a/include/uapi/linux/dvb/dmx.h b/include/uapi/linux/dvb/dmx.h index c10f1324b4ca..5f3c5a918f00 100644 --- a/include/uapi/linux/dvb/dmx.h +++ b/include/uapi/linux/dvb/dmx.h @@ -211,6 +211,61 @@ struct dmx_stc {  	__u64 stc;  }; +/** + * struct dmx_buffer - dmx buffer info + * + * @index:	id number of the buffer + * @bytesused:	number of bytes occupied by data in the buffer (payload); + * @offset:	for buffers with memory == DMX_MEMORY_MMAP; + *		offset from the start of the device memory for this plane, + *		(or a "cookie" that should be passed to mmap() as offset) + * @length:	size in bytes of the buffer + * + * Contains data exchanged by application and driver using one of the streaming + * I/O methods. + */ +struct dmx_buffer { +	__u32			index; +	__u32			bytesused; +	__u32			offset; +	__u32			length; +}; + +/** + * struct dmx_requestbuffers - request dmx buffer information + * + * @count:	number of requested buffers, + * @size:	size in bytes of the requested buffer + * + * Contains data used for requesting a dmx buffer. + * All reserved fields must be set to zero. + */ +struct dmx_requestbuffers { +	__u32			count; +	__u32			size; +}; + +/** + * struct dmx_exportbuffer - export of dmx buffer as DMABUF file descriptor + * + * @index:	id number of the buffer + * @flags:	flags for newly created file, currently only O_CLOEXEC is + *		supported, refer to manual of open syscall for more details + * @fd:		file descriptor associated with DMABUF (set by driver) + * + * Contains data used for exporting a dmx buffer as DMABUF file descriptor. + * The buffer is identified by a 'cookie' returned by DMX_QUERYBUF + * (identical to the cookie used to mmap() the buffer to userspace). All + * reserved fields must be set to zero. The field reserved0 is expected to + * become a structure 'type' allowing an alternative layout of the structure + * content. Therefore this field should not be used for any other extensions. + */ +struct dmx_exportbuffer { +	__u32		index; +	__u32		flags; +	__s32		fd; +}; +  #define DMX_START                _IO('o', 41)  #define DMX_STOP                 _IO('o', 42)  #define DMX_SET_FILTER           _IOW('o', 43, struct dmx_sct_filter_params) @@ -231,4 +286,10 @@ typedef struct dmx_filter dmx_filter_t;  #endif -#endif /* _UAPI_DVBDMX_H_ */ +#define DMX_REQBUFS              _IOWR('o', 60, struct dmx_requestbuffers) +#define DMX_QUERYBUF             _IOWR('o', 61, struct dmx_buffer) +#define DMX_EXPBUF               _IOWR('o', 62, struct dmx_exportbuffer) +#define DMX_QBUF                 _IOWR('o', 63, struct dmx_buffer) +#define DMX_DQBUF                _IOWR('o', 64, struct dmx_buffer) + +#endif /* _DVBDMX_H_ */ diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h index b297b65845d6..4f9b4551c534 100644 --- a/include/uapi/linux/dvb/frontend.h +++ b/include/uapi/linux/dvb/frontend.h @@ -547,7 +547,10 @@ enum fe_interleaving {  #define DTV_STAT_ERROR_BLOCK_COUNT	68  #define DTV_STAT_TOTAL_BLOCK_COUNT	69 -#define DTV_MAX_COMMAND		DTV_STAT_TOTAL_BLOCK_COUNT +/* Physical layer scrambling */ +#define DTV_SCRAMBLING_SEQUENCE_INDEX	70 + +#define DTV_MAX_COMMAND		DTV_SCRAMBLING_SEQUENCE_INDEX  /**   * enum fe_pilot - Type of pilot tone @@ -756,16 +759,15 @@ enum fecap_scale_params {  /**   * struct dtv_stats - Used for reading a DTV status property   * - * @scale:	Filled with enum fecap_scale_params - the scale - *		in usage for that parameter - * - * The ``{unnamed_union}`` may have either one of the values below: + * @scale: + *	Filled with enum fecap_scale_params - the scale in usage + *	for that parameter   * - * %svalue + * @svalue:   *	integer value of the measure, for %FE_SCALE_DECIBEL,   *	used for dB measures. The unit is 0.001 dB.   * - * %uvalue + * @uvalue:   *	unsigned integer value of the measure, used when @scale is   *	either %FE_SCALE_RELATIVE or %FE_SCALE_COUNTER.   * @@ -828,19 +830,19 @@ struct dtv_fe_stats {  /**   * struct dtv_property - store one of frontend command and its value   * - * @cmd:	Digital TV command. - * @reserved:	Not used. - * @u:		Union with the values for the command. - * @result:	Unused - * - * The @u union may have either one of the values below: + * @cmd:		Digital TV command. + * @reserved:		Not used. + * @u:			Union with the values for the command. + * @u.data:		A unsigned 32 bits integer with command value. + * @u.buffer:		Struct to store bigger properties. + *			Currently unused. + * @u.buffer.data:	an unsigned 32-bits array. + * @u.buffer.len:	number of elements of the buffer. + * @u.buffer.reserved1:	Reserved. + * @u.buffer.reserved2:	Reserved. + * @u.st:		a &struct dtv_fe_stats array of statistics. + * @result:		Currently unused.   * - * %data - *	an unsigned 32-bits number. - * %st - *	a &struct dtv_fe_stats array of statistics. - * %buffer - *	a buffer of up to 32 characters (currently unused).   */  struct dtv_property {  	__u32 cmd; diff --git a/include/uapi/linux/dvb/version.h b/include/uapi/linux/dvb/version.h index 02e32ea83984..2c5cffe6d2a0 100644 --- a/include/uapi/linux/dvb/version.h +++ b/include/uapi/linux/dvb/version.h @@ -25,6 +25,6 @@  #define _DVBVERSION_H_  #define DVB_API_VERSION 5 -#define DVB_API_VERSION_MINOR 10 +#define DVB_API_VERSION_MINOR 11  #endif /*_DVBVERSION_H_*/ diff --git a/include/uapi/linux/dvb/video.h b/include/uapi/linux/dvb/video.h index 4d51f98182bb..df3d7028c807 100644 --- a/include/uapi/linux/dvb/video.h +++ b/include/uapi/linux/dvb/video.h @@ -83,11 +83,11 @@ typedef enum {  #define VIDEO_CMD_CONTINUE    (3)  /* Flags for VIDEO_CMD_FREEZE */ -#define VIDEO_CMD_FREEZE_TO_BLACK     	(1 << 0) +#define VIDEO_CMD_FREEZE_TO_BLACK	(1 << 0)  /* Flags for VIDEO_CMD_STOP */ -#define VIDEO_CMD_STOP_TO_BLACK      	(1 << 0) -#define VIDEO_CMD_STOP_IMMEDIATELY     	(1 << 1) +#define VIDEO_CMD_STOP_TO_BLACK		(1 << 0) +#define VIDEO_CMD_STOP_IMMEDIATELY	(1 << 1)  /* Play input formats: */  /* The decoder has no special format requirements */ @@ -124,8 +124,8 @@ struct video_command {  /* FIELD_UNKNOWN can be used if the hardware does not know whether     the Vsync is for an odd, even or progressive (i.e. non-interlaced)     field. */ -#define VIDEO_VSYNC_FIELD_UNKNOWN  	(0) -#define VIDEO_VSYNC_FIELD_ODD 		(1) +#define VIDEO_VSYNC_FIELD_UNKNOWN	(0) +#define VIDEO_VSYNC_FIELD_ODD		(1)  #define VIDEO_VSYNC_FIELD_EVEN		(2)  #define VIDEO_VSYNC_FIELD_PROGRESSIVE	(3) @@ -133,8 +133,8 @@ struct video_event {  	__s32 type;  #define VIDEO_EVENT_SIZE_CHANGED	1  #define VIDEO_EVENT_FRAME_RATE_CHANGED	2 -#define VIDEO_EVENT_DECODER_STOPPED 	3 -#define VIDEO_EVENT_VSYNC 		4 +#define VIDEO_EVENT_DECODER_STOPPED	3 +#define VIDEO_EVENT_VSYNC		4  	/* unused, make sure to use atomic time for y2038 if it ever gets used */  	long timestamp;  	union { @@ -268,9 +268,9 @@ typedef __u16 video_attributes_t;  #define VIDEO_GET_PTS              _IOR('o', 57, __u64)  /* Read the number of displayed frames since the decoder was started */ -#define VIDEO_GET_FRAME_COUNT  	   _IOR('o', 58, __u64) +#define VIDEO_GET_FRAME_COUNT	   _IOR('o', 58, __u64) -#define VIDEO_COMMAND     	   _IOWR('o', 59, struct video_command) -#define VIDEO_TRY_COMMAND 	   _IOWR('o', 60, struct video_command) +#define VIDEO_COMMAND		   _IOWR('o', 59, struct video_command) +#define VIDEO_TRY_COMMAND	   _IOWR('o', 60, struct video_command)  #endif /* _UAPI_DVBVIDEO_H_ */ |