43 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * g_uvc.h -- USB Video Class Gadget driver API4 *5 * Copyright (C) 2009-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com>6 */7 8#ifndef __LINUX_USB_G_UVC_H9#define __LINUX_USB_G_UVC_H10 11#include <linux/ioctl.h>12#include <linux/types.h>13#include <linux/usb/ch9.h>14 15#define UVC_EVENT_FIRST (V4L2_EVENT_PRIVATE_START + 0)16#define UVC_EVENT_CONNECT (V4L2_EVENT_PRIVATE_START + 0)17#define UVC_EVENT_DISCONNECT (V4L2_EVENT_PRIVATE_START + 1)18#define UVC_EVENT_STREAMON (V4L2_EVENT_PRIVATE_START + 2)19#define UVC_EVENT_STREAMOFF (V4L2_EVENT_PRIVATE_START + 3)20#define UVC_EVENT_SETUP (V4L2_EVENT_PRIVATE_START + 4)21#define UVC_EVENT_DATA (V4L2_EVENT_PRIVATE_START + 5)22#define UVC_EVENT_LAST (V4L2_EVENT_PRIVATE_START + 5)23 24#define UVC_STRING_CONTROL_IDX 025#define UVC_STRING_STREAMING_IDX 126 27struct uvc_request_data {28 __s32 length;29 __u8 data[60];30};31 32struct uvc_event {33 union {34 enum usb_device_speed speed;35 struct usb_ctrlrequest req;36 struct uvc_request_data data;37 };38};39 40#define UVCIOC_SEND_RESPONSE _IOW('U', 1, struct uvc_request_data)41 42#endif /* __LINUX_USB_G_UVC_H */43