15d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#ifndef __UAPI_MSM_GESTURES_H 25d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define __UAPI_MSM_GESTURES_H 35d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 45d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <linux/types.h> 55d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <linux/ioctl.h> 65d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <media/msm_camera.h> 75d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 85d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_IOCTL_CTRL_COMMAND \ 95d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOW('V', BASE_VIDIOC_PRIVATE + 20, struct v4l2_control) 105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIDIOC_MSM_GESTURE_EVT \ 125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOWR('V', BASE_VIDIOC_PRIVATE + 21, struct v4l2_event) 135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_GET_EVT_PAYLOAD \ 155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOW('V', BASE_VIDIOC_PRIVATE + 22, struct msm_ges_evt) 165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define VIDIOC_MSM_GESTURE_CAM_EVT \ 185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOWR('V', BASE_VIDIOC_PRIVATE + 23, int) 195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_RESP_V4L2 MSM_CAM_RESP_MAX 215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_RESP_MAX (MSM_GES_RESP_V4L2 + 1) 225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_SVR_RESP_MAX MSM_GES_RESP_MAX 245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_V4L2_GES_BASE 100 275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_V4L2_GES_OPEN (MSM_V4L2_GES_BASE + 0) 285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_V4L2_GES_CLOSE (MSM_V4L2_GES_BASE + 1) 295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_V4L2_GES_CAM_OPEN (MSM_V4L2_GES_BASE + 2) 305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_V4L2_GES_CAM_CLOSE (MSM_V4L2_GES_BASE + 3) 315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_APP_EVT_MIN (V4L2_EVENT_PRIVATE_START + 0x14) 335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_APP_NOTIFY_EVENT (MSM_GES_APP_EVT_MIN + 0) 345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_APP_NOTIFY_ERROR_EVENT (MSM_GES_APP_EVT_MIN + 1) 355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GES_APP_EVT_MAX (MSM_GES_APP_EVT_MIN + 2) 365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MSM_GESTURE_CID_CTRL_CMD V4L2_CID_BRIGHTNESS 385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define MAX_GES_EVENTS 25 405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct msm_ges_ctrl_cmd { 425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int type; 435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin void *value; 445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int len; 455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int fd; 465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t cookie; 475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct msm_ges_evt { 505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin void *evt_data; 515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int evt_len; 525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#endif /*__UAPI_MSM_GESTURES_H*/ 55