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