0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __LINUX_USB_G_UVC_H
0009 #define __LINUX_USB_G_UVC_H
0010
0011 #include <linux/ioctl.h>
0012 #include <linux/types.h>
0013 #include <linux/usb/ch9.h>
0014
0015 #define UVC_EVENT_FIRST (V4L2_EVENT_PRIVATE_START + 0)
0016 #define UVC_EVENT_CONNECT (V4L2_EVENT_PRIVATE_START + 0)
0017 #define UVC_EVENT_DISCONNECT (V4L2_EVENT_PRIVATE_START + 1)
0018 #define UVC_EVENT_STREAMON (V4L2_EVENT_PRIVATE_START + 2)
0019 #define UVC_EVENT_STREAMOFF (V4L2_EVENT_PRIVATE_START + 3)
0020 #define UVC_EVENT_SETUP (V4L2_EVENT_PRIVATE_START + 4)
0021 #define UVC_EVENT_DATA (V4L2_EVENT_PRIVATE_START + 5)
0022 #define UVC_EVENT_LAST (V4L2_EVENT_PRIVATE_START + 5)
0023
0024 struct uvc_request_data {
0025 __s32 length;
0026 __u8 data[60];
0027 };
0028
0029 struct uvc_event {
0030 union {
0031 enum usb_device_speed speed;
0032 struct usb_ctrlrequest req;
0033 struct uvc_request_data data;
0034 };
0035 };
0036
0037 #define UVCIOC_SEND_RESPONSE _IOW('U', 1, struct uvc_request_data)
0038
0039 #endif