111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __LINUX_MEDIA_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __LINUX_MEDIA_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/ioctl.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/version.h>
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0)
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct media_device_info {
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char driver[16];
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char model[32];
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char serial[40];
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char bus_info[32];
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 media_version;
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 hw_revision;
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 driver_version;
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[31];
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_TYPE_SHIFT 16
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_TYPE_MASK 0x00ff0000
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_DEVNODE (1 << MEDIA_ENT_TYPE_SHIFT)
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1)
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT)
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1)
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2)
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4)
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_ENT_FL_DEFAULT (1 << 0)
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct media_entity_desc {
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 id;
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 type;
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 revision;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags;
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 group_id;
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 pads;
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 links;
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[4];
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union {
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 major;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minor;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } v4l;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 major;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minor;
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } fb;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 card;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 device;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 subdevice;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } alsa;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dvb;
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 raw[184];
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert };
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_PAD_FL_SINK (1 << 0)
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_PAD_FL_SOURCE (1 << 1)
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_PAD_FL_MUST_CONNECT (1 << 2)
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct media_pad_desc {
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 entity;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 index;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[2];
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_LNK_FL_ENABLED (1 << 0)
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_LNK_FL_IMMUTABLE (1 << 1)
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_LNK_FL_DYNAMIC (1 << 2)
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct media_link_desc {
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct media_pad_desc source;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct media_pad_desc sink;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags;
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[2];
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct media_links_enum {
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 entity;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct media_pad_desc __user *pads;
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct media_link_desc __user *links;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[4];
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info)
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc)
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129