1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __UAPI_MEDIA_MSMB_GENERIC_BUF_MGR_H__
20 #define __UAPI_MEDIA_MSMB_GENERIC_BUF_MGR_H__
21 #include <media/msmb_camera.h>
22 enum msm_camera_buf_mngr_cmd {
23   MSM_CAMERA_BUF_MNGR_CONT_MAP,
24   MSM_CAMERA_BUF_MNGR_CONT_UNMAP,
25   MSM_CAMERA_BUF_MNGR_CONT_MAX,
26 };
27 enum msm_camera_buf_mngr_buf_type {
28   MSM_CAMERA_BUF_MNGR_BUF_PLANAR,
29   MSM_CAMERA_BUF_MNGR_BUF_USER,
30   MSM_CAMERA_BUF_MNGR_BUF_INVALID,
31 };
32 struct msm_buf_mngr_info {
33   uint32_t session_id;
34   uint32_t stream_id;
35   uint32_t frame_id;
36   struct timeval timestamp;
37   uint32_t index;
38   uint32_t reserved;
39   enum msm_camera_buf_mngr_buf_type type;
40   struct msm_camera_user_buf_cont_t user_buf;
41 };
42 struct msm_buf_mngr_main_cont_info {
43   uint32_t session_id;
44   uint32_t stream_id;
45   enum msm_camera_buf_mngr_cmd cmd;
46   uint32_t cnt;
47   int32_t cont_fd;
48 };
49 #define MSM_CAMERA_BUF_MNGR_IOCTL_ID_BASE 0
50 #define MSM_CAMERA_BUF_MNGR_IOCTL_ID_GET_BUF_BY_IDX 1
51 #define VIDIOC_MSM_BUF_MNGR_GET_BUF _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info)
52 #define VIDIOC_MSM_BUF_MNGR_PUT_BUF _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info)
53 #define VIDIOC_MSM_BUF_MNGR_BUF_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info)
54 #define VIDIOC_MSM_BUF_MNGR_CONT_CMD _IOWR('V', BASE_VIDIOC_PRIVATE + 36, struct msm_buf_mngr_main_cont_info)
55 #define VIDIOC_MSM_BUF_MNGR_INIT _IOWR('V', BASE_VIDIOC_PRIVATE + 37, struct msm_buf_mngr_info)
56 #define VIDIOC_MSM_BUF_MNGR_DEINIT _IOWR('V', BASE_VIDIOC_PRIVATE + 38, struct msm_buf_mngr_info)
57 #define VIDIOC_MSM_BUF_MNGR_FLUSH _IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info)
58 #define VIDIOC_MSM_BUF_MNGR_IOCTL_CMD _IOWR('V', BASE_VIDIOC_PRIVATE + 40, struct msm_camera_private_ioctl_arg)
59 #define VIDIOC_MSM_BUF_MNGR_BUF_ERROR _IOWR('V', BASE_VIDIOC_PRIVATE + 41, struct msm_buf_mngr_info)
60 #endif
61 
62