xref: /freebsd-src/sys/compat/linux/linux_videodev_compat.h (revision 270e01d4686ea99ac9760a2cebb84d848352e28b)
1*7b6bedd3SAlexander Leidinger /*
2*7b6bedd3SAlexander Leidinger  * This file defines compatibility versions of several video structures
3*7b6bedd3SAlexander Leidinger  * defined in the Linux videodev.h header (linux_videodev.h).  The
4*7b6bedd3SAlexander Leidinger  * structures defined in this file are the ones that have been determined
5*7b6bedd3SAlexander Leidinger  * to have 32- to 64-bit size dependencies.
6*7b6bedd3SAlexander Leidinger  */
7*7b6bedd3SAlexander Leidinger 
8*7b6bedd3SAlexander Leidinger #ifndef _LINUX_VIDEODEV_COMPAT_H_
9*7b6bedd3SAlexander Leidinger #define	_LINUX_VIDEODEV_COMPAT_H_
10*7b6bedd3SAlexander Leidinger 
11*7b6bedd3SAlexander Leidinger struct l_video_tuner
12*7b6bedd3SAlexander Leidinger {
13*7b6bedd3SAlexander Leidinger 	l_int		tuner;
14*7b6bedd3SAlexander Leidinger #define LINUX_VIDEO_TUNER_NAME_SIZE	32
15*7b6bedd3SAlexander Leidinger 	char		name[LINUX_VIDEO_TUNER_NAME_SIZE];
16*7b6bedd3SAlexander Leidinger 	l_ulong		rangelow, rangehigh;
17*7b6bedd3SAlexander Leidinger 	uint32_t	flags;
18*7b6bedd3SAlexander Leidinger 	uint16_t	mode;
19*7b6bedd3SAlexander Leidinger 	uint16_t	signal;
20*7b6bedd3SAlexander Leidinger };
21*7b6bedd3SAlexander Leidinger 
22*7b6bedd3SAlexander Leidinger struct l_video_clip
23*7b6bedd3SAlexander Leidinger {
24*7b6bedd3SAlexander Leidinger 	int32_t		x, y;
25*7b6bedd3SAlexander Leidinger 	int32_t		width, height;
26*7b6bedd3SAlexander Leidinger 	l_uintptr_t	next;
27*7b6bedd3SAlexander Leidinger };
28*7b6bedd3SAlexander Leidinger 
29*7b6bedd3SAlexander Leidinger struct l_video_window
30*7b6bedd3SAlexander Leidinger {
31*7b6bedd3SAlexander Leidinger 	uint32_t	x, y;
32*7b6bedd3SAlexander Leidinger 	uint32_t	width, height;
33*7b6bedd3SAlexander Leidinger 	uint32_t	chromakey;
34*7b6bedd3SAlexander Leidinger 	uint32_t	flags;
35*7b6bedd3SAlexander Leidinger 	l_uintptr_t	clips;
36*7b6bedd3SAlexander Leidinger 	l_int		clipcount;
37*7b6bedd3SAlexander Leidinger };
38*7b6bedd3SAlexander Leidinger 
39*7b6bedd3SAlexander Leidinger struct l_video_buffer
40*7b6bedd3SAlexander Leidinger {
41*7b6bedd3SAlexander Leidinger 	l_uintptr_t	base;
42*7b6bedd3SAlexander Leidinger 	l_int		height, width;
43*7b6bedd3SAlexander Leidinger 	l_int		depth;
44*7b6bedd3SAlexander Leidinger 	l_int		bytesperline;
45*7b6bedd3SAlexander Leidinger };
46*7b6bedd3SAlexander Leidinger 
47*7b6bedd3SAlexander Leidinger struct l_video_code
48*7b6bedd3SAlexander Leidinger {
49*7b6bedd3SAlexander Leidinger #define LINUX_VIDEO_CODE_LOADWHAT_SIZE	16
50*7b6bedd3SAlexander Leidinger 	char		loadwhat[LINUX_VIDEO_CODE_LOADWHAT_SIZE];
51*7b6bedd3SAlexander Leidinger 	l_int		datasize;
52*7b6bedd3SAlexander Leidinger 	l_uintptr_t	data;
53*7b6bedd3SAlexander Leidinger };
54*7b6bedd3SAlexander Leidinger 
55*7b6bedd3SAlexander Leidinger #endif /* !_LINUX_VIDEODEV_COMPAT_H_ */
56