--- linux-2.4.10-pci64/include/linux/videodev2.h	Mon Sep 24 11:50:25 2001
+++ linux/include/linux/videodev2.h	Mon Sep 24 11:50:26 2001
@@ -75,6 +75,7 @@
 #define V4L2_FLAG_TUNER		0x00020 /* Can tune */
 #define V4L2_FLAG_MONOCHROME	0x00040 /* Monochrome only */
 #define V4L2_FLAG_DATA_SERVICE	0x00080 /* Has a related data service dev. */
+#define V4L2_FLAG_USERDMA       0x00100 /* Supports userspace buffers */
 
 
 /*
@@ -231,8 +232,11 @@
 {
 	int	count;
 	__u32	type;
-	__u32	reserved[2];
+	__u32	flags;
+	__u32	reserved[1];
 };
+#define V4L2_REQ_FLAG_USERDMA	0x0001
+
 struct v4l2_buffer
 {
 	int			index;
@@ -244,7 +248,14 @@
 	stamp_t			timestamp;
 	struct v4l2_timecode	timecode;
 	__u32			sequence;
-	__u32			reserved[3];
+	/* used instead of offset if V4L2_BUF_FLAG_USERDMA flag is set */
+	void                    *userptr;
+#if BITS_PER_LONG == 32
+	__u32			reserved[2];
+#endif
+#if BITS_PER_LONG == 64
+	__u32			reserved[1];
+#endif
 };
 /*  Buffer type codes and flags for 'type' field */
 #define V4L2_BUF_TYPE_field		0x00001FFF  /* Type field mask  */
@@ -281,6 +292,7 @@
 #define V4L2_BUF_FLAG_ODDFIELD	V4L2_BUF_FLAG_TOPFIELD
 #define V4L2_BUF_FLAG_EVENFIELD	V4L2_BUF_FLAG_BOTFIELD
 #define V4L2_BUF_FLAG_TIMECODE	0x0100	/* timecode field is valid */
+#define V4L2_BUF_FLAG_USERDMA	0x0200	/* userspace buffer */
 
 /*
  *	O V E R L A Y   P R E V I E W
