1 #ifndef __UAPI_MSM_GESTURES_H
2 #define __UAPI_MSM_GESTURES_H
3 
4 #include <linux/types.h>
5 #include <linux/ioctl.h>
6 #include <media/msm_camera.h>
7 
8 #define MSM_GES_IOCTL_CTRL_COMMAND \
9 	_IOW('V', BASE_VIDIOC_PRIVATE + 20, struct v4l2_control)
10 
11 #define VIDIOC_MSM_GESTURE_EVT \
12 	_IOWR('V', BASE_VIDIOC_PRIVATE + 21, struct v4l2_event)
13 
14 #define MSM_GES_GET_EVT_PAYLOAD \
15 	_IOW('V', BASE_VIDIOC_PRIVATE + 22, struct msm_ges_evt)
16 
17 #define VIDIOC_MSM_GESTURE_CAM_EVT \
18 	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, int)
19 
20 #define MSM_GES_RESP_V4L2  MSM_CAM_RESP_MAX
21 #define MSM_GES_RESP_MAX  (MSM_GES_RESP_V4L2 + 1)
22 
23 #define MSM_SVR_RESP_MAX  MSM_GES_RESP_MAX
24 
25 
26 #define MSM_V4L2_GES_BASE                             100
27 #define MSM_V4L2_GES_OPEN         (MSM_V4L2_GES_BASE + 0)
28 #define MSM_V4L2_GES_CLOSE        (MSM_V4L2_GES_BASE + 1)
29 #define MSM_V4L2_GES_CAM_OPEN     (MSM_V4L2_GES_BASE + 2)
30 #define MSM_V4L2_GES_CAM_CLOSE    (MSM_V4L2_GES_BASE + 3)
31 
32 #define MSM_GES_APP_EVT_MIN     (V4L2_EVENT_PRIVATE_START + 0x14)
33 #define MSM_GES_APP_NOTIFY_EVENT        (MSM_GES_APP_EVT_MIN + 0)
34 #define MSM_GES_APP_NOTIFY_ERROR_EVENT  (MSM_GES_APP_EVT_MIN + 1)
35 #define MSM_GES_APP_EVT_MAX             (MSM_GES_APP_EVT_MIN + 2)
36 
37 #define MSM_GESTURE_CID_CTRL_CMD V4L2_CID_BRIGHTNESS
38 
39 #define MAX_GES_EVENTS 25
40 
41 struct msm_ges_ctrl_cmd {
42 	int type;
43 	void *value;
44 	int len;
45 	int fd;
46 	uint32_t cookie;
47 };
48 
49 struct msm_ges_evt {
50 	void *evt_data;
51 	int evt_len;
52 };
53 
54 #endif /*__UAPI_MSM_GESTURES_H*/
55