-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[media] uvcvideo: Make the API public
Move the public API definitions to include/linux/uvcvideo.h and bump the version number to 1.1.0. Compatibility with the old API is kept, application can still be compiled against the private header and will not break. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
- Loading branch information
Laurent Pinchart
authored and
Mauro Carvalho Chehab
committed
May 20, 2011
1 parent
f411f10
commit 5f70881
Showing
5 changed files
with
108 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
#ifndef __LINUX_UVCVIDEO_H_ | ||
#define __LINUX_UVCVIDEO_H_ | ||
|
||
#include <linux/ioctl.h> | ||
#include <linux/types.h> | ||
|
||
/* | ||
* Dynamic controls | ||
*/ | ||
|
||
/* Data types for UVC control data */ | ||
#define UVC_CTRL_DATA_TYPE_RAW 0 | ||
#define UVC_CTRL_DATA_TYPE_SIGNED 1 | ||
#define UVC_CTRL_DATA_TYPE_UNSIGNED 2 | ||
#define UVC_CTRL_DATA_TYPE_BOOLEAN 3 | ||
#define UVC_CTRL_DATA_TYPE_ENUM 4 | ||
#define UVC_CTRL_DATA_TYPE_BITMASK 5 | ||
|
||
/* Control flags */ | ||
#define UVC_CTRL_FLAG_SET_CUR (1 << 0) | ||
#define UVC_CTRL_FLAG_GET_CUR (1 << 1) | ||
#define UVC_CTRL_FLAG_GET_MIN (1 << 2) | ||
#define UVC_CTRL_FLAG_GET_MAX (1 << 3) | ||
#define UVC_CTRL_FLAG_GET_RES (1 << 4) | ||
#define UVC_CTRL_FLAG_GET_DEF (1 << 5) | ||
/* Control should be saved at suspend and restored at resume. */ | ||
#define UVC_CTRL_FLAG_RESTORE (1 << 6) | ||
/* Control can be updated by the camera. */ | ||
#define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7) | ||
|
||
#define UVC_CTRL_FLAG_GET_RANGE \ | ||
(UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \ | ||
UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ | ||
UVC_CTRL_FLAG_GET_DEF) | ||
|
||
struct uvc_menu_info { | ||
__u32 value; | ||
__u8 name[32]; | ||
}; | ||
|
||
struct uvc_xu_control_mapping { | ||
__u32 id; | ||
__u8 name[32]; | ||
__u8 entity[16]; | ||
__u8 selector; | ||
|
||
__u8 size; | ||
__u8 offset; | ||
__u32 v4l2_type; | ||
__u32 data_type; | ||
|
||
struct uvc_menu_info __user *menu_info; | ||
__u32 menu_count; | ||
|
||
__u32 reserved[4]; | ||
}; | ||
|
||
struct uvc_xu_control_query { | ||
__u8 unit; | ||
__u8 selector; | ||
__u8 query; | ||
__u16 size; | ||
__u8 __user *data; | ||
}; | ||
|
||
#define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping) | ||
#define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query) | ||
|
||
#endif |