g_uvc.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * g_uvc.h -- USB Video Class Gadget driver API
  4. *
  5. * Copyright (C) 2009-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  6. */
  7. #ifndef __LINUX_USB_G_UVC_H
  8. #define __LINUX_USB_G_UVC_H
  9. #include <linux/ioctl.h>
  10. #include <linux/types.h>
  11. #include <linux/usb/ch9.h>
  12. #define UVC_EVENT_FIRST (V4L2_EVENT_PRIVATE_START + 0)
  13. #define UVC_EVENT_CONNECT (V4L2_EVENT_PRIVATE_START + 0)
  14. #define UVC_EVENT_DISCONNECT (V4L2_EVENT_PRIVATE_START + 1)
  15. #define UVC_EVENT_STREAMON (V4L2_EVENT_PRIVATE_START + 2)
  16. #define UVC_EVENT_STREAMOFF (V4L2_EVENT_PRIVATE_START + 3)
  17. #define UVC_EVENT_SETUP (V4L2_EVENT_PRIVATE_START + 4)
  18. #define UVC_EVENT_DATA (V4L2_EVENT_PRIVATE_START + 5)
  19. #define UVC_EVENT_LAST (V4L2_EVENT_PRIVATE_START + 5)
  20. struct uvc_request_data {
  21. __s32 length;
  22. __u8 data[60];
  23. };
  24. struct uvc_event {
  25. union {
  26. enum usb_device_speed speed;
  27. struct usb_ctrlrequest req;
  28. struct uvc_request_data data;
  29. };
  30. };
  31. #define UVCIOC_SEND_RESPONSE _IOW('U', 1, struct uvc_request_data)
  32. #endif /* __LINUX_USB_G_UVC_H */