xref: /freebsd/sys/compat/linux/linux_videodev_compat.h (revision 270e01d4686ea99ac9760a2cebb84d848352e28b)
17b6bedd3SAlexander Leidinger /*
27b6bedd3SAlexander Leidinger  * This file defines compatibility versions of several video structures
37b6bedd3SAlexander Leidinger  * defined in the Linux videodev.h header (linux_videodev.h).  The
47b6bedd3SAlexander Leidinger  * structures defined in this file are the ones that have been determined
57b6bedd3SAlexander Leidinger  * to have 32- to 64-bit size dependencies.
67b6bedd3SAlexander Leidinger  */
77b6bedd3SAlexander Leidinger 
87b6bedd3SAlexander Leidinger #ifndef _LINUX_VIDEODEV_COMPAT_H_
97b6bedd3SAlexander Leidinger #define	_LINUX_VIDEODEV_COMPAT_H_
107b6bedd3SAlexander Leidinger 
117b6bedd3SAlexander Leidinger struct l_video_tuner
127b6bedd3SAlexander Leidinger {
137b6bedd3SAlexander Leidinger 	l_int		tuner;
147b6bedd3SAlexander Leidinger #define LINUX_VIDEO_TUNER_NAME_SIZE	32
157b6bedd3SAlexander Leidinger 	char		name[LINUX_VIDEO_TUNER_NAME_SIZE];
167b6bedd3SAlexander Leidinger 	l_ulong		rangelow, rangehigh;
177b6bedd3SAlexander Leidinger 	uint32_t	flags;
187b6bedd3SAlexander Leidinger 	uint16_t	mode;
197b6bedd3SAlexander Leidinger 	uint16_t	signal;
207b6bedd3SAlexander Leidinger };
217b6bedd3SAlexander Leidinger 
227b6bedd3SAlexander Leidinger struct l_video_clip
237b6bedd3SAlexander Leidinger {
247b6bedd3SAlexander Leidinger 	int32_t		x, y;
257b6bedd3SAlexander Leidinger 	int32_t		width, height;
267b6bedd3SAlexander Leidinger 	l_uintptr_t	next;
277b6bedd3SAlexander Leidinger };
287b6bedd3SAlexander Leidinger 
297b6bedd3SAlexander Leidinger struct l_video_window
307b6bedd3SAlexander Leidinger {
317b6bedd3SAlexander Leidinger 	uint32_t	x, y;
327b6bedd3SAlexander Leidinger 	uint32_t	width, height;
337b6bedd3SAlexander Leidinger 	uint32_t	chromakey;
347b6bedd3SAlexander Leidinger 	uint32_t	flags;
357b6bedd3SAlexander Leidinger 	l_uintptr_t	clips;
367b6bedd3SAlexander Leidinger 	l_int		clipcount;
377b6bedd3SAlexander Leidinger };
387b6bedd3SAlexander Leidinger 
397b6bedd3SAlexander Leidinger struct l_video_buffer
407b6bedd3SAlexander Leidinger {
417b6bedd3SAlexander Leidinger 	l_uintptr_t	base;
427b6bedd3SAlexander Leidinger 	l_int		height, width;
437b6bedd3SAlexander Leidinger 	l_int		depth;
447b6bedd3SAlexander Leidinger 	l_int		bytesperline;
457b6bedd3SAlexander Leidinger };
467b6bedd3SAlexander Leidinger 
477b6bedd3SAlexander Leidinger struct l_video_code
487b6bedd3SAlexander Leidinger {
497b6bedd3SAlexander Leidinger #define LINUX_VIDEO_CODE_LOADWHAT_SIZE	16
507b6bedd3SAlexander Leidinger 	char		loadwhat[LINUX_VIDEO_CODE_LOADWHAT_SIZE];
517b6bedd3SAlexander Leidinger 	l_int		datasize;
527b6bedd3SAlexander Leidinger 	l_uintptr_t	data;
537b6bedd3SAlexander Leidinger };
547b6bedd3SAlexander Leidinger 
557b6bedd3SAlexander Leidinger #endif /* !_LINUX_VIDEODEV_COMPAT_H_ */
56