Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
0002 /*
0003  * g_uvc.h  --  USB Video Class Gadget driver API
0004  *
0005  * Copyright (C) 2009-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
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 /* __LINUX_USB_G_UVC_H */