diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-09 14:29:41 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-12 21:19:58 +0300 |
commit | 2bb0cfbf8137e02cc32aae3b36f85ef7300e8936 (patch) | |
tree | 42899dbeb32459722d27606bd79848a25a8c5e16 /configfs.h | |
parent | df21a9349a256fd2bea1f8701af198b312682d39 (diff) |
Split UVC gadget into a library and test application
Split the project into a UVC gadget library and a test application. To
avoid rolling out a custom build system, switch to CMake.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'configfs.h')
-rw-r--r-- | configfs.h | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/configfs.h b/configfs.h deleted file mode 100644 index e5a7efa..0000000 --- a/configfs.h +++ /dev/null @@ -1,108 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ -/* - * ConfigFS Gadget device handling - * - * Copyright (C) 2018 Kieran Bingham - * - * Contact: Kieran Bingham <kieran.bingham@ideasonboard.com> - */ - -#ifndef __CONFIGFS_H__ -#define __CONFIGFS_H__ - -#include <stdint.h> - -/* - * struct uvc_function_config_endpoint - Endpoint parameters - * @bInterval: Transfer interval (interrupt and isochronous only) - * @bMaxBurst: Transfer burst size (super-speed only) - * @wMaxPacketSize: Maximum packet size (including the multiplier) - */ -struct uvc_function_config_endpoint { - unsigned int bInterval; - unsigned int bMaxBurst; - unsigned int wMaxPacketSize; -}; - -/* - * struct uvc_function_config_interface - Interface parameters - * @bInterfaceNumber: Interface number - */ -struct uvc_function_config_interface { - unsigned int bInterfaceNumber; -}; - -/* - * struct uvc_function_config_control - Control interface parameters - * @intf: Generic interface parameters - */ -struct uvc_function_config_control { - struct uvc_function_config_interface intf; -}; - -/* - * struct uvc_function_config_frame - Streaming frame parameters - * @index: Frame index in the UVC descriptors - * @width: Frame width in pixels - * @height: Frame height in pixels - * @num_intervals: Number of entries in the intervals array - * @intervals: Array of frame intervals - */ -struct uvc_function_config_frame { - unsigned int index; - unsigned int width; - unsigned int height; - unsigned int num_intervals; - unsigned int *intervals; -}; - -/* - * struct uvc_function_config_format - Streaming format parameters - * @index: Format index in the UVC descriptors - * @guid: Format GUID - * @fcc: V4L2 pixel format - * @num_frames: Number of entries in the frames array - * @frames: Array of frame descriptors - */ -struct uvc_function_config_format { - unsigned int index; - uint8_t guid[16]; - unsigned int fcc; - unsigned int num_frames; - struct uvc_function_config_frame *frames; -}; - -/* - * struct uvc_function_config_streaming - Streaming interface parameters - * @intf: Generic interface parameters - * @ep: Endpoint parameters - * @num_formats: Number of entries in the formats array - * @formats: Array of format descriptors - */ -struct uvc_function_config_streaming { - struct uvc_function_config_interface intf; - struct uvc_function_config_endpoint ep; - - unsigned int num_formats; - struct uvc_function_config_format *formats; -}; - -/* - * struct uvc_function_config - UVC function configuration parameters - * @video: Full path to the video device node - * @udc: UDC name - * @control: Control interface configuration - * @streaming: Streaming interface configuration - */ -struct uvc_function_config { - char *video; - char *udc; - - struct uvc_function_config_control control; - struct uvc_function_config_streaming streaming; -}; - -struct uvc_function_config *configfs_parse_uvc_function(const char *function); -void configfs_free_uvc_function(struct uvc_function_config *fc); - -#endif |