diff options
39 files changed, 721 insertions, 6352 deletions
diff --git a/libc/Android.mk b/libc/Android.mk index c47cc67..f53fcc8 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -763,6 +763,9 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_WHOLE_STATIC_LIBRARIES := libbionic_ssp libc_bionic libc_freebsd libc_netbsd LOCAL_SYSTEM_SHARED_LIBRARIES := +# TODO: split out the asflags. +LOCAL_ASFLAGS := $(LOCAL_CFLAGS) + include $(BUILD_STATIC_LIBRARY) diff --git a/libc/arch-arm/cortex-a7/cortex-a7.mk b/libc/arch-arm/cortex-a7/cortex-a7.mk new file mode 100644 index 0000000..9af03d9 --- /dev/null +++ b/libc/arch-arm/cortex-a7/cortex-a7.mk @@ -0,0 +1 @@ +include bionic/libc/arch-arm/cortex-a15/cortex-a15.mk diff --git a/libc/include/netdb.h b/libc/include/netdb.h index ead5954..3ea512c 100644 --- a/libc/include/netdb.h +++ b/libc/include/netdb.h @@ -207,11 +207,13 @@ void endprotoent(void); void endservent(void); void freehostent(struct hostent *); struct hostent *gethostbyaddr(const void *, socklen_t, int); +struct hostent *android_gethostbyaddrforiface(const void *, socklen_t, int, const char*); int gethostbyaddr_r(const void *, int, int, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname(const char *); int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname2(const char *, int); int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); +struct hostent *android_gethostbynameforiface(const char *, int, const char *); struct hostent *gethostent(void); int gethostent_r(struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *getipnodebyaddr(const void *, size_t, int, int *); @@ -239,7 +241,9 @@ void sethostent(int); void setnetent(int); void setprotoent(int); int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); +int android_getaddrinfoforiface(const char *, const char *, const struct addrinfo *, const char *, struct addrinfo **); int getnameinfo(const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int); +int android_getnameinfoforiface(const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int, const char *); void freeaddrinfo(struct addrinfo *); const char *gai_strerror(int); void setnetgrent(const char *); diff --git a/libc/kernel/common/linux/mfd/msm-adie-codec.h b/libc/kernel/common/linux/mfd/msm-adie-codec.h deleted file mode 100644 index 63fe193..0000000 --- a/libc/kernel/common/linux/mfd/msm-adie-codec.h +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MFD_MSM_ADIE_CODEC_H -#define __LINUX_MFD_MSM_ADIE_CODEC_H -#include <linux/types.h> -#define ADIE_CODEC_ACTION_ENTRY 0x1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADIE_CODEC_ACTION_DELAY_WAIT 0x2 -#define ADIE_CODEC_ACTION_STAGE_REACHED 0x3 -#define ADIE_CODEC_PATH_OFF 0x0050 -#define ADIE_CODEC_DIGITAL_READY 0x0100 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADIE_CODEC_DIGITAL_ANALOG_READY 0x1000 -#define ADIE_CODEC_ANALOG_OFF 0x0750 -#define ADIE_CODEC_DIGITAL_OFF 0x0600 -#define ADIE_CODEC_FLASH_IMAGE 0x0001 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADIE_CODEC_RX 0 -#define ADIE_CODEC_TX 1 -#define ADIE_CODEC_LB 3 -#define ADIE_CODEC_MAX 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADIE_CODEC_PACK_ENTRY(reg, mask, val) ((val)|(mask << 8)|(reg << 16)) -#define ADIE_CODEC_UNPACK_ENTRY(packed, reg, mask, val) do { ((reg) = ((packed >> 16) & (0xff))); ((mask) = ((packed >> 8) & (0xff))); ((val) = ((packed) & (0xff))); } while (0); -struct adie_codec_action_unit { - u32 type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 action; -}; -struct adie_codec_hwsetting_entry{ - struct adie_codec_action_unit *actions; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 action_sz; - u32 freq_plan; - u32 osr; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct adie_codec_dev_profile { - u32 path_type; - u32 setting_sz; - struct adie_codec_hwsetting_entry *settings; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct adie_codec_register { - u8 reg; - u8 mask; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u8 val; -}; -struct adie_codec_register_image { - struct adie_codec_register *regs; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 img_sz; -}; -struct adie_codec_path; -struct adie_codec_anc_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 size; - u32 writes[]; -}; -struct adie_codec_operations { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int codec_id; - int (*codec_open) (struct adie_codec_dev_profile *profile, - struct adie_codec_path **path_pptr); - int (*codec_close) (struct adie_codec_path *path_ptr); -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int (*codec_setpath) (struct adie_codec_path *path_ptr, - u32 freq_plan, u32 osr); - int (*codec_proceed_stage) (struct adie_codec_path *path_ptr, - u32 state); -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 (*codec_freq_supported) (struct adie_codec_dev_profile *profile, - u32 requested_freq); - int (*codec_enable_sidetone) (struct adie_codec_path *rx_path_ptr, - u32 enable); -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int (*codec_enable_anc) (struct adie_codec_path *rx_path_ptr, - u32 enable, struct adie_codec_anc_data *calibration_writes); - int (*codec_set_device_digital_volume) ( - struct adie_codec_path *path_ptr, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 num_channels, - u32 vol_percentage); - int (*codec_set_device_analog_volume) (struct adie_codec_path *path_ptr, - u32 num_channels, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 volume); - int (*codec_set_master_mode) (struct adie_codec_path *path_ptr, - u8 master); -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/libc/kernel/common/linux/msm_adsp.h b/libc/kernel/common/linux/msm_adsp.h deleted file mode 100644 index 7c3fd14..0000000 --- a/libc/kernel/common/linux/msm_adsp.h +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_ADSP_H -#define __LINUX_MSM_ADSP_H -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADSP_IOCTL_MAGIC 'q' -struct adsp_command_t { - uint16_t queue; - uint32_t len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t *data; -}; -struct adsp_event_t { - uint16_t type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t timeout_ms; - uint16_t msg_id; - uint16_t flags; - uint32_t len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t *data; -}; -#define ADSP_IOCTL_ENABLE _IOR(ADSP_IOCTL_MAGIC, 1, unsigned) -#define ADSP_IOCTL_DISABLE _IOR(ADSP_IOCTL_MAGIC, 2, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADSP_IOCTL_DISABLE_ACK _IOR(ADSP_IOCTL_MAGIC, 3, unsigned) -#define ADSP_IOCTL_WRITE_COMMAND _IOR(ADSP_IOCTL_MAGIC, 4, struct adsp_command_t *) -#define ADSP_IOCTL_GET_EVENT _IOWR(ADSP_IOCTL_MAGIC, 5, struct adsp_event_data_t *) -#define ADSP_IOCTL_SET_CLKRATE _IOR(ADSP_IOCTL_MAGIC, 6, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADSP_IOCTL_DISABLE_EVENT_RSP _IOR(ADSP_IOCTL_MAGIC, 10, unsigned) -struct adsp_pmem_info { - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define ADSP_IOCTL_REGISTER_PMEM _IOW(ADSP_IOCTL_MAGIC, 13, unsigned) -#define ADSP_IOCTL_UNREGISTER_PMEM _IOW(ADSP_IOCTL_MAGIC, 14, unsigned) -#define ADSP_IOCTL_ABORT_EVENT_READ _IOW(ADSP_IOCTL_MAGIC, 15, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADSP_IOCTL_LINK_TASK _IOW(ADSP_IOCTL_MAGIC, 16, unsigned) -#endif diff --git a/libc/kernel/common/linux/msm_audio.h b/libc/kernel/common/linux/msm_audio.h deleted file mode 100644 index 4c9a1ab..0000000 --- a/libc/kernel/common/linux/msm_audio.h +++ /dev/null @@ -1,345 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_AUDIO_H -#define __LINUX_MSM_AUDIO_H -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_IOCTL_MAGIC 'a' -#define AUDIO_START _IOW(AUDIO_IOCTL_MAGIC, 0, unsigned) -#define AUDIO_STOP _IOW(AUDIO_IOCTL_MAGIC, 1, unsigned) -#define AUDIO_FLUSH _IOW(AUDIO_IOCTL_MAGIC, 2, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 3, unsigned) -#define AUDIO_SET_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 4, unsigned) -#define AUDIO_GET_STATS _IOR(AUDIO_IOCTL_MAGIC, 5, unsigned) -#define AUDIO_ENABLE_AUDPP _IOW(AUDIO_IOCTL_MAGIC, 6, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_ADRC _IOW(AUDIO_IOCTL_MAGIC, 7, unsigned) -#define AUDIO_SET_EQ _IOW(AUDIO_IOCTL_MAGIC, 8, unsigned) -#define AUDIO_SET_RX_IIR _IOW(AUDIO_IOCTL_MAGIC, 9, unsigned) -#define AUDIO_SET_VOLUME _IOW(AUDIO_IOCTL_MAGIC, 10, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_PAUSE _IOW(AUDIO_IOCTL_MAGIC, 11, unsigned) -#define AUDIO_PLAY_DTMF _IOW(AUDIO_IOCTL_MAGIC, 12, unsigned) -#define AUDIO_GET_EVENT _IOR(AUDIO_IOCTL_MAGIC, 13, unsigned) -#define AUDIO_ABORT_GET_EVENT _IOW(AUDIO_IOCTL_MAGIC, 14, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_REGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 15, unsigned) -#define AUDIO_DEREGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 16, unsigned) -#define AUDIO_ASYNC_WRITE _IOW(AUDIO_IOCTL_MAGIC, 17, unsigned) -#define AUDIO_ASYNC_READ _IOW(AUDIO_IOCTL_MAGIC, 18, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_INCALL _IOW(AUDIO_IOCTL_MAGIC, 19, struct msm_voicerec_mode) -#define AUDIO_GET_NUM_SND_DEVICE _IOR(AUDIO_IOCTL_MAGIC, 20, unsigned) -#define AUDIO_GET_SND_DEVICES _IOWR(AUDIO_IOCTL_MAGIC, 21, struct msm_snd_device_list) -#define AUDIO_ENABLE_SND_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 22, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_DISABLE_SND_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 23, unsigned) -#define AUDIO_ROUTE_STREAM _IOW(AUDIO_IOCTL_MAGIC, 24, struct msm_audio_route_config) -#define AUDIO_GET_PCM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 30, unsigned) -#define AUDIO_SET_PCM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 31, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SWITCH_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 32, unsigned) -#define AUDIO_SET_MUTE _IOW(AUDIO_IOCTL_MAGIC, 33, unsigned) -#define AUDIO_UPDATE_ACDB _IOW(AUDIO_IOCTL_MAGIC, 34, unsigned) -#define AUDIO_START_VOICE _IOW(AUDIO_IOCTL_MAGIC, 35, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_STOP_VOICE _IOW(AUDIO_IOCTL_MAGIC, 36, unsigned) -#define AUDIO_REINIT_ACDB _IOW(AUDIO_IOCTL_MAGIC, 39, unsigned) -#define AUDIO_OUTPORT_FLUSH _IOW(AUDIO_IOCTL_MAGIC, 40, unsigned short) -#define AUDIO_SET_ERR_THRESHOLD_VALUE _IOW(AUDIO_IOCTL_MAGIC, 41, unsigned short) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_BITSTREAM_ERROR_INFO _IOR(AUDIO_IOCTL_MAGIC, 42, struct msm_audio_bitstream_error_info) -#define AUDIO_SET_SRS_TRUMEDIA_PARAM _IOW(AUDIO_IOCTL_MAGIC, 43, unsigned) -#define AUDIO_SET_STREAM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 80, struct msm_audio_stream_config) -#define AUDIO_GET_STREAM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 81, struct msm_audio_stream_config) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_SESSION_ID _IOR(AUDIO_IOCTL_MAGIC, 82, unsigned short) -#define AUDIO_GET_STREAM_INFO _IOR(AUDIO_IOCTL_MAGIC, 83, struct msm_audio_bitstream_info) -#define AUDIO_SET_PAN _IOW(AUDIO_IOCTL_MAGIC, 84, unsigned) -#define AUDIO_SET_QCONCERT_PLUS _IOW(AUDIO_IOCTL_MAGIC, 85, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_MBADRC _IOW(AUDIO_IOCTL_MAGIC, 86, unsigned) -#define AUDIO_SET_VOLUME_PATH _IOW(AUDIO_IOCTL_MAGIC, 87, struct msm_vol_info) -#define AUDIO_SET_MAX_VOL_ALL _IOW(AUDIO_IOCTL_MAGIC, 88, unsigned) -#define AUDIO_ENABLE_AUDPRE _IOW(AUDIO_IOCTL_MAGIC, 89, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_AGC _IOW(AUDIO_IOCTL_MAGIC, 90, unsigned) -#define AUDIO_SET_NS _IOW(AUDIO_IOCTL_MAGIC, 91, unsigned) -#define AUDIO_SET_TX_IIR _IOW(AUDIO_IOCTL_MAGIC, 92, unsigned) -#define AUDIO_GET_BUF_CFG _IOW(AUDIO_IOCTL_MAGIC, 93, struct msm_audio_buf_cfg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_BUF_CFG _IOW(AUDIO_IOCTL_MAGIC, 94, struct msm_audio_buf_cfg) -#define AUDIO_SET_ACDB_BLK _IOW(AUDIO_IOCTL_MAGIC, 95, struct msm_acdb_cmd_device) -#define AUDIO_GET_ACDB_BLK _IOW(AUDIO_IOCTL_MAGIC, 96, struct msm_acdb_cmd_device) -#define AUDIO_REGISTER_ION _IOW(AUDIO_IOCTL_MAGIC, 97, unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_DEREGISTER_ION _IOW(AUDIO_IOCTL_MAGIC, 98, unsigned) -#define AUDIO_MAX_COMMON_IOCTL_NUM 100 -#define HANDSET_MIC 0x01 -#define HANDSET_SPKR 0x02 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define HEADSET_MIC 0x03 -#define HEADSET_SPKR_MONO 0x04 -#define HEADSET_SPKR_STEREO 0x05 -#define SPKR_PHONE_MIC 0x06 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SPKR_PHONE_MONO 0x07 -#define SPKR_PHONE_STEREO 0x08 -#define BT_SCO_MIC 0x09 -#define BT_SCO_SPKR 0x0A -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define BT_A2DP_SPKR 0x0B -#define TTY_HEADSET_MIC 0x0C -#define TTY_HEADSET_SPKR 0x0D -#define DEFAULT_TX 0x0E -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define DEFAULT_RX 0x0F -#define BT_A2DP_TX 0x10 -#define HEADSET_MONO_PLUS_SPKR_MONO_RX 0x11 -#define HEADSET_MONO_PLUS_SPKR_STEREO_RX 0x12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define HEADSET_STEREO_PLUS_SPKR_MONO_RX 0x13 -#define HEADSET_STEREO_PLUS_SPKR_STEREO_RX 0x14 -#define I2S_RX 0x20 -#define I2S_TX 0x21 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ADRC_ENABLE 0x0001 -#define EQ_ENABLE 0x0002 -#define IIR_ENABLE 0x0004 -#define QCONCERT_PLUS_ENABLE 0x0008 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MBADRC_ENABLE 0x0010 -#define SRS_ENABLE 0x0020 -#define SRS_DISABLE 0x0040 -#define AGC_ENABLE 0x0001 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define NS_ENABLE 0x0002 -#define TX_IIR_ENABLE 0x0004 -#define FLUENCE_ENABLE 0x0008 -#define VOC_REC_UPLINK 0x00 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VOC_REC_DOWNLINK 0x01 -#define VOC_REC_BOTH 0x02 -struct msm_audio_config { - uint32_t buffer_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t buffer_count; - uint32_t channel_count; - uint32_t sample_rate; - uint32_t type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t meta_field; - uint32_t bits; - uint32_t unused[3]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_stream_config { - uint32_t buffer_size; - uint32_t buffer_count; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_buf_cfg{ - uint32_t meta_info_enable; - uint32_t frames_per_buf; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_stats { - uint32_t byte_count; - uint32_t sample_count; - uint32_t unused[2]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_audio_ion_info { - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_audio_pmem_info { - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_audio_aio_buf { - void *buf_addr; - uint32_t buf_len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t data_len; - void *private_data; - unsigned short mfield_sz; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SND_IOCTL_MAGIC 's' -#define SND_MUTE_UNMUTED 0 -#define SND_MUTE_MUTED 1 -struct msm_mute_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t mute; - uint32_t path; -}; -struct msm_vol_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t vol; - uint32_t path; -}; -struct msm_voicerec_mode { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t rec_mode; -}; -struct msm_snd_device_config { - uint32_t device; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t ear_mute; - uint32_t mic_mute; -}; -#define SND_SET_DEVICE _IOW(SND_IOCTL_MAGIC, 2, struct msm_device_config *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SND_METHOD_VOICE 0 -struct msm_snd_volume_config { - uint32_t device; - uint32_t method; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t volume; -}; -#define SND_SET_VOLUME _IOW(SND_IOCTL_MAGIC, 3, struct msm_snd_volume_config *) -#define SND_GET_NUM_ENDPOINTS _IOR(SND_IOCTL_MAGIC, 4, unsigned *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_snd_endpoint { - int id; - char name[64]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SND_GET_ENDPOINT _IOWR(SND_IOCTL_MAGIC, 5, struct msm_snd_endpoint *) -#define SND_AVC_CTL _IOW(SND_IOCTL_MAGIC, 6, unsigned *) -#define SND_AGC_CTL _IOW(SND_IOCTL_MAGIC, 7, unsigned *) -struct msm_audio_pcm_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t pcm_feedback; - uint32_t buffer_count; - uint32_t buffer_size; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_EVENT_SUSPEND 0 -#define AUDIO_EVENT_RESUME 1 -#define AUDIO_EVENT_WRITE_DONE 2 -#define AUDIO_EVENT_READ_DONE 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_EVENT_STREAM_INFO 4 -#define AUDIO_EVENT_BITSTREAM_ERROR_INFO 5 -#define AUDIO_CODEC_TYPE_MP3 0 -#define AUDIO_CODEC_TYPE_AAC 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_bitstream_info { - uint32_t codec_type; - uint32_t chan_info; - uint32_t sample_rate; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t bit_stream_info; - uint32_t bit_rate; - uint32_t unused[3]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_bitstream_error_info { - uint32_t dec_id; - uint32_t err_msg_indicator; - uint32_t err_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -union msm_audio_event_payload { - struct msm_audio_aio_buf aio_buf; - struct msm_audio_bitstream_info stream_info; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_audio_bitstream_error_info error_info; - int reserved; -}; -struct msm_audio_event { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int event_type; - int timeout_ms; - union msm_audio_event_payload event_payload; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_SNDDEV_CAP_RX 0x1 -#define MSM_SNDDEV_CAP_TX 0x2 -#define MSM_SNDDEV_CAP_VOICE 0x4 -struct msm_snd_device_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t dev_id; - uint32_t dev_cap; - char dev_name[64]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_snd_device_list { - uint32_t num_dev; - struct msm_snd_device_info *list; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_dtmf_config { - uint16_t path; - uint16_t dtmf_hi; - uint16_t dtmf_low; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t duration; - uint16_t tx_gain; - uint16_t rx_gain; - uint16_t mixing; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define AUDIO_ROUTE_STREAM_VOICE_RX 0 -#define AUDIO_ROUTE_STREAM_VOICE_TX 1 -#define AUDIO_ROUTE_STREAM_PLAYBACK 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_ROUTE_STREAM_REC 3 -struct msm_audio_route_config { - uint32_t stream_type; - uint32_t stream_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t dev_id; -}; -#define AUDIO_MAX_EQ_BANDS 12 -struct msm_audio_eq_band { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t band_idx; - uint32_t filter_type; - uint32_t center_freq_hz; - uint32_t filter_gain; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t q_factor; -} __attribute__ ((packed)); -struct msm_audio_eq_stream_config { - uint32_t enable; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t num_bands; - struct msm_audio_eq_band eq_bands[AUDIO_MAX_EQ_BANDS]; -} __attribute__ ((packed)); -struct msm_acdb_cmd_device { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t command_id; - uint32_t device_id; - uint32_t network_id; - uint32_t sample_rate_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t interface_id; - uint32_t algorithm_block_id; - uint32_t total_bytes; - uint32_t *phys_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#endif diff --git a/libc/kernel/common/linux/msm_audio_aac.h b/libc/kernel/common/linux/msm_audio_aac.h deleted file mode 100644 index 218ac45..0000000 --- a/libc/kernel/common/linux/msm_audio_aac.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_AUDIO_AAC_H -#define __MSM_AUDIO_AAC_H -#include <linux/msm_audio.h> -#define AUDIO_SET_AAC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_AAC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) -#define AUDIO_SET_AAC_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+3), struct msm_audio_aac_enc_config) -#define AUDIO_GET_AAC_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+4), struct msm_audio_aac_enc_config) -#define AUDIO_AAC_FORMAT_ADTS -1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_FORMAT_RAW 0x0000 -#define AUDIO_AAC_FORMAT_PSUEDO_RAW 0x0001 -#define AUDIO_AAC_FORMAT_LOAS 0x0002 -#define AUDIO_AAC_FORMAT_ADIF 0x0003 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_OBJECT_LC 0x0002 -#define AUDIO_AAC_OBJECT_LTP 0x0004 -#define AUDIO_AAC_OBJECT_ERLC 0x0011 -#define AUDIO_AAC_OBJECT_BSAC 0x0016 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_SEC_DATA_RES_ON 0x0001 -#define AUDIO_AAC_SEC_DATA_RES_OFF 0x0000 -#define AUDIO_AAC_SCA_DATA_RES_ON 0x0001 -#define AUDIO_AAC_SCA_DATA_RES_OFF 0x0000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_SPEC_DATA_RES_ON 0x0001 -#define AUDIO_AAC_SPEC_DATA_RES_OFF 0x0000 -#define AUDIO_AAC_SBR_ON_FLAG_ON 0x0001 -#define AUDIO_AAC_SBR_ON_FLAG_OFF 0x0000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_SBR_PS_ON_FLAG_ON 0x0001 -#define AUDIO_AAC_SBR_PS_ON_FLAG_OFF 0x0000 -#define AUDIO_AAC_DUAL_MONO_PL_PR 0 -#define AUDIO_AAC_DUAL_MONO_SL_SR 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_AAC_DUAL_MONO_SL_PR 2 -#define AUDIO_AAC_DUAL_MONO_PL_SR 3 -struct msm_audio_aac_config { - signed short format; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short audio_object; - unsigned short ep_config; - unsigned short aac_section_data_resilience_flag; - unsigned short aac_scalefactor_data_resilience_flag; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short aac_spectral_data_resilience_flag; - unsigned short sbr_on_flag; - unsigned short sbr_ps_on_flag; - unsigned short dual_mono_mode; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short channel_configuration; -}; -struct msm_audio_aac_enc_config { - uint32_t channels; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t sample_rate; - uint32_t bit_rate; - uint32_t stream_format; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/libc/kernel/common/linux/msm_audio_acdb.h b/libc/kernel/common/linux/msm_audio_acdb.h deleted file mode 100644 index a2d42bf..0000000 --- a/libc/kernel/common/linux/msm_audio_acdb.h +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_AUDIO_ACDB_H -#define __MSM_AUDIO_ACDB_H -#include <linux/msm_audio.h> -#define AUDIO_SET_VOCPROC_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_VOCPROC_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) -#define AUDIO_SET_VOCPROC_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+2), unsigned) -#define AUDIO_SET_AUDPROC_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+3), unsigned) -#define AUDIO_SET_AUDPROC_RX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+4), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_AUDPROC_RX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+5), unsigned) -#define AUDIO_SET_AUDPROC_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+6), unsigned) -#define AUDIO_SET_AUDPROC_TX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+7), unsigned) -#define AUDIO_SET_AUDPROC_TX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+8), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_SIDETONE_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+9), unsigned) -#define AUDIO_SET_ANC_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+10), unsigned) -#define AUDIO_SET_VOICE_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+11), unsigned) -#define AUDIO_SET_VOICE_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+12), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_ADM_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+13), unsigned) -#define AUDIO_SET_ADM_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+14), unsigned) -#define AUDIO_SET_ASM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+15), unsigned) -#define AUDIO_SET_AFE_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+16), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_SET_AFE_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+17), unsigned) -#define AUDIO_MAX_ACDB_IOCTL (AUDIO_MAX_COMMON_IOCTL_NUM+30) -struct cal_block { - uint32_t cal_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t cal_offset; -}; -struct sidetone_cal { - uint16_t enable; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t gain; -}; -#define AUDIO_GET_RTAC_ADM_INFO _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+1), unsigned) -#define AUDIO_GET_RTAC_VOICE_INFO _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+2), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+3), unsigned) -#define AUDIO_SET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+4), unsigned) -#define AUDIO_GET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+5), unsigned) -#define AUDIO_SET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+6), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+7), unsigned) -#define AUDIO_SET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+8), unsigned) -#define AUDIO_GET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+9), unsigned) -#define AUDIO_SET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_ACDB_IOCTL+10), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_MAX_RTAC_IOCTL (AUDIO_MAX_ACDB_IOCTL+20) -#endif diff --git a/libc/kernel/common/linux/msm_audio_wma.h b/libc/kernel/common/linux/msm_audio_wma.h deleted file mode 100644 index 8d2e4db..0000000 --- a/libc/kernel/common/linux/msm_audio_wma.h +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_AUDIO_WMA_H -#define __MSM_AUDIO_WMA_H -#define AUDIO_GET_WMA_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) -#define AUDIO_SET_WMA_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AUDIO_GET_WMA_CONFIG_V2 _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+2), struct msm_audio_wma_config_v2) -#define AUDIO_SET_WMA_CONFIG_V2 _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+3), struct msm_audio_wma_config_v2) -struct msm_audio_wma_config { - unsigned short armdatareqthr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short channelsdecoded; - unsigned short wmabytespersec; - unsigned short wmasamplingfreq; - unsigned short wmaencoderopts; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_audio_wma_config_v2 { - unsigned short format_tag; - unsigned short numchannels; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t samplingrate; - uint32_t avgbytespersecond; - unsigned short block_align; - unsigned short validbitspersample; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t channelmask; - unsigned short encodeopt; -}; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/libc/kernel/common/linux/msm_audio_wmapro.h b/libc/kernel/common/linux/msm_audio_wmapro.h deleted file mode 100644 index 9fb19da..0000000 --- a/libc/kernel/common/linux/msm_audio_wmapro.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_AUDIO_WMAPRO_H -#define __MSM_AUDIO_WMAPRO_H -#define AUDIO_GET_WMAPRO_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) -#define AUDIO_SET_WMAPRO_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_audio_wmapro_config { - unsigned short armdatareqthr; - uint8_t validbitspersample; - uint8_t numchannels; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short formattag; - unsigned short samplingrate; - unsigned short avgbytespersecond; - unsigned short asfpacketlength; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short channelmask; - unsigned short encodeopt; - unsigned short advancedencodeopt; - uint32_t advancedencodeopt2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#endif diff --git a/libc/kernel/common/linux/msm_charm.h b/libc/kernel/common/linux/msm_charm.h deleted file mode 100644 index f73a8f1..0000000 --- a/libc/kernel/common/linux/msm_charm.h +++ /dev/null @@ -1,38 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _ARCH_ARM_MACH_MSM_MDM_IOCTLS_H -#define _ARXH_ARM_MACH_MSM_MDM_IOCTLS_H -#define CHARM_CODE 0xCC -#define WAKE_CHARM _IO(CHARM_CODE, 1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define RESET_CHARM _IO(CHARM_CODE, 2) -#define CHECK_FOR_BOOT _IOR(CHARM_CODE, 3, int) -#define WAIT_FOR_BOOT _IO(CHARM_CODE, 4) -#define NORMAL_BOOT_DONE _IOW(CHARM_CODE, 5, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define RAM_DUMP_DONE _IOW(CHARM_CODE, 6, int) -#define WAIT_FOR_RESTART _IOR(CHARM_CODE, 7, int) -#define GET_DLOAD_STATUS _IOR(CHARM_CODE, 8, int) -enum charm_boot_type { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CHARM_NORMAL_BOOT = 0, - CHARM_RAM_DUMPS, -}; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/libc/kernel/common/linux/msm_dsps.h b/libc/kernel/common/linux/msm_dsps.h deleted file mode 100644 index e56b319..0000000 --- a/libc/kernel/common/linux/msm_dsps.h +++ /dev/null @@ -1,30 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _DSPS_H_ -#define _DSPS_H_ -#include <linux/ioctl.h> -#define DSPS_IOCTL_MAGIC 'd' -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define DSPS_IOCTL_ON _IO(DSPS_IOCTL_MAGIC, 1) -#define DSPS_IOCTL_OFF _IO(DSPS_IOCTL_MAGIC, 2) -#define DSPS_IOCTL_READ_SLOW_TIMER _IOR(DSPS_IOCTL_MAGIC, 3, unsigned int*) -#define DSPS_IOCTL_READ_FAST_TIMER _IOR(DSPS_IOCTL_MAGIC, 4, unsigned int*) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define DSPS_IOCTL_RESET _IO(DSPS_IOCTL_MAGIC, 5) -#endif diff --git a/libc/kernel/common/linux/msm_hw3d.h b/libc/kernel/common/linux/msm_hw3d.h deleted file mode 100644 index 684896e..0000000 --- a/libc/kernel/common/linux/msm_hw3d.h +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_HW3D_H_ -#define _MSM_HW3D_H_ -#include <linux/fs.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct hw3d_region; -#define HW3D_IOCTL_MAGIC 'h' -#define HW3D_WAIT_FOR_REVOKE _IO(HW3D_IOCTL_MAGIC, 0x80) -#define HW3D_WAIT_FOR_INTERRUPT _IO(HW3D_IOCTL_MAGIC, 0x81) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define HW3D_GET_REGIONS _IOR(HW3D_IOCTL_MAGIC, 0x82, struct hw3d_region *) -#define HW3D_REGION_OFFSET(id) ((((uint32_t)(id)) & 0xf) << 28) -#define HW3D_REGION_ID(addr) (((uint32_t)(addr) >> 28) & 0xf) -#define HW3D_OFFSET_IN_REGION(addr) ((uint32_t)(addr) & ~(0xfUL << 28)) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum { - HW3D_EBI = 0, - HW3D_SMI = 1, - HW3D_REGS = 2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - HW3D_NUM_REGIONS = HW3D_REGS + 1, -}; -struct hw3d_region { - unsigned long phys; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long map_offset; - unsigned long len; -}; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/libc/kernel/common/linux/msm_ion.h b/libc/kernel/common/linux/msm_ion.h deleted file mode 100644 index c750f12..0000000 --- a/libc/kernel/common/linux/msm_ion.h +++ /dev/null @@ -1,23 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _LINUX_MSM_ION_H -#define _LINUX_MSM_ION_H -#include <linux/ion.h> -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/libc/kernel/common/linux/msm_kgsl.h b/libc/kernel/common/linux/msm_kgsl.h deleted file mode 100644 index 272fd57..0000000 --- a/libc/kernel/common/linux/msm_kgsl.h +++ /dev/null @@ -1,365 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_KGSL_H -#define _MSM_KGSL_H -#define KGSL_VERSION_MAJOR 3 -#define KGSL_VERSION_MINOR 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_CONTEXT_SAVE_GMEM 0x00000001 -#define KGSL_CONTEXT_NO_GMEM_ALLOC 0x00000002 -#define KGSL_CONTEXT_SUBMIT_IB_LIST 0x00000004 -#define KGSL_CONTEXT_CTX_SWITCH 0x00000008 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_CONTEXT_PREAMBLE 0x00000010 -#define KGSL_CONTEXT_TRASH_STATE 0x00000020 -#define KGSL_CONTEXT_PER_CONTEXT_TS 0x00000040 -#define KGSL_CONTEXT_INVALID 0xffffffff -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_MEMFLAGS_GPUREADONLY 0x01000000 -#define KGSL_FLAGS_NORMALMODE 0x00000000 -#define KGSL_FLAGS_SAFEMODE 0x00000001 -#define KGSL_FLAGS_INITIALIZED0 0x00000002 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_FLAGS_INITIALIZED 0x00000004 -#define KGSL_FLAGS_STARTED 0x00000008 -#define KGSL_FLAGS_ACTIVE 0x00000010 -#define KGSL_FLAGS_RESERVED0 0x00000020 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_FLAGS_RESERVED1 0x00000040 -#define KGSL_FLAGS_RESERVED2 0x00000080 -#define KGSL_FLAGS_SOFT_RESET 0x00000100 -#define KGSL_FLAGS_PER_CONTEXT_TIMESTAMPS 0x00000200 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_CLK_SRC 0x00000001 -#define KGSL_CLK_CORE 0x00000002 -#define KGSL_CLK_IFACE 0x00000004 -#define KGSL_CLK_MEM 0x00000008 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_CLK_MEM_IFACE 0x00000010 -#define KGSL_CLK_AXI 0x00000020 -enum kgsl_ctx_reset_stat { - KGSL_CTX_STAT_NO_ERROR = 0x00000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT = 0x00000001, - KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT = 0x00000002, - KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT = 0x00000003 -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define KGSL_CONVERT_TO_MBPS(val) (val*1000*1000U) -enum kgsl_deviceid { - KGSL_DEVICE_3D0 = 0x00000000, - KGSL_DEVICE_2D0 = 0x00000001, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_DEVICE_2D1 = 0x00000002, - KGSL_DEVICE_MAX = 0x00000003 -}; -enum kgsl_user_mem_type { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_USER_MEM_TYPE_PMEM = 0x00000000, - KGSL_USER_MEM_TYPE_ASHMEM = 0x00000001, - KGSL_USER_MEM_TYPE_ADDR = 0x00000002, - KGSL_USER_MEM_TYPE_ION = 0x00000003, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_USER_MEM_TYPE_MAX = 0x00000004, -}; -struct kgsl_devinfo { - unsigned int device_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int chip_id; - unsigned int mmu_enabled; - unsigned int gmem_gpubaseaddr; - unsigned int gpu_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int gmem_sizebytes; -}; -struct kgsl_devmemstore { - volatile unsigned int soptimestamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int sbz; - volatile unsigned int eoptimestamp; - unsigned int sbz2; - volatile unsigned int ts_cmp_enable; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int sbz3; - volatile unsigned int ref_wait_ts; - unsigned int sbz4; - unsigned int current_context; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int sbz5; -}; -#define KGSL_MEMSTORE_OFFSET(ctxt_id, field) ((ctxt_id)*sizeof(struct kgsl_devmemstore) + offsetof(struct kgsl_devmemstore, field)) -enum kgsl_timestamp_type { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_TIMESTAMP_CONSUMED = 0x00000001, - KGSL_TIMESTAMP_RETIRED = 0x00000002, - KGSL_TIMESTAMP_QUEUED = 0x00000003, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum kgsl_property_type { - KGSL_PROP_DEVICE_INFO = 0x00000001, - KGSL_PROP_DEVICE_SHADOW = 0x00000002, - KGSL_PROP_DEVICE_POWER = 0x00000003, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_PROP_SHMEM = 0x00000004, - KGSL_PROP_SHMEM_APERTURES = 0x00000005, - KGSL_PROP_MMU_ENABLE = 0x00000006, - KGSL_PROP_INTERRUPT_WAITS = 0x00000007, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_PROP_VERSION = 0x00000008, - KGSL_PROP_GPU_RESET_STAT = 0x00000009, - KGSL_PROP_PWRCTRL = 0x0000000E, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_shadowprop { - unsigned int gpuaddr; - unsigned int size; - unsigned int flags; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct kgsl_version { - unsigned int drv_major; - unsigned int drv_minor; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int dev_major; - unsigned int dev_minor; -}; -struct kgsl_ibdesc { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int gpuaddr; - void *hostptr; - unsigned int sizedwords; - unsigned int ctrl; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define KGSL_IOC_TYPE 0x09 -struct kgsl_device_getproperty { - unsigned int type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *value; - unsigned int sizebytes; -}; -#define IOCTL_KGSL_DEVICE_GETPROPERTY _IOWR(KGSL_IOC_TYPE, 0x2, struct kgsl_device_getproperty) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_device_waittimestamp { - unsigned int timestamp; - unsigned int timeout; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x6, struct kgsl_device_waittimestamp) -struct kgsl_device_waittimestamp_ctxtid { - unsigned int context_id; - unsigned int timestamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int timeout; -}; -#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x7, struct kgsl_device_waittimestamp_ctxtid) -struct kgsl_ringbuffer_issueibcmds { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int drawctxt_id; - unsigned int ibdesc_addr; - unsigned int numibs; - unsigned int timestamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int flags; -}; -#define IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS _IOWR(KGSL_IOC_TYPE, 0x10, struct kgsl_ringbuffer_issueibcmds) -struct kgsl_cmdstream_readtimestamp { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int type; - unsigned int timestamp; -}; -#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP _IOWR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp) -struct kgsl_cmdstream_freememontimestamp { - unsigned int gpuaddr; - unsigned int type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int timestamp; -}; -#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp) -#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_drawctxt_create { - unsigned int flags; - unsigned int drawctxt_id; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_DRAWCTXT_CREATE _IOWR(KGSL_IOC_TYPE, 0x13, struct kgsl_drawctxt_create) -struct kgsl_drawctxt_destroy { - unsigned int drawctxt_id; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_DRAWCTXT_DESTROY _IOW(KGSL_IOC_TYPE, 0x14, struct kgsl_drawctxt_destroy) -struct kgsl_map_user_mem { - int fd; - unsigned int gpuaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int len; - unsigned int offset; - unsigned int hostptr; - enum kgsl_user_mem_type memtype; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int reserved; -}; -#define IOCTL_KGSL_MAP_USER_MEM _IOWR(KGSL_IOC_TYPE, 0x15, struct kgsl_map_user_mem) -struct kgsl_cmdstream_readtimestamp_ctxtid { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int context_id; - unsigned int type; - unsigned int timestamp; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_CTXTID _IOWR(KGSL_IOC_TYPE, 0x16, struct kgsl_cmdstream_readtimestamp_ctxtid) -struct kgsl_cmdstream_freememontimestamp_ctxtid { - unsigned int context_id; - unsigned int gpuaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int type; - unsigned int timestamp; -}; -#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x17, struct kgsl_cmdstream_freememontimestamp_ctxtid) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_sharedmem_from_pmem { - int pmem_fd; - unsigned int gpuaddr; - unsigned int len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int offset; -}; -#define IOCTL_KGSL_SHAREDMEM_FROM_PMEM _IOWR(KGSL_IOC_TYPE, 0x20, struct kgsl_sharedmem_from_pmem) -struct kgsl_sharedmem_free { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int gpuaddr; -}; -#define IOCTL_KGSL_SHAREDMEM_FREE _IOW(KGSL_IOC_TYPE, 0x21, struct kgsl_sharedmem_free) -struct kgsl_cff_user_event { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned char cff_opcode; - unsigned int op1; - unsigned int op2; - unsigned int op3; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int op4; - unsigned int op5; - unsigned int __pad[2]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_CFF_USER_EVENT _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_cff_user_event) -struct kgsl_gmem_desc { - unsigned int x; - unsigned int y; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int width; - unsigned int height; - unsigned int pitch; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_buffer_desc { - void *hostptr; - unsigned int gpuaddr; - int size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int format; - unsigned int pitch; - unsigned int enabled; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_bind_gmem_shadow { - unsigned int drawctxt_id; - struct kgsl_gmem_desc gmem_desc; - unsigned int shadow_x; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int shadow_y; - struct kgsl_buffer_desc shadow_buffer; - unsigned int buffer_id; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_DRAWCTXT_BIND_GMEM_SHADOW _IOW(KGSL_IOC_TYPE, 0x22, struct kgsl_bind_gmem_shadow) -struct kgsl_sharedmem_from_vmalloc { - unsigned int gpuaddr; - unsigned int hostptr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int flags; -}; -#define IOCTL_KGSL_SHAREDMEM_FROM_VMALLOC _IOWR(KGSL_IOC_TYPE, 0x23, struct kgsl_sharedmem_from_vmalloc) -#define IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE _IOW(KGSL_IOC_TYPE, 0x24, struct kgsl_sharedmem_free) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_drawctxt_set_bin_base_offset { - unsigned int drawctxt_id; - unsigned int offset; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_DRAWCTXT_SET_BIN_BASE_OFFSET _IOW(KGSL_IOC_TYPE, 0x25, struct kgsl_drawctxt_set_bin_base_offset) -enum kgsl_cmdwindow_type { - KGSL_CMDWINDOW_MIN = 0x00000000, - KGSL_CMDWINDOW_2D = 0x00000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - KGSL_CMDWINDOW_3D = 0x00000001, - KGSL_CMDWINDOW_MMU = 0x00000002, - KGSL_CMDWINDOW_ARBITER = 0x000000FF, - KGSL_CMDWINDOW_MAX = 0x000000FF, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct kgsl_cmdwindow_write { - enum kgsl_cmdwindow_type target; - unsigned int addr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int data; -}; -#define IOCTL_KGSL_CMDWINDOW_WRITE _IOW(KGSL_IOC_TYPE, 0x2e, struct kgsl_cmdwindow_write) -struct kgsl_gpumem_alloc { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long gpuaddr; - size_t size; - unsigned int flags; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_GPUMEM_ALLOC _IOWR(KGSL_IOC_TYPE, 0x2f, struct kgsl_gpumem_alloc) -struct kgsl_cff_syncmem { - unsigned int gpuaddr; - unsigned int len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int __pad[2]; -}; -#define IOCTL_KGSL_CFF_SYNCMEM _IOW(KGSL_IOC_TYPE, 0x30, struct kgsl_cff_syncmem) -struct kgsl_timestamp_event { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int type; - unsigned int timestamp; - unsigned int context_id; - void *priv; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t len; -}; -#define IOCTL_KGSL_TIMESTAMP_EVENT_OLD _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_timestamp_event) -#define KGSL_TIMESTAMP_EVENT_GENLOCK 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_timestamp_event_genlock { - int handle; -}; -#define KGSL_TIMESTAMP_EVENT_FENCE 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct kgsl_timestamp_event_fence { - int fence_fd; -}; -#define IOCTL_KGSL_SETPROPERTY _IOW(KGSL_IOC_TYPE, 0x32, struct kgsl_device_getproperty) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IOCTL_KGSL_TIMESTAMP_EVENT _IOWR(KGSL_IOC_TYPE, 0x33, struct kgsl_timestamp_event) -#endif diff --git a/libc/kernel/common/linux/msm_mdp.h b/libc/kernel/common/linux/msm_mdp.h deleted file mode 100644 index 72e9072..0000000 --- a/libc/kernel/common/linux/msm_mdp.h +++ /dev/null @@ -1,530 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_MDP_H_ -#define _MSM_MDP_H_ -#include <linux/types.h> -#include <linux/fb.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_IOCTL_MAGIC 'm' -#define MSMFB_GRP_DISP _IOW(MSMFB_IOCTL_MAGIC, 1, unsigned int) -#define MSMFB_BLIT _IOW(MSMFB_IOCTL_MAGIC, 2, unsigned int) -#define MSMFB_SUSPEND_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 128, unsigned int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_RESUME_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 129, unsigned int) -#define MSMFB_CURSOR _IOW(MSMFB_IOCTL_MAGIC, 130, struct fb_cursor) -#define MSMFB_SET_LUT _IOW(MSMFB_IOCTL_MAGIC, 131, struct fb_cmap) -#define MSMFB_HISTOGRAM _IOWR(MSMFB_IOCTL_MAGIC, 132, struct mdp_histogram_data) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_GET_CCS_MATRIX _IOWR(MSMFB_IOCTL_MAGIC, 133, struct mdp_ccs) -#define MSMFB_SET_CCS_MATRIX _IOW(MSMFB_IOCTL_MAGIC, 134, struct mdp_ccs) -#define MSMFB_OVERLAY_SET _IOWR(MSMFB_IOCTL_MAGIC, 135, struct mdp_overlay) -#define MSMFB_OVERLAY_UNSET _IOW(MSMFB_IOCTL_MAGIC, 136, unsigned int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_OVERLAY_PLAY _IOW(MSMFB_IOCTL_MAGIC, 137, struct msmfb_overlay_data) -#define MSMFB_OVERLAY_QUEUE MSMFB_OVERLAY_PLAY -#define MSMFB_GET_PAGE_PROTECTION _IOR(MSMFB_IOCTL_MAGIC, 138, struct mdp_page_protection) -#define MSMFB_SET_PAGE_PROTECTION _IOW(MSMFB_IOCTL_MAGIC, 139, struct mdp_page_protection) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_OVERLAY_GET _IOR(MSMFB_IOCTL_MAGIC, 140, struct mdp_overlay) -#define MSMFB_OVERLAY_PLAY_ENABLE _IOW(MSMFB_IOCTL_MAGIC, 141, unsigned int) -#define MSMFB_OVERLAY_BLT _IOWR(MSMFB_IOCTL_MAGIC, 142, struct msmfb_overlay_blt) -#define MSMFB_OVERLAY_BLT_OFFSET _IOW(MSMFB_IOCTL_MAGIC, 143, unsigned int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_HISTOGRAM_START _IOR(MSMFB_IOCTL_MAGIC, 144, struct mdp_histogram_start_req) -#define MSMFB_HISTOGRAM_STOP _IOR(MSMFB_IOCTL_MAGIC, 145, unsigned int) -#define MSMFB_NOTIFY_UPDATE _IOW(MSMFB_IOCTL_MAGIC, 146, unsigned int) -#define MSMFB_OVERLAY_3D _IOWR(MSMFB_IOCTL_MAGIC, 147, struct msmfb_overlay_3d) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_MIXER_INFO _IOWR(MSMFB_IOCTL_MAGIC, 148, struct msmfb_mixer_info_req) -#define MSMFB_OVERLAY_PLAY_WAIT _IOWR(MSMFB_IOCTL_MAGIC, 149, struct msmfb_overlay_data) -#define MSMFB_WRITEBACK_INIT _IO(MSMFB_IOCTL_MAGIC, 150) -#define MSMFB_WRITEBACK_START _IO(MSMFB_IOCTL_MAGIC, 151) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_WRITEBACK_STOP _IO(MSMFB_IOCTL_MAGIC, 152) -#define MSMFB_WRITEBACK_QUEUE_BUFFER _IOW(MSMFB_IOCTL_MAGIC, 153, struct msmfb_data) -#define MSMFB_WRITEBACK_DEQUEUE_BUFFER _IOW(MSMFB_IOCTL_MAGIC, 154, struct msmfb_data) -#define MSMFB_WRITEBACK_TERMINATE _IO(MSMFB_IOCTL_MAGIC, 155) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_MDP_PP _IOWR(MSMFB_IOCTL_MAGIC, 156, struct msmfb_mdp_pp) -#define MSMFB_OVERLAY_VSYNC_CTRL _IOW(MSMFB_IOCTL_MAGIC, 160, unsigned int) -#define MSMFB_VSYNC_CTRL _IOW(MSMFB_IOCTL_MAGIC, 161, unsigned int) -#define MSMFB_BUFFER_SYNC _IOW(MSMFB_IOCTL_MAGIC, 162, struct mdp_buf_sync) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_DISPLAY_COMMIT _IOW(MSMFB_IOCTL_MAGIC, 164, struct mdp_display_commit) -#define FB_TYPE_3D_PANEL 0x10101010 -#define MDP_IMGTYPE2_START 0x10000 -#define MSMFB_DRIVER_VERSION 0xF9E8D701 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum { - NOTIFY_UPDATE_START, - NOTIFY_UPDATE_STOP, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum { - MDP_RGB_565, - MDP_XRGB_8888, - MDP_Y_CBCR_H2V2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_Y_CBCR_H2V2_ADRENO, - MDP_ARGB_8888, - MDP_RGB_888, - MDP_Y_CRCB_H2V2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_YCRYCB_H2V1, - MDP_Y_CRCB_H2V1, - MDP_Y_CBCR_H2V1, - MDP_Y_CRCB_H1V2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_Y_CBCR_H1V2, - MDP_RGBA_8888, - MDP_BGRA_8888, - MDP_RGBX_8888, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_Y_CRCB_H2V2_TILE, - MDP_Y_CBCR_H2V2_TILE, - MDP_Y_CR_CB_H2V2, - MDP_Y_CR_CB_GH2V2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_Y_CB_CR_H2V2, - MDP_Y_CRCB_H1V1, - MDP_Y_CBCR_H1V1, - MDP_YCRCB_H1V1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_YCBCR_H1V1, - MDP_BGR_565, - MDP_IMGTYPE_LIMIT, - MDP_RGB_BORDERFILL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_FB_FORMAT = MDP_IMGTYPE2_START, - MDP_IMGTYPE_LIMIT2 -}; -enum { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - PMEM_IMG, - FB_IMG, -}; -enum { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - HSIC_HUE = 0, - HSIC_SAT, - HSIC_INT, - HSIC_CON, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - NUM_HSIC_PARAM, -}; -#define MDSS_MDP_ROT_ONLY 0x80 -#define MDSS_MDP_RIGHT_MIXER 0x100 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_ROT_NOP 0 -#define MDP_FLIP_LR 0x1 -#define MDP_FLIP_UD 0x2 -#define MDP_ROT_90 0x4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_ROT_180 (MDP_FLIP_UD|MDP_FLIP_LR) -#define MDP_ROT_270 (MDP_ROT_90|MDP_FLIP_UD|MDP_FLIP_LR) -#define MDP_DITHER 0x8 -#define MDP_BLUR 0x10 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_BLEND_FG_PREMULT 0x20000 -#define MDP_DEINTERLACE 0x80000000 -#define MDP_SHARPENING 0x40000000 -#define MDP_NO_DMA_BARRIER_START 0x20000000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_NO_DMA_BARRIER_END 0x10000000 -#define MDP_NO_BLIT 0x08000000 -#define MDP_BLIT_WITH_DMA_BARRIERS 0x000 -#define MDP_BLIT_WITH_NO_DMA_BARRIERS (MDP_NO_DMA_BARRIER_START | MDP_NO_DMA_BARRIER_END) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_BLIT_SRC_GEM 0x04000000 -#define MDP_BLIT_DST_GEM 0x02000000 -#define MDP_BLIT_NON_CACHED 0x01000000 -#define MDP_OV_PIPE_SHARE 0x00800000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_DEINTERLACE_ODD 0x00400000 -#define MDP_OV_PLAY_NOWAIT 0x00200000 -#define MDP_SOURCE_ROTATED_90 0x00100000 -#define MDP_OVERLAY_PP_CFG_EN 0x00080000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_BACKEND_COMPOSITION 0x00040000 -#define MDP_BORDERFILL_SUPPORTED 0x00010000 -#define MDP_SECURE_OVERLAY_SESSION 0x00008000 -#define MDP_MEMORY_ID_TYPE_FB 0x00001000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_TRANSP_NOP 0xffffffff -#define MDP_ALPHA_NOP 0xff -#define MDP_FB_PAGE_PROTECTION_NONCACHED (0) -#define MDP_FB_PAGE_PROTECTION_WRITECOMBINE (1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_FB_PAGE_PROTECTION_WRITETHROUGHCACHE (2) -#define MDP_FB_PAGE_PROTECTION_WRITEBACKCACHE (3) -#define MDP_FB_PAGE_PROTECTION_WRITEBACKWACACHE (4) -#define MDP_FB_PAGE_PROTECTION_INVALID (5) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_NUM_FB_PAGE_PROTECTION_VALUES (5) -struct mdp_rect { - uint32_t x; - uint32_t y; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t w; - uint32_t h; -}; -struct mdp_img { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t width; - uint32_t height; - uint32_t format; - uint32_t offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int memory_id; - uint32_t priv; -}; -#define MDP_CCS_RGB2YUV 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_CCS_YUV2RGB 1 -#define MDP_CCS_SIZE 9 -#define MDP_BV_SIZE 3 -struct mdp_ccs { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int direction; - uint16_t ccs[MDP_CCS_SIZE]; - uint16_t bv[MDP_BV_SIZE]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_csc { - int id; - uint32_t csc_mv[9]; - uint32_t csc_pre_bv[3]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t csc_post_bv[3]; - uint32_t csc_pre_lv[6]; - uint32_t csc_post_lv[6]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_BLIT_REQ_VERSION 2 -struct mdp_blit_req { - struct mdp_img src; - struct mdp_img dst; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct mdp_rect src_rect; - struct mdp_rect dst_rect; - uint32_t alpha; - uint32_t transp_mask; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t flags; - int sharpening_strength; -}; -struct mdp_blit_req_list { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t count; - struct mdp_blit_req req[]; -}; -#define MSMFB_DATA_VERSION 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msmfb_data { - uint32_t offset; - int memory_id; - int id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t flags; - uint32_t priv; - uint32_t iova; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSMFB_NEW_REQUEST -1 -struct msmfb_overlay_data { - uint32_t id; - struct msmfb_data data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t version_key; - struct msmfb_data plane1_data; - struct msmfb_data plane2_data; - struct msmfb_data dst_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msmfb_img { - uint32_t width; - uint32_t height; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t format; -}; -#define MSMFB_WRITEBACK_DEQUEUE_BLOCKING 0x1 -struct msmfb_writeback_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msmfb_data buf_info; - struct msmfb_img img; -}; -#define MDP_PP_OPS_READ 0x2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_PP_OPS_WRITE 0x4 -struct mdp_qseed_cfg { - uint32_t table_num; - uint32_t ops; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t len; - uint32_t *data; -}; -struct mdp_qseed_cfg_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t block; - struct mdp_qseed_cfg qseed_data; -}; -#define MDP_OVERLAY_PP_CSC_CFG 0x1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_OVERLAY_PP_QSEED_CFG 0x2 -#define MDP_CSC_FLAG_ENABLE 0x1 -#define MDP_CSC_FLAG_YUV_IN 0x2 -#define MDP_CSC_FLAG_YUV_OUT 0x4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_csc_cfg { - uint32_t flags; - uint32_t csc_mv[9]; - uint32_t csc_pre_bv[3]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t csc_post_bv[3]; - uint32_t csc_pre_lv[6]; - uint32_t csc_post_lv[6]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_csc_cfg_data { - uint32_t block; - struct mdp_csc_cfg csc_data; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_overlay_pp_params { - uint32_t config_ops; - struct mdp_csc_cfg csc_cfg; - struct mdp_qseed_cfg qseed_cfg[2]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct mdp_overlay { - struct msmfb_img src; - struct mdp_rect src_rect; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct mdp_rect dst_rect; - uint32_t z_order; - uint32_t is_fg; - uint32_t alpha; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t transp_mask; - uint32_t flags; - uint32_t id; - uint32_t user_data[8]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct mdp_overlay_pp_params overlay_pp_cfg; -}; -struct msmfb_overlay_3d { - uint32_t is_3d; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t width; - uint32_t height; -}; -struct msmfb_overlay_blt { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t enable; - uint32_t offset; - uint32_t width; - uint32_t height; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t bpp; -}; -struct mdp_histogram { - uint32_t frame_cnt; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t bin_cnt; - uint32_t *r; - uint32_t *g; - uint32_t *b; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum { - MDP_BLOCK_RESERVED = 0, - MDP_BLOCK_OVERLAY_0, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_BLOCK_OVERLAY_1, - MDP_BLOCK_VG_1, - MDP_BLOCK_VG_2, - MDP_BLOCK_RGB_1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_BLOCK_RGB_2, - MDP_BLOCK_DMA_P, - MDP_BLOCK_DMA_S, - MDP_BLOCK_DMA_E, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MDP_BLOCK_OVERLAY_2, - MDP_BLOCK_MAX, -}; -struct mdp_histogram_start_req { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t block; - uint8_t frame_cnt; - uint8_t bit_mask; - uint8_t num_bins; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct mdp_histogram_data { - uint32_t block; - uint8_t bin_cnt; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t *c0; - uint32_t *c1; - uint32_t *c2; - uint32_t *extra_info; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct mdp_pcc_coeff { - uint32_t c, r, g, b, rr, gg, bb, rg, gb, rb, rgb_0, rgb_1; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_pcc_cfg_data { - uint32_t block; - uint32_t ops; - struct mdp_pcc_coeff r, g, b; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum { - mdp_lut_igc, - mdp_lut_pgc, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - mdp_lut_hist, - mdp_lut_max, -}; -struct mdp_igc_lut_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t block; - uint32_t len, ops; - uint32_t *c0_c1_data; - uint32_t *c2_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct mdp_ar_gc_lut_data { - uint32_t x_start; - uint32_t slope; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t offset; -}; -struct mdp_pgc_lut_data { - uint32_t block; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t flags; - uint8_t num_r_stages; - uint8_t num_g_stages; - uint8_t num_b_stages; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct mdp_ar_gc_lut_data *r_data; - struct mdp_ar_gc_lut_data *g_data; - struct mdp_ar_gc_lut_data *b_data; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_hist_lut_data { - uint32_t block; - uint32_t ops; - uint32_t len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t *data; -}; -struct mdp_lut_cfg_data { - uint32_t lut_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - union { - struct mdp_igc_lut_data igc_lut_data; - struct mdp_pgc_lut_data pgc_lut_data; - struct mdp_hist_lut_data hist_lut_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - } data; -}; -struct mdp_bl_scale_data { - uint32_t min_lvl; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t scale; -}; -enum { - mdp_op_pcc_cfg, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - mdp_op_csc_cfg, - mdp_op_lut_cfg, - mdp_op_qseed_cfg, - mdp_bl_scale_cfg, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - mdp_op_max, -}; -struct msmfb_mdp_pp { - uint32_t op; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - union { - struct mdp_pcc_cfg_data pcc_cfg_data; - struct mdp_csc_cfg_data csc_cfg_data; - struct mdp_lut_cfg_data lut_cfg_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct mdp_qseed_cfg_data qseed_cfg_data; - struct mdp_bl_scale_data bl_scale_data; - } data; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MDP_MAX_FENCE_FD 10 -#define MDP_BUF_SYNC_FLAG_WAIT 1 -struct mdp_buf_sync { - uint32_t flags; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t acq_fen_fd_cnt; - int *acq_fen_fd; - int *rel_fen_fd; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_buf_fence { - uint32_t flags; - uint32_t acq_fen_fd_cnt; - int acq_fen_fd[MDP_MAX_FENCE_FD]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int rel_fen_fd[MDP_MAX_FENCE_FD]; -}; -#define MDP_DISPLAY_COMMIT_OVERLAY 0x00000001 -struct mdp_display_commit { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t flags; - uint32_t wait_for_finish; - struct fb_var_screeninfo var; - struct mdp_buf_fence buf_fence; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct mdp_page_protection { - uint32_t page_protection; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct mdp_mixer_info { - int pndx; - int pnum; - int ptype; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int mixer_num; - int z_order; -}; -#define MAX_PIPE_PER_MIXER 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msmfb_mixer_info_req { - int mixer_num; - int cnt; - struct mdp_mixer_info info[MAX_PIPE_PER_MIXER]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum { - DISPLAY_SUBSYSTEM_ID, - ROTATOR_SUBSYSTEM_ID, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#endif diff --git a/libc/kernel/common/linux/msm_q6vdec.h b/libc/kernel/common/linux/msm_q6vdec.h deleted file mode 100644 index d1281b0..0000000 --- a/libc/kernel/common/linux/msm_q6vdec.h +++ /dev/null @@ -1,231 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_VDEC_H_ -#define _MSM_VDEC_H_ -#include <linux/types.h> -#define VDEC_IOCTL_MAGIC 'v' -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_INITIALIZE _IOWR(VDEC_IOCTL_MAGIC, 1, struct vdec_init) -#define VDEC_IOCTL_SETBUFFERS _IOW(VDEC_IOCTL_MAGIC, 2, struct vdec_buffer) -#define VDEC_IOCTL_QUEUE _IOWR(VDEC_IOCTL_MAGIC, 3, struct vdec_input_buf) -#define VDEC_IOCTL_REUSEFRAMEBUFFER _IOW(VDEC_IOCTL_MAGIC, 4, unsigned int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_FLUSH _IOW(VDEC_IOCTL_MAGIC, 5, unsigned int) -#define VDEC_IOCTL_EOS _IO(VDEC_IOCTL_MAGIC, 6) -#define VDEC_IOCTL_GETMSG _IOR(VDEC_IOCTL_MAGIC, 7, struct vdec_msg) -#define VDEC_IOCTL_CLOSE _IO(VDEC_IOCTL_MAGIC, 8) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_FREEBUFFERS _IOW(VDEC_IOCTL_MAGIC, 9, struct vdec_buf_info) -#define VDEC_IOCTL_GETDECATTRIBUTES _IOR(VDEC_IOCTL_MAGIC, 10, struct vdec_dec_attributes) -enum { - VDEC_FRAME_DECODE_OK, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_FRAME_DECODE_ERR, - VDEC_FATAL_ERR, - VDEC_FLUSH_FINISH, - VDEC_EOS, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_FRAME_FLUSH, - VDEC_STREAM_SWITCH, - VDEC_SUSPEND_FINISH, - VDEC_BUFFER_CONSUMED -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum { - VDEC_FLUSH_INPUT, - VDEC_FLUSH_OUTPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_FLUSH_ALL -}; -enum { - VDEC_BUFFER_TYPE_INPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_BUFFER_TYPE_OUTPUT, - VDEC_BUFFER_TYPE_INTERNAL1, - VDEC_BUFFER_TYPE_INTERNAL2, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum { - VDEC_QUEUE_SUCCESS, - VDEC_QUEUE_FAILED, - VDEC_QUEUE_BADSTATE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct vdec_input_buf_info { - u32 offset; - u32 data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 size; - int timestamp_lo; - int timestamp_hi; - int avsync_state; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 flags; -}; -struct vdec_buf_desc { - u32 bufsize; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 num_min_buffers; - u32 num_max_buffers; -}; -struct vdec_buf_req { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 max_input_queue_size; - struct vdec_buf_desc input; - struct vdec_buf_desc output; - struct vdec_buf_desc dec_req1; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_buf_desc dec_req2; -}; -struct vdec_region_info { - u32 src_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 offset; - u32 size; -}; -struct vdec_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 fourcc; - u32 width; - u32 height; - u32 order; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 notify_enable; - u32 vc1_rowbase; - u32 h264_startcode_detect; - u32 h264_nal_len_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 postproc_flag; - u32 fruc_enable; - u32 reserved; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_vc1_panscan_regions { - int num; - int width[4]; - int height[4]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int xoffset[4]; - int yoffset[4]; -}; -struct vdec_cropping_window { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 x1; - u32 y1; - u32 x2; - u32 y2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct vdec_frame_info { - u32 status; - u32 offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 data1; - u32 data2; - int timestamp_lo; - int timestamp_hi; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int cal_timestamp_lo; - int cal_timestamp_hi; - u32 dec_width; - u32 dec_height; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_cropping_window cwin; - u32 picture_type[2]; - u32 picture_format; - u32 vc1_rangeY; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 vc1_rangeUV; - u32 picture_resolution; - u32 frame_disp_repeat; - u32 repeat_first_field; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 top_field_first; - u32 interframe_interp; - struct vdec_vc1_panscan_regions panscan; - u32 concealed_macblk_num; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 flags; - u32 performance_stats; - u32 data3; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_buf_info { - u32 buf_type; - struct vdec_region_info region; - u32 num_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 islast; -}; -struct vdec_buffer { - u32 pmem_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_buf_info buf; -}; -struct vdec_sequence { - u8 *header; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 len; -}; -struct vdec_config_sps { - struct vdec_config cfg; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_sequence seq; -}; -#define VDEC_MSG_REUSEINPUTBUFFER 1 -#define VDEC_MSG_FRAMEDONE 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_msg { - u32 id; - union { - u32 buf_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_frame_info vfr_info; - }; -}; -struct vdec_init { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_config_sps sps_cfg; - struct vdec_buf_req *buf_req; -}; -struct vdec_input_buf { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 pmem_id; - struct vdec_input_buf_info buffer; - struct vdec_queue_status *queue_status; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_queue_status { - u32 status; -}; -struct vdec_dec_attributes { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 fourcc; - u32 profile; - u32 level; - u32 dec_pic_width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - u32 dec_pic_height; - struct vdec_buf_desc input; - struct vdec_buf_desc output; - struct vdec_buf_desc dec_req1; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_buf_desc dec_req2; -}; -#endif diff --git a/libc/kernel/common/linux/msm_q6venc.h b/libc/kernel/common/linux/msm_q6venc.h deleted file mode 100644 index a214de5..0000000 --- a/libc/kernel/common/linux/msm_q6venc.h +++ /dev/null @@ -1,305 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_VENC_H_ -#define _MSM_VENC_H_ -#include <linux/types.h> -#define VENC_MAX_RECON_BUFFERS 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_FLAG_EOS 0x00000001 -#define VENC_FLAG_END_OF_FRAME 0x00000010 -#define VENC_FLAG_SYNC_FRAME 0x00000020 -#define VENC_FLAG_EXTRA_DATA 0x00000040 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_FLAG_CODEC_CONFIG 0x00000080 -enum venc_flush_type { - VENC_FLUSH_INPUT, - VENC_FLUSH_OUTPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_FLUSH_ALL -}; -enum venc_state_type { - VENC_STATE_PAUSE = 0x1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_STATE_START = 0x2, - VENC_STATE_STOP = 0x4 -}; -enum venc_event_type_enum { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_EVENT_START_STATUS, - VENC_EVENT_STOP_STATUS, - VENC_EVENT_SUSPEND_STATUS, - VENC_EVENT_RESUME_STATUS, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_EVENT_FLUSH_STATUS, - VENC_EVENT_RELEASE_INPUT, - VENC_EVENT_DELIVER_OUTPUT, - VENC_EVENT_UNKNOWN_STATUS -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum venc_status_code { - VENC_STATUS_SUCCESS, - VENC_STATUS_ERROR, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_STATUS_INVALID_STATE, - VENC_STATUS_FLUSHING, - VENC_STATUS_INVALID_PARAM, - VENC_STATUS_CMD_QUEUE_FULL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_STATUS_CRITICAL, - VENC_STATUS_INSUFFICIENT_RESOURCES, - VENC_STATUS_TIMEOUT -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum venc_msg_code { - VENC_MSG_INDICATION, - VENC_MSG_INPUT_BUFFER_DONE, - VENC_MSG_OUTPUT_BUFFER_DONE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_MSG_NEED_OUTPUT_BUFFER, - VENC_MSG_FLUSH, - VENC_MSG_START, - VENC_MSG_STOP, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_MSG_PAUSE, - VENC_MSG_RESUME, - VENC_MSG_STOP_READING_MSG -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum venc_error_code { - VENC_S_SUCCESS, - VENC_S_EFAIL, - VENC_S_EFATAL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_S_EBADPARAM, - VENC_S_EINVALSTATE, - VENC_S_ENOSWRES, - VENC_S_ENOHWRES, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_S_EBUFFREQ, - VENC_S_EINVALCMD, - VENC_S_ETIMEOUT, - VENC_S_ENOREATMPT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_S_ENOPREREQ, - VENC_S_ECMDQFULL, - VENC_S_ENOTSUPP, - VENC_S_ENOTIMPL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_S_ENOTPMEM, - VENC_S_EFLUSHED, - VENC_S_EINSUFBUF, - VENC_S_ESAMESTATE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_S_EINVALTRANS -}; -enum venc_mem_region_enum { - VENC_PMEM_EBI1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VENC_PMEM_SMI -}; -struct venc_buf_type { - unsigned int region; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int phys; - unsigned int size; - int offset; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_qp_range { - unsigned int min_qp; - unsigned int max_qp; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_frame_rate { - unsigned int frame_rate_num; - unsigned int frame_rate_den; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_slice_info { - unsigned int slice_mode; - unsigned int units_per_slice; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_extra_data { - unsigned int slice_extra_data_flag; - unsigned int slice_client_data1; - unsigned int slice_client_data2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int slice_client_data3; - unsigned int none_extra_data_flag; - unsigned int none_client_data1; - unsigned int none_client_data2; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int none_client_data3; -}; -struct venc_common_config { - unsigned int standard; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int input_frame_height; - unsigned int input_frame_width; - unsigned int output_frame_height; - unsigned int output_frame_width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int rotation_angle; - unsigned int intra_period; - unsigned int rate_control; - struct venc_frame_rate frame_rate; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int bitrate; - struct venc_qp_range qp_range; - unsigned int iframe_qp; - unsigned int pframe_qp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_slice_info slice_config; - struct venc_extra_data extra_data; -}; -struct venc_nonio_buf_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_buf_type recon_buf1; - struct venc_buf_type recon_buf2; - struct venc_buf_type wb_buf; - struct venc_buf_type cmd_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_buf_type vlc_buf; -}; -struct venc_mpeg4_config { - unsigned int profile; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int level; - unsigned int time_resolution; - unsigned int ac_prediction; - unsigned int hec_interval; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int data_partition; - unsigned int short_header; - unsigned int rvlc_enable; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_h263_config { - unsigned int profile; - unsigned int level; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_h264_config { - unsigned int profile; - unsigned int level; - unsigned int max_nal; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int idr_period; -}; -struct venc_pmem { - int src; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int fd; - unsigned int offset; - void *virt; - void *phys; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int size; -}; -struct venc_buffer { - unsigned char *ptr_buffer; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int size; - unsigned int len; - unsigned int offset; - long long time_stamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int flags; - unsigned int client_data; -}; -struct venc_buffers { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_pmem recon_buf[VENC_MAX_RECON_BUFFERS]; - struct venc_pmem wb_buf; - struct venc_pmem cmd_buf; - struct venc_pmem vlc_buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_buffer_flush { - unsigned int flush_mode; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -union venc_msg_data { - struct venc_buffer buf; - struct venc_buffer_flush flush_ret; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_msg { - unsigned int status_code; - unsigned int msg_code; - union venc_msg_data msg_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int msg_data_size; -}; -union venc_codec_config { - struct venc_mpeg4_config mpeg4_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_h263_config h263_params; - struct venc_h264_config h264_params; -}; -struct venc_q6_config { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_common_config config_params; - union venc_codec_config codec_params; - struct venc_nonio_buf_config buf_params; - void *callback_event; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_hdr_config { - struct venc_common_config config_params; - union venc_codec_config codec_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_init_config { - struct venc_q6_config q6_config; - struct venc_buffers q6_bufs; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_seq_config { - int size; - struct venc_pmem buf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct venc_q6_config q6_config; -}; -#define VENC_IOCTL_MAGIC 'V' -#define VENC_IOCTL_CMD_READ_NEXT_MSG _IOWR(VENC_IOCTL_MAGIC, 1, struct venc_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_IOCTL_CMD_STOP_READ_MSG _IO(VENC_IOCTL_MAGIC, 2) -#define VENC_IOCTL_SET_INPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 3, struct venc_pmem) -#define VENC_IOCTL_SET_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 4, struct venc_pmem) -#define VENC_IOCTL_CMD_START _IOW(VENC_IOCTL_MAGIC, 5, struct venc_init_config) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_IOCTL_CMD_ENCODE_FRAME _IOW(VENC_IOCTL_MAGIC, 6, struct venc_buffer) -#define VENC_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VENC_IOCTL_MAGIC, 7, struct venc_buffer) -#define VENC_IOCTL_CMD_FLUSH _IOW(VENC_IOCTL_MAGIC, 8, struct venc_buffer_flush) -#define VENC_IOCTL_CMD_PAUSE _IO(VENC_IOCTL_MAGIC, 9) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_IOCTL_CMD_RESUME _IO(VENC_IOCTL_MAGIC, 10) -#define VENC_IOCTL_CMD_STOP _IO(VENC_IOCTL_MAGIC, 11) -#define VENC_IOCTL_SET_INTRA_PERIOD _IOW(VENC_IOCTL_MAGIC, 12, int) -#define VENC_IOCTL_CMD_REQUEST_IFRAME _IO(VENC_IOCTL_MAGIC, 13) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_IOCTL_GET_SEQUENCE_HDR _IOWR(VENC_IOCTL_MAGIC, 14, struct venc_seq_config) -#define VENC_IOCTL_SET_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 15, int) -#define VENC_IOCTL_SET_FRAME_RATE _IOW(VENC_IOCTL_MAGIC, 16, struct venc_frame_rate) -#define VENC_IOCTL_SET_TARGET_BITRATE _IOW(VENC_IOCTL_MAGIC, 17, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VENC_IOCTL_SET_QP_RANGE _IOW(VENC_IOCTL_MAGIC, 18, struct venc_qp_range) -#endif diff --git a/libc/kernel/common/linux/msm_rmnet.h b/libc/kernel/common/linux/msm_rmnet.h deleted file mode 100644 index 0ca2dfc..0000000 --- a/libc/kernel/common/linux/msm_rmnet.h +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_RMNET_H_ -#define _MSM_RMNET_H_ -#define RMNET_MODE_NONE (0x00) -#define RMNET_MODE_LLP_ETH (0x01) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define RMNET_MODE_LLP_IP (0x02) -#define RMNET_MODE_QOS (0x04) -#define RMNET_MODE_MASK (RMNET_MODE_LLP_ETH | RMNET_MODE_LLP_IP | RMNET_MODE_QOS) -#define RMNET_IS_MODE_QOS(mode) ((mode & RMNET_MODE_QOS) == RMNET_MODE_QOS) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define RMNET_IS_MODE_IP(mode) ((mode & RMNET_MODE_LLP_IP) == RMNET_MODE_LLP_IP) -enum rmnet_ioctl_cmds_e { - RMNET_IOCTL_SET_LLP_ETHERNET = 0x000089F1, - RMNET_IOCTL_SET_LLP_IP = 0x000089F2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - RMNET_IOCTL_GET_LLP = 0x000089F3, - RMNET_IOCTL_SET_QOS_ENABLE = 0x000089F4, - RMNET_IOCTL_SET_QOS_DISABLE = 0x000089F5, - RMNET_IOCTL_GET_QOS = 0x000089F6, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - RMNET_IOCTL_GET_OPMODE = 0x000089F7, - RMNET_IOCTL_OPEN = 0x000089F8, - RMNET_IOCTL_CLOSE = 0x000089F9, - RMNET_IOCTL_MAX -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define QMI_QOS_HDR_S __attribute((__packed__)) qmi_qos_hdr_s -struct QMI_QOS_HDR_S { - unsigned char version; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned char flags; - unsigned long flow_id; -}; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/libc/kernel/common/linux/msm_rotator.h b/libc/kernel/common/linux/msm_rotator.h deleted file mode 100644 index d731b76..0000000 --- a/libc/kernel/common/linux/msm_rotator.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_ROTATOR_H__ -#define __MSM_ROTATOR_H__ -#include <linux/types.h> -#include <linux/msm_mdp.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_ROTATOR_IOCTL_MAGIC 'R' -#define MSM_ROTATOR_IOCTL_START _IOWR(MSM_ROTATOR_IOCTL_MAGIC, 1, struct msm_rotator_img_info) -#define MSM_ROTATOR_IOCTL_ROTATE _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info) -#define MSM_ROTATOR_IOCTL_FINISH _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ROTATOR_VERSION_01 0xA5B4C301 -enum rotator_clk_type { - ROTATOR_CORE_CLK, - ROTATOR_PCLK, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ROTATOR_IMEM_CLK -}; -struct msm_rotator_img_info { - unsigned int session_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msmfb_img src; - struct msmfb_img dst; - struct mdp_rect src_rect; - unsigned int dst_x; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int dst_y; - unsigned char rotations; - int enable; - unsigned int downscale_ratio; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int secure; -}; -struct msm_rotator_data_info { - int session_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msmfb_data src; - struct msmfb_data dst; - unsigned int version_key; - struct msmfb_data src_chroma; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msmfb_data dst_chroma; -}; -struct msm_rot_clocks { - const char *clk_name; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - enum rotator_clk_type clk_type; - unsigned int clk_rate; -}; -struct msm_rotator_platform_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int number_of_clocks; - unsigned int hardware_version_number; - struct msm_rot_clocks *rotator_clks; - char rot_iommu_split_domain; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#endif diff --git a/libc/kernel/common/linux/msm_vidc_dec.h b/libc/kernel/common/linux/msm_vidc_dec.h deleted file mode 100644 index 074b7c3..0000000 --- a/libc/kernel/common/linux/msm_vidc_dec.h +++ /dev/null @@ -1,539 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_VIDC_DEC_H_ -#define _MSM_VIDC_DEC_H_ -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_S_BASE 0x40000000 -#define VDEC_S_SUCCESS (VDEC_S_BASE) -#define VDEC_S_EFAIL (VDEC_S_BASE + 1) -#define VDEC_S_EFATAL (VDEC_S_BASE + 2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_S_EBADPARAM (VDEC_S_BASE + 3) -#define VDEC_S_EINVALSTATE (VDEC_S_BASE + 4) -#define VDEC_S_ENOSWRES (VDEC_S_BASE + 5) -#define VDEC_S_ENOHWRES (VDEC_S_BASE + 6) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_S_EINVALCMD (VDEC_S_BASE + 7) -#define VDEC_S_ETIMEOUT (VDEC_S_BASE + 8) -#define VDEC_S_ENOPREREQ (VDEC_S_BASE + 9) -#define VDEC_S_ECMDQFULL (VDEC_S_BASE + 10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_S_ENOTSUPP (VDEC_S_BASE + 11) -#define VDEC_S_ENOTIMPL (VDEC_S_BASE + 12) -#define VDEC_S_BUSY (VDEC_S_BASE + 13) -#define VDEC_S_INPUT_BITSTREAM_ERR (VDEC_S_BASE + 14) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_INTF_VER 1 -#define VDEC_MSG_BASE 0x0000000 -#define VDEC_MSG_INVALID (VDEC_MSG_BASE + 0) -#define VDEC_MSG_RESP_INPUT_BUFFER_DONE (VDEC_MSG_BASE + 1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_MSG_RESP_OUTPUT_BUFFER_DONE (VDEC_MSG_BASE + 2) -#define VDEC_MSG_RESP_INPUT_FLUSHED (VDEC_MSG_BASE + 3) -#define VDEC_MSG_RESP_OUTPUT_FLUSHED (VDEC_MSG_BASE + 4) -#define VDEC_MSG_RESP_FLUSH_INPUT_DONE (VDEC_MSG_BASE + 5) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_MSG_RESP_FLUSH_OUTPUT_DONE (VDEC_MSG_BASE + 6) -#define VDEC_MSG_RESP_START_DONE (VDEC_MSG_BASE + 7) -#define VDEC_MSG_RESP_STOP_DONE (VDEC_MSG_BASE + 8) -#define VDEC_MSG_RESP_PAUSE_DONE (VDEC_MSG_BASE + 9) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_MSG_RESP_RESUME_DONE (VDEC_MSG_BASE + 10) -#define VDEC_MSG_RESP_RESOURCE_LOADED (VDEC_MSG_BASE + 11) -#define VDEC_EVT_RESOURCES_LOST (VDEC_MSG_BASE + 12) -#define VDEC_MSG_EVT_CONFIG_CHANGED (VDEC_MSG_BASE + 13) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_MSG_EVT_HW_ERROR (VDEC_MSG_BASE + 14) -#define VDEC_MSG_EVT_INFO_CONFIG_CHANGED (VDEC_MSG_BASE + 15) -#define VDEC_MSG_EVT_INFO_FIELD_DROPPED (VDEC_MSG_BASE + 16) -#define VDEC_BUFFERFLAG_EOS 0x00000001 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_BUFFERFLAG_DECODEONLY 0x00000004 -#define VDEC_BUFFERFLAG_DATACORRUPT 0x00000008 -#define VDEC_BUFFERFLAG_ENDOFFRAME 0x00000010 -#define VDEC_BUFFERFLAG_SYNCFRAME 0x00000020 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_BUFFERFLAG_EXTRADATA 0x00000040 -#define VDEC_BUFFERFLAG_CODECCONFIG 0x00000080 -#define VDEC_EXTRADATA_NONE 0x001 -#define VDEC_EXTRADATA_QP 0x004 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_EXTRADATA_MB_ERROR_MAP 0x008 -#define VDEC_EXTRADATA_SEI 0x010 -#define VDEC_EXTRADATA_VUI 0x020 -#define VDEC_EXTRADATA_VC1 0x040 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_CMDBASE 0x800 -#define VDEC_CMD_SET_INTF_VERSION (VDEC_CMDBASE) -#define VDEC_IOCTL_MAGIC 'v' -struct vdec_ioctl_msg { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void __user *in; - void __user *out; -}; -#define VDEC_IOCTL_GET_PROFILE_LEVEL_SUPPORTED _IOWR(VDEC_IOCTL_MAGIC, 0, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_GET_INTERLACE_FORMAT _IOR(VDEC_IOCTL_MAGIC, 1, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_CURRENT_PROFILE_LEVEL _IOWR(VDEC_IOCTL_MAGIC, 2, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_OUTPUT_FORMAT _IOWR(VDEC_IOCTL_MAGIC, 3, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_OUTPUT_FORMAT _IOWR(VDEC_IOCTL_MAGIC, 4, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_SET_CODEC _IOW(VDEC_IOCTL_MAGIC, 5, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_CODEC _IOR(VDEC_IOCTL_MAGIC, 6, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_PICRES _IOW(VDEC_IOCTL_MAGIC, 7, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_PICRES _IOR(VDEC_IOCTL_MAGIC, 8, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_SET_EXTRADATA _IOW(VDEC_IOCTL_MAGIC, 9, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_EXTRADATA _IOR(VDEC_IOCTL_MAGIC, 10, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_SEQUENCE_HEADER _IOW(VDEC_IOCTL_MAGIC, 11, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_BUFFER_REQ _IOW(VDEC_IOCTL_MAGIC, 12, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_GET_BUFFER_REQ _IOR(VDEC_IOCTL_MAGIC, 13, struct vdec_ioctl_msg) -#define VDEC_IOCTL_ALLOCATE_BUFFER _IOWR(VDEC_IOCTL_MAGIC, 14, struct vdec_ioctl_msg) -#define VDEC_IOCTL_FREE_BUFFER _IOW(VDEC_IOCTL_MAGIC, 15, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_BUFFER _IOW(VDEC_IOCTL_MAGIC, 16, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_FILL_OUTPUT_BUFFER _IOW(VDEC_IOCTL_MAGIC, 17, struct vdec_ioctl_msg) -#define VDEC_IOCTL_DECODE_FRAME _IOW(VDEC_IOCTL_MAGIC, 18, struct vdec_ioctl_msg) -#define VDEC_IOCTL_LOAD_RESOURCES _IO(VDEC_IOCTL_MAGIC, 19) -#define VDEC_IOCTL_CMD_START _IO(VDEC_IOCTL_MAGIC, 20) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_CMD_STOP _IO(VDEC_IOCTL_MAGIC, 21) -#define VDEC_IOCTL_CMD_PAUSE _IO(VDEC_IOCTL_MAGIC, 22) -#define VDEC_IOCTL_CMD_RESUME _IO(VDEC_IOCTL_MAGIC, 23) -#define VDEC_IOCTL_CMD_FLUSH _IOW(VDEC_IOCTL_MAGIC, 24, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_GET_NEXT_MSG _IOR(VDEC_IOCTL_MAGIC, 25, struct vdec_ioctl_msg) -#define VDEC_IOCTL_STOP_NEXT_MSG _IO(VDEC_IOCTL_MAGIC, 26) -#define VDEC_IOCTL_GET_NUMBER_INSTANCES _IOR(VDEC_IOCTL_MAGIC, 27, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_PICTURE_ORDER _IOW(VDEC_IOCTL_MAGIC, 28, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_SET_FRAME_RATE _IOW(VDEC_IOCTL_MAGIC, 29, struct vdec_ioctl_msg) -#define VDEC_IOCTL_SET_H264_MV_BUFFER _IOW(VDEC_IOCTL_MAGIC, 30, struct vdec_ioctl_msg) -#define VDEC_IOCTL_FREE_H264_MV_BUFFER _IOW(VDEC_IOCTL_MAGIC, 31, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_MV_BUFFER_SIZE _IOR(VDEC_IOCTL_MAGIC, 32, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_SET_IDR_ONLY_DECODING _IO(VDEC_IOCTL_MAGIC, 33) -#define VDEC_IOCTL_SET_CONT_ON_RECONFIG _IO(VDEC_IOCTL_MAGIC, 34) -#define VDEC_IOCTL_SET_DISABLE_DMX _IOW(VDEC_IOCTL_MAGIC, 35, struct vdec_ioctl_msg) -#define VDEC_IOCTL_GET_DISABLE_DMX _IOR(VDEC_IOCTL_MAGIC, 36, struct vdec_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VDEC_IOCTL_GET_DISABLE_DMX_SUPPORT _IOR(VDEC_IOCTL_MAGIC, 37, struct vdec_ioctl_msg) -enum vdec_picture { - PICTURE_TYPE_I, - PICTURE_TYPE_P, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - PICTURE_TYPE_B, - PICTURE_TYPE_BI, - PICTURE_TYPE_SKIP, - PICTURE_TYPE_IDR, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - PICTURE_TYPE_UNKNOWN -}; -enum vdec_buffer { - VDEC_BUFFER_TYPE_INPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_BUFFER_TYPE_OUTPUT -}; -struct vdec_allocatorproperty { - enum vdec_buffer buffer_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t mincount; - uint32_t maxcount; - uint32_t actualcount; - size_t buffer_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t alignment; - uint32_t buf_poolid; -}; -struct vdec_bufferpayload { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void __user *bufferaddr; - size_t buffer_len; - int pmem_fd; - size_t offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t mmaped_size; -}; -struct vdec_setbuffer_cmd { - enum vdec_buffer buffer_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_bufferpayload buffer; -}; -struct vdec_fillbuffer_cmd { - struct vdec_bufferpayload buffer; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *client_data; -}; -enum vdec_bufferflush { - VDEC_FLUSH_TYPE_INPUT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_FLUSH_TYPE_OUTPUT, - VDEC_FLUSH_TYPE_ALL -}; -enum vdec_codec { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_CODECTYPE_H264 = 0x1, - VDEC_CODECTYPE_H263 = 0x2, - VDEC_CODECTYPE_MPEG4 = 0x3, - VDEC_CODECTYPE_DIVX_3 = 0x4, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_CODECTYPE_DIVX_4 = 0x5, - VDEC_CODECTYPE_DIVX_5 = 0x6, - VDEC_CODECTYPE_DIVX_6 = 0x7, - VDEC_CODECTYPE_XVID = 0x8, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_CODECTYPE_MPEG1 = 0x9, - VDEC_CODECTYPE_MPEG2 = 0xa, - VDEC_CODECTYPE_VC1 = 0xb, - VDEC_CODECTYPE_VC1_RCV = 0xc -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum vdec_mpeg2_profile { - VDEC_MPEG2ProfileSimple = 0x1, - VDEC_MPEG2ProfileMain = 0x2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG2Profile422 = 0x4, - VDEC_MPEG2ProfileSNR = 0x8, - VDEC_MPEG2ProfileSpatial = 0x10, - VDEC_MPEG2ProfileHigh = 0x20, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG2ProfileKhronosExtensions = 0x6F000000, - VDEC_MPEG2ProfileVendorStartUnused = 0x7F000000, - VDEC_MPEG2ProfileMax = 0x7FFFFFFF -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum vdec_mpeg2_level { - VDEC_MPEG2LevelLL = 0x1, - VDEC_MPEG2LevelML = 0x2, - VDEC_MPEG2LevelH14 = 0x4, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG2LevelHL = 0x8, - VDEC_MPEG2LevelKhronosExtensions = 0x6F000000, - VDEC_MPEG2LevelVendorStartUnused = 0x7F000000, - VDEC_MPEG2LevelMax = 0x7FFFFFFF -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum vdec_mpeg4_profile { - VDEC_MPEG4ProfileSimple = 0x01, - VDEC_MPEG4ProfileSimpleScalable = 0x02, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4ProfileCore = 0x04, - VDEC_MPEG4ProfileMain = 0x08, - VDEC_MPEG4ProfileNbit = 0x10, - VDEC_MPEG4ProfileScalableTexture = 0x20, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4ProfileSimpleFace = 0x40, - VDEC_MPEG4ProfileSimpleFBA = 0x80, - VDEC_MPEG4ProfileBasicAnimated = 0x100, - VDEC_MPEG4ProfileHybrid = 0x200, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4ProfileAdvancedRealTime = 0x400, - VDEC_MPEG4ProfileCoreScalable = 0x800, - VDEC_MPEG4ProfileAdvancedCoding = 0x1000, - VDEC_MPEG4ProfileAdvancedCore = 0x2000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4ProfileAdvancedScalable = 0x4000, - VDEC_MPEG4ProfileAdvancedSimple = 0x8000, - VDEC_MPEG4ProfileKhronosExtensions = 0x6F000000, - VDEC_MPEG4ProfileVendorStartUnused = 0x7F000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4ProfileMax = 0x7FFFFFFF -}; -enum vdec_mpeg4_level { - VDEC_MPEG4Level0 = 0x01, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4Level0b = 0x02, - VDEC_MPEG4Level1 = 0x04, - VDEC_MPEG4Level2 = 0x08, - VDEC_MPEG4Level3 = 0x10, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4Level4 = 0x20, - VDEC_MPEG4Level4a = 0x40, - VDEC_MPEG4Level5 = 0x80, - VDEC_MPEG4LevelKhronosExtensions = 0x6F000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_MPEG4LevelVendorStartUnused = 0x7F000000, - VDEC_MPEG4LevelMax = 0x7FFFFFFF -}; -enum vdec_avc_profile { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCProfileBaseline = 0x01, - VDEC_AVCProfileMain = 0x02, - VDEC_AVCProfileExtended = 0x04, - VDEC_AVCProfileHigh = 0x08, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCProfileHigh10 = 0x10, - VDEC_AVCProfileHigh422 = 0x20, - VDEC_AVCProfileHigh444 = 0x40, - VDEC_AVCProfileKhronosExtensions = 0x6F000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCProfileVendorStartUnused = 0x7F000000, - VDEC_AVCProfileMax = 0x7FFFFFFF -}; -enum vdec_avc_level { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCLevel1 = 0x01, - VDEC_AVCLevel1b = 0x02, - VDEC_AVCLevel11 = 0x04, - VDEC_AVCLevel12 = 0x08, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCLevel13 = 0x10, - VDEC_AVCLevel2 = 0x20, - VDEC_AVCLevel21 = 0x40, - VDEC_AVCLevel22 = 0x80, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCLevel3 = 0x100, - VDEC_AVCLevel31 = 0x200, - VDEC_AVCLevel32 = 0x400, - VDEC_AVCLevel4 = 0x800, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCLevel41 = 0x1000, - VDEC_AVCLevel42 = 0x2000, - VDEC_AVCLevel5 = 0x4000, - VDEC_AVCLevel51 = 0x8000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_AVCLevelKhronosExtensions = 0x6F000000, - VDEC_AVCLevelVendorStartUnused = 0x7F000000, - VDEC_AVCLevelMax = 0x7FFFFFFF -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum vdec_divx_profile { - VDEC_DIVXProfile_qMobile = 0x01, - VDEC_DIVXProfile_Mobile = 0x02, - VDEC_DIVXProfile_HD = 0x04, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_DIVXProfile_Handheld = 0x08, - VDEC_DIVXProfile_Portable = 0x10, - VDEC_DIVXProfile_HomeTheater = 0x20 -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum vdec_xvid_profile { - VDEC_XVIDProfile_Simple = 0x1, - VDEC_XVIDProfile_Advanced_Realtime_Simple = 0x2, - VDEC_XVIDProfile_Advanced_Simple = 0x4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum vdec_xvid_level { - VDEC_XVID_LEVEL_S_L0 = 0x1, - VDEC_XVID_LEVEL_S_L1 = 0x2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_XVID_LEVEL_S_L2 = 0x4, - VDEC_XVID_LEVEL_S_L3 = 0x8, - VDEC_XVID_LEVEL_ARTS_L1 = 0x10, - VDEC_XVID_LEVEL_ARTS_L2 = 0x20, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_XVID_LEVEL_ARTS_L3 = 0x40, - VDEC_XVID_LEVEL_ARTS_L4 = 0x80, - VDEC_XVID_LEVEL_AS_L0 = 0x100, - VDEC_XVID_LEVEL_AS_L1 = 0x200, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_XVID_LEVEL_AS_L2 = 0x400, - VDEC_XVID_LEVEL_AS_L3 = 0x800, - VDEC_XVID_LEVEL_AS_L4 = 0x1000 -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum vdec_h263profile { - VDEC_H263ProfileBaseline = 0x01, - VDEC_H263ProfileH320Coding = 0x02, - VDEC_H263ProfileBackwardCompatible = 0x04, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263ProfileISWV2 = 0x08, - VDEC_H263ProfileISWV3 = 0x10, - VDEC_H263ProfileHighCompression = 0x20, - VDEC_H263ProfileInternet = 0x40, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263ProfileInterlace = 0x80, - VDEC_H263ProfileHighLatency = 0x100, - VDEC_H263ProfileKhronosExtensions = 0x6F000000, - VDEC_H263ProfileVendorStartUnused = 0x7F000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263ProfileMax = 0x7FFFFFFF -}; -enum vdec_h263level { - VDEC_H263Level10 = 0x01, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263Level20 = 0x02, - VDEC_H263Level30 = 0x04, - VDEC_H263Level40 = 0x08, - VDEC_H263Level45 = 0x10, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263Level50 = 0x20, - VDEC_H263Level60 = 0x40, - VDEC_H263Level70 = 0x80, - VDEC_H263LevelKhronosExtensions = 0x6F000000, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_H263LevelVendorStartUnused = 0x7F000000, - VDEC_H263LevelMax = 0x7FFFFFFF -}; -enum vdec_wmv_format { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_WMVFormatUnused = 0x01, - VDEC_WMVFormat7 = 0x02, - VDEC_WMVFormat8 = 0x04, - VDEC_WMVFormat9 = 0x08, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_WMFFormatKhronosExtensions = 0x6F000000, - VDEC_WMFFormatVendorStartUnused = 0x7F000000, - VDEC_WMVFormatMax = 0x7FFFFFFF -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum vdec_vc1_profile { - VDEC_VC1ProfileSimple = 0x1, - VDEC_VC1ProfileMain = 0x2, - VDEC_VC1ProfileAdvanced = 0x4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum vdec_vc1_level { - VDEC_VC1_LEVEL_S_Low = 0x1, - VDEC_VC1_LEVEL_S_Medium = 0x2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_VC1_LEVEL_M_Low = 0x4, - VDEC_VC1_LEVEL_M_Medium = 0x8, - VDEC_VC1_LEVEL_M_High = 0x10, - VDEC_VC1_LEVEL_A_L0 = 0x20, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_VC1_LEVEL_A_L1 = 0x40, - VDEC_VC1_LEVEL_A_L2 = 0x80, - VDEC_VC1_LEVEL_A_L3 = 0x100, - VDEC_VC1_LEVEL_A_L4 = 0x200 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct vdec_profile_level { - uint32_t profiles; - uint32_t levels; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum vdec_interlaced_format { - VDEC_InterlaceFrameProgressive = 0x1, - VDEC_InterlaceInterleaveFrameTopFieldFirst = 0x2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_InterlaceInterleaveFrameBottomFieldFirst = 0x4 -}; -enum vdec_output_fromat { - VDEC_YUV_FORMAT_NV12 = 0x1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_YUV_FORMAT_TILE_4x2 = 0x2 -}; -enum vdec_output_order { - VDEC_ORDER_DISPLAY = 0x1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VDEC_ORDER_DECODE = 0x2 -}; -struct vdec_picsize { - uint32_t frame_width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t frame_height; - uint32_t stride; - uint32_t scan_lines; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_seqheader { - void __user *ptr_seqheader; - size_t seq_header_len; - int pmem_fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t pmem_offset; -}; -struct vdec_mberror { - void __user *ptr_errormap; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t err_mapsize; -}; -struct vdec_input_frameinfo { - void __user *bufferaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t offset; - size_t datalen; - uint32_t flags; - int64_t timestamp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *client_data; - int pmem_fd; - size_t pmem_offset; - void __user *desc_addr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t desc_size; -}; -struct vdec_framesize { - uint32_t left; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t top; - uint32_t right; - uint32_t bottom; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_aspectratioinfo { - uint32_t aspect_ratio; - uint32_t par_width; - uint32_t par_height; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct vdec_output_frameinfo { - void __user *bufferaddr; - size_t offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - size_t len; - uint32_t flags; - int64_t time_stamp; - enum vdec_picture pic_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *client_data; - void *input_frame_clientdata; - struct vdec_framesize framesize; - enum vdec_interlaced_format interlaced_format; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct vdec_aspectratioinfo aspect_ratio_info; -}; -union vdec_msgdata { - struct vdec_output_frameinfo output_frame; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *input_frame_clientdata; -}; -struct vdec_msginfo { - uint32_t status_code; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t msgcode; - union vdec_msgdata msgdata; - size_t msgdatasize; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_framerate { - unsigned long fps_denominator; - unsigned long fps_numerator; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct vdec_h264_mv{ - size_t size; - int count; - int pmem_fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int offset; -}; -struct vdec_mv_buff_size{ - int width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int height; - int size; - int alignment; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/libc/kernel/common/linux/msm_vidc_enc.h b/libc/kernel/common/linux/msm_vidc_enc.h deleted file mode 100644 index 29c4cc9..0000000 --- a/libc/kernel/common/linux/msm_vidc_enc.h +++ /dev/null @@ -1,429 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _MSM_VIDC_ENC_H_ -#define _MSM_VIDC_ENC_H_ -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_BASE 0x00000000 -#define VEN_S_SUCCESS (VEN_S_BASE) -#define VEN_S_EFAIL (VEN_S_BASE+1) -#define VEN_S_EFATAL (VEN_S_BASE+2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_EBADPARAM (VEN_S_BASE+3) -#define VEN_S_EINVALSTATE (VEN_S_BASE+4) -#define VEN_S_ENOSWRES (VEN_S_BASE+5) -#define VEN_S_ENOHWRES (VEN_S_BASE+6) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_EBUFFREQ (VEN_S_BASE+7) -#define VEN_S_EINVALCMD (VEN_S_BASE+8) -#define VEN_S_ETIMEOUT (VEN_S_BASE+9) -#define VEN_S_ENOREATMPT (VEN_S_BASE+10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_ENOPREREQ (VEN_S_BASE+11) -#define VEN_S_ECMDQFULL (VEN_S_BASE+12) -#define VEN_S_ENOTSUPP (VEN_S_BASE+13) -#define VEN_S_ENOTIMPL (VEN_S_BASE+14) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_ENOTPMEM (VEN_S_BASE+15) -#define VEN_S_EFLUSHED (VEN_S_BASE+16) -#define VEN_S_EINSUFBUF (VEN_S_BASE+17) -#define VEN_S_ESAMESTATE (VEN_S_BASE+18) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_S_EINVALTRANS (VEN_S_BASE+19) -#define VEN_INTF_VER 1 -#define VEN_MSG_INDICATION 0 -#define VEN_MSG_INPUT_BUFFER_DONE 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_MSG_OUTPUT_BUFFER_DONE 2 -#define VEN_MSG_NEED_OUTPUT_BUFFER 3 -#define VEN_MSG_FLUSH_INPUT_DONE 4 -#define VEN_MSG_FLUSH_OUPUT_DONE 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_MSG_START 6 -#define VEN_MSG_STOP 7 -#define VEN_MSG_PAUSE 8 -#define VEN_MSG_RESUME 9 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_MSG_STOP_READING_MSG 10 -#define VEN_BUFFLAG_EOS 0x00000001 -#define VEN_BUFFLAG_ENDOFFRAME 0x00000010 -#define VEN_BUFFLAG_SYNCFRAME 0x00000020 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_BUFFLAG_EXTRADATA 0x00000040 -#define VEN_BUFFLAG_CODECCONFIG 0x00000080 -#define VEN_EXTRADATA_NONE 0x001 -#define VEN_EXTRADATA_QCOMFILLER 0x002 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_EXTRADATA_SLICEINFO 0x100 -#define VEN_FRAME_TYPE_I 1 -#define VEN_FRAME_TYPE_P 2 -#define VEN_FRAME_TYPE_B 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_CODEC_MPEG4 1 -#define VEN_CODEC_H264 2 -#define VEN_CODEC_H263 3 -#define VEN_PROFILE_MPEG4_SP 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_PROFILE_MPEG4_ASP 2 -#define VEN_PROFILE_H264_BASELINE 3 -#define VEN_PROFILE_H264_MAIN 4 -#define VEN_PROFILE_H264_HIGH 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_PROFILE_H263_BASELINE 6 -#define VEN_LEVEL_MPEG4_0 0x1 -#define VEN_LEVEL_MPEG4_1 0x2 -#define VEN_LEVEL_MPEG4_2 0x3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_MPEG4_3 0x4 -#define VEN_LEVEL_MPEG4_4 0x5 -#define VEN_LEVEL_MPEG4_5 0x6 -#define VEN_LEVEL_MPEG4_3b 0x7 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_MPEG4_6 0x8 -#define VEN_LEVEL_H264_1 0x9 -#define VEN_LEVEL_H264_1b 0xA -#define VEN_LEVEL_H264_1p1 0xB -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_H264_1p2 0xC -#define VEN_LEVEL_H264_1p3 0xD -#define VEN_LEVEL_H264_2 0xE -#define VEN_LEVEL_H264_2p1 0xF -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_H264_2p2 0x10 -#define VEN_LEVEL_H264_3 0x11 -#define VEN_LEVEL_H264_3p1 0x12 -#define VEN_LEVEL_H264_3p2 0x13 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_H264_4 0x14 -#define VEN_LEVEL_H263_10 0x15 -#define VEN_LEVEL_H263_20 0x16 -#define VEN_LEVEL_H263_30 0x17 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_H263_40 0x18 -#define VEN_LEVEL_H263_45 0x19 -#define VEN_LEVEL_H263_50 0x1A -#define VEN_LEVEL_H263_60 0x1B -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_LEVEL_H263_70 0x1C -#define VEN_ENTROPY_MODEL_CAVLC 1 -#define VEN_ENTROPY_MODEL_CABAC 2 -#define VEN_CABAC_MODEL_0 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_CABAC_MODEL_1 2 -#define VEN_CABAC_MODEL_2 3 -#define VEN_DB_DISABLE 1 -#define VEN_DB_ALL_BLKG_BNDRY 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_DB_SKIP_SLICE_BNDRY 3 -#define VEN_MSLICE_OFF 1 -#define VEN_MSLICE_CNT_MB 2 -#define VEN_MSLICE_CNT_BYTE 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_MSLICE_GOB 4 -#define VEN_RC_OFF 1 -#define VEN_RC_VBR_VFR 2 -#define VEN_RC_VBR_CFR 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_RC_CBR_VFR 4 -#define VEN_RC_CBR_CFR 5 -#define VEN_FLUSH_INPUT 1 -#define VEN_FLUSH_OUTPUT 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_FLUSH_ALL 3 -#define VEN_INPUTFMT_NV12 1 -#define VEN_INPUTFMT_NV21 2 -#define VEN_INPUTFMT_NV12_16M2KA 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_ROTATION_0 1 -#define VEN_ROTATION_90 2 -#define VEN_ROTATION_180 3 -#define VEN_ROTATION_270 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_TIMEOUT_INFINITE 0xffffffff -#define VEN_IR_OFF 1 -#define VEN_IR_CYCLIC 2 -#define VEN_IR_RANDOM 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTLBASE_NENC 0x800 -#define VEN_IOCTLBASE_ENC 0x850 -struct venc_ioctl_msg{ - void __user *in; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void __user *out; -}; -#define VEN_IOCTL_SET_INTF_VERSION _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_READ_NEXT_MSG _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2) -#define VEN_IOCTL_SET_INPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_INPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_CMD_ENCODE_FRAME _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_FLUSH _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18) -#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19) -#define VEN_IOCTL_SET_RECON_BUFFER _IOW(VEN_IOCTLBASE_NENC, 20, struct venc_ioctl_msg) -#define VEN_IOCTL_FREE_RECON_BUFFER _IOW(VEN_IOCTLBASE_NENC, 21, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_GET_RECON_BUFFER_SIZE _IOW(VEN_IOCTLBASE_NENC, 22, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_BASE_CFG _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_BASE_CFG _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_LIVE_MODE _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_GET_LIVE_MODE _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_CODEC_PROFILE _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_CODEC_PROFILE _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_PROFILE_LEVEL _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_GET_PROFILE_LEVEL _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_SHORT_HDR _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_SHORT_HDR _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_SESSION_QP _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_GET_SESSION_QP _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_INTRA_PERIOD _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_INTRA_PERIOD _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg) -#define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_GET_CAPABILITY _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_SEQUENCE_HDR _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_ENTROPY_CFG _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_ENTROPY_CFG _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_DEBLOCKING_CFG _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_DEBLOCKING_CFG _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_INTRA_REFRESH _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_INTRA_REFRESH _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_MULTI_SLICE_CFG _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_MULTI_SLICE_CFG _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_RATE_CTRL_CFG _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_RATE_CTRL_CFG _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_VOP_TIMING_CFG _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_VOP_TIMING_CFG _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_FRAME_RATE _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_FRAME_RATE _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_TARGET_BITRATE _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_TARGET_BITRATE _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_ROTATION _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_ROTATION _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_HEC _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_HEC _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_DATA_PARTITION _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_DATA_PARTITION _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_RVLC _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_RVLC _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_AC_PREDICTION _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_AC_PREDICTION _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_QP_RANGE _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_QP_RANGE _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_NUMBER_INSTANCES _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_METABUFFER_MODE _IOW(VEN_IOCTLBASE_ENC, 47, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VEN_IOCTL_SET_EXTRADATA _IOW(VEN_IOCTLBASE_ENC, 48, struct venc_ioctl_msg) -#define VEN_IOCTL_GET_EXTRADATA _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg) -#define VEN_IOCTL_SET_SLICE_DELIVERY_MODE _IO(VEN_IOCTLBASE_ENC, 50) -#define VEN_IOCTL_SET_SPS_PPS_FOR_IDR _IOW(VEN_IOCTLBASE_ENC, 51, struct venc_ioctl_msg) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_switch{ - unsigned char status; -}; -struct venc_allocatorproperty{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long mincount; - unsigned long maxcount; - unsigned long actualcount; - unsigned long datasize; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long suffixsize; - unsigned long alignment; - unsigned long bufpoolid; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_bufferpayload{ - unsigned char *pbuffer; - size_t sz; - int fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int offset; - unsigned int maped_size; - unsigned long filled_len; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_buffer{ - unsigned char *ptrbuffer; - unsigned long sz; - unsigned long len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long offset; - long long timestamp; - unsigned long flags; - void *clientdata; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_basecfg{ - unsigned long input_width; - unsigned long input_height; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long dvs_width; - unsigned long dvs_height; - unsigned long codectype; - unsigned long fps_num; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long fps_den; - unsigned long targetbitrate; - unsigned long inputformat; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_profile{ - unsigned long profile; -}; -struct ven_profilelevel{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long level; -}; -struct venc_sessionqp{ - unsigned long iframeqp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long pframqp; -}; -struct venc_qprange{ - unsigned long maxqp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long minqp; -}; -struct venc_intraperiod{ - unsigned long num_pframes; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long num_bframes; -}; -struct venc_seqheader{ - unsigned char *hdrbufptr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long bufsize; - unsigned long hdrlen; -}; -struct venc_capability{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long codec_types; - unsigned long maxframe_width; - unsigned long maxframe_height; - unsigned long maxtarget_bitrate; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long maxframe_rate; - unsigned long input_formats; - unsigned char dvs; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_entropycfg{ - unsigned longentropysel; - unsigned long cabacmodel; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_dbcfg{ - unsigned long db_mode; - unsigned long slicealpha_offset; - unsigned long slicebeta_offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_intrarefresh{ - unsigned long irmode; - unsigned long mbcount; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_multiclicecfg{ - unsigned long mslice_mode; - unsigned long mslice_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_bufferflush{ - unsigned long flush_mode; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_ratectrlcfg{ - unsigned long rcmode; -}; -struct venc_voptimingcfg{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long voptime_resolution; -}; -struct venc_framerate{ - unsigned long fps_denominator; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long fps_numerator; -}; -struct venc_targetbitrate{ - unsigned long target_bitrate; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct venc_rotation{ - unsigned long rotation; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_timeout{ - unsigned long millisec; -}; -struct venc_headerextension{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long header_extension; -}; -struct venc_msg{ - unsigned long statuscode; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long msgcode; - struct venc_buffer buf; - unsigned long msgdata_size; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct venc_recon_addr{ - unsigned char *pbuffer; - unsigned long buffer_size; - unsigned long pmem_fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long offset; -}; -struct venc_recon_buff_size{ - int width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int height; - int size; - int alignment; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/libc/kernel/common/media/msm_camera.h b/libc/kernel/common/media/msm_camera.h deleted file mode 100644 index 332ac8a..0000000 --- a/libc/kernel/common/media/msm_camera.h +++ /dev/null @@ -1,1870 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_CAMERA_H -#define __LINUX_MSM_CAMERA_H -#ifdef MSM_CAMERA_BIONIC -#include <sys/types.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#include <linux/types.h> -#include <linux/ioctl.h> -#ifdef MSM_CAMERA_GCC -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#include <time.h> -#else -#include <linux/time.h> -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#include <linux/ion.h> -#define BIT(nr) (1UL << (nr)) -#define MSM_CAM_IOCTL_MAGIC 'm' -#define MSM_CAM_IOCTL_GET_SENSOR_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_REGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *) -#define MSM_CAM_IOCTL_UNREGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned) -#define MSM_CAM_IOCTL_CTRL_COMMAND _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *) -#define MSM_CAM_IOCTL_CONFIG_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_GET_STATS _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *) -#define MSM_CAM_IOCTL_GETFRAME _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *) -#define MSM_CAM_IOCTL_ENABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *) -#define MSM_CAM_IOCTL_CTRL_CMD_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_CONFIG_CMD _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *) -#define MSM_CAM_IOCTL_DISABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *) -#define MSM_CAM_IOCTL_PAD_REG_RESET2 _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *) -#define MSM_CAM_IOCTL_VFE_APPS_RESET _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *) -#define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *) -#define MSM_CAM_IOCTL_AXI_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *) -#define MSM_CAM_IOCTL_GET_PICTURE _IOW(MSM_CAM_IOCTL_MAGIC, 17, struct msm_frame *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_SET_CROP _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *) -#define MSM_CAM_IOCTL_PICT_PP _IOW(MSM_CAM_IOCTL_MAGIC, 19, uint8_t *) -#define MSM_CAM_IOCTL_PICT_PP_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 20, struct msm_snapshot_pp_status *) -#define MSM_CAM_IOCTL_SENSOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_FLASH_LED_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *) -#define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 23) -#define MSM_CAM_IOCTL_CTRL_COMMAND_2 _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *) -#define MSM_CAM_IOCTL_AF_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 25, struct msm_ctrl_cmt_t *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_AF_CTRL_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 26, struct msm_ctrl_cmt_t *) -#define MSM_CAM_IOCTL_CONFIG_VPE _IOW(MSM_CAM_IOCTL_MAGIC, 27, struct msm_camera_vpe_cfg_cmd *) -#define MSM_CAM_IOCTL_AXI_VPE_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 28, struct msm_camera_vpe_cfg_cmd *) -#define MSM_CAM_IOCTL_STROBE_FLASH_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 29, uint32_t *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_STROBE_FLASH_CHARGE _IOW(MSM_CAM_IOCTL_MAGIC, 30, uint32_t *) -#define MSM_CAM_IOCTL_STROBE_FLASH_RELEASE _IO(MSM_CAM_IOCTL_MAGIC, 31) -#define MSM_CAM_IOCTL_FLASH_CTRL _IOW(MSM_CAM_IOCTL_MAGIC, 32, struct flash_ctrl_data *) -#define MSM_CAM_IOCTL_ERROR_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 33, uint32_t *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_ABORT_CAPTURE _IO(MSM_CAM_IOCTL_MAGIC, 34) -#define MSM_CAM_IOCTL_SET_FD_ROI _IOW(MSM_CAM_IOCTL_MAGIC, 35, struct fd_roi_info *) -#define MSM_CAM_IOCTL_GET_CAMERA_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 36, struct msm_camera_info *) -#define MSM_CAM_IOCTL_UNBLOCK_POLL_PIC_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 37) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_RELEASE_PIC_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 38, struct camera_enable_cmd *) -#define MSM_CAM_IOCTL_PUT_ST_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 39, struct msm_camera_st_frame *) -#define MSM_CAM_IOCTL_V4L2_EVT_NOTIFY _IOR(MSM_CAM_IOCTL_MAGIC, 40, struct v4l2_event *) -#define MSM_CAM_IOCTL_SET_MEM_MAP_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 41, struct msm_mem_map_info *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_ACTUATOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 42, struct msm_actuator_cfg_data *) -#define MSM_CAM_IOCTL_MCTL_POST_PROC _IOW(MSM_CAM_IOCTL_MAGIC, 43, struct msm_mctl_post_proc_cmd *) -#define MSM_CAM_IOCTL_RESERVE_FREE_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 44, struct msm_cam_evt_divert_frame *) -#define MSM_CAM_IOCTL_RELEASE_FREE_FRAME _IOR(MSM_CAM_IOCTL_MAGIC, 45, struct msm_cam_evt_divert_frame *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_PICT_PP_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 46, struct msm_pp_frame *) -#define MSM_CAM_IOCTL_SENSOR_V4l2_S_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 47, struct v4l2_control) -#define MSM_CAM_IOCTL_SENSOR_V4l2_QUERY_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 48, struct v4l2_queryctrl) -#define MSM_CAM_IOCTL_GET_KERNEL_SYSTEM_TIME _IOW(MSM_CAM_IOCTL_MAGIC, 49, struct timeval *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_SET_VFE_OUTPUT_TYPE _IOW(MSM_CAM_IOCTL_MAGIC, 50, uint32_t *) -#define MSM_CAM_IOCTL_MCTL_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 51, struct msm_cam_evt_divert_frame *) -#define MSM_CAM_IOCTL_GET_ACTUATOR_INFO _IOW(MSM_CAM_IOCTL_MAGIC, 52, struct msm_actuator_cfg_data *) -#define MSM_CAM_IOCTL_EEPROM_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 53, struct msm_eeprom_cfg_data *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_ISPIF_IO_CFG _IOR(MSM_CAM_IOCTL_MAGIC, 54, struct ispif_cfg_data *) -#define MSM_CAM_IOCTL_STATS_REQBUF _IOR(MSM_CAM_IOCTL_MAGIC, 55, struct msm_stats_reqbuf *) -#define MSM_CAM_IOCTL_STATS_ENQUEUEBUF _IOR(MSM_CAM_IOCTL_MAGIC, 56, struct msm_stats_buf_info *) -#define MSM_CAM_IOCTL_STATS_FLUSH_BUFQ _IOR(MSM_CAM_IOCTL_MAGIC, 57, struct msm_stats_flush_bufq *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_IOCTL_SET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 58, struct msm_mctl_set_sdev_data *) -#define MSM_CAM_IOCTL_UNSET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 59, struct msm_mctl_set_sdev_data *) -#define MSM_CAM_IOCTL_GET_INST_HANDLE _IOR(MSM_CAM_IOCTL_MAGIC, 60, uint32_t *) -#define MSM_CAM_IOCTL_STATS_UNREG_BUF _IOR(MSM_CAM_IOCTL_MAGIC, 61, struct msm_stats_flush_bufq *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_stats_reqbuf { - int num_buf; - int stats_type; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_stats_flush_bufq { - int stats_type; -}; -struct msm_mctl_pp_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int32_t id; - uint16_t length; - void *value; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mctl_post_proc_cmd { - int32_t type; - struct msm_mctl_pp_cmd cmd; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAMERA_LED_OFF 0 -#define MSM_CAMERA_LED_LOW 1 -#define MSM_CAMERA_LED_HIGH 2 -#define MSM_CAMERA_LED_INIT 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAMERA_LED_RELEASE 4 -#define MSM_CAMERA_STROBE_FLASH_NONE 0 -#define MSM_CAMERA_STROBE_FLASH_XENON 1 -#define MSM_MAX_CAMERA_SENSORS 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MAX_SENSOR_NAME 32 -#define MAX_CAM_NAME_SIZE 32 -#define MAX_ACT_MOD_NAME_SIZE 32 -#define MAX_ACT_NAME_SIZE 32 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define NUM_ACTUATOR_DIR 2 -#define MAX_ACTUATOR_SCENARIO 8 -#define MAX_ACTUATOR_REGION 5 -#define MAX_ACTUATOR_INIT_SET 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MAX_ACTUATOR_TYPE_SIZE 32 -#define MAX_ACTUATOR_REG_TBL_SIZE 8 -#define MSM_MAX_CAMERA_CONFIGS 2 -#define PP_SNAP 0x01 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define PP_RAW_SNAP ((0x01)<<1) -#define PP_PREV ((0x01)<<2) -#define PP_THUMB ((0x01)<<3) -#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_CTRL_CMD_DONE 0 -#define MSM_CAM_SENSOR_VFE_CMD 1 -#define MAX_PLANES 8 -struct msm_ctrl_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t type; - uint16_t length; - void *value; - uint16_t status; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t timeout_ms; - int resp_fd; - int vnode_id; - int queue_idx; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t evt_id; - uint32_t stream_type; - int config_ident; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_cam_evt_msg { - unsigned short type; - unsigned short msg_id; - unsigned int len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t frame_id; - void *data; - struct timespec timestamp; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_pp_frame_sp { - unsigned long phy_addr; - uint32_t y_off; - uint32_t cbcr_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t length; - int32_t fd; - uint32_t addr_offset; - unsigned long vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_pp_frame_mp { - unsigned long phy_addr; - uint32_t data_offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t length; - int32_t fd; - uint32_t addr_offset; - unsigned long vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_pp_frame { - uint32_t handle; - uint32_t frame_id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short buf_idx; - int path; - unsigned short image_type; - unsigned short num_planes; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct timeval timestamp; - union { - struct msm_pp_frame_sp sp; - struct msm_pp_frame_mp mp[MAX_PLANES]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - }; - int node_type; - uint32_t inst_handle; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_cam_evt_divert_frame { - unsigned short image_mode; - unsigned short op_mode; - unsigned short inst_idx; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short node_idx; - struct msm_pp_frame frame; - int do_pp; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mctl_pp_cmd_ack_event { - uint32_t cmd; - int status; - uint32_t cookie; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_mctl_pp_event_info { - int32_t event; - union { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_mctl_pp_cmd_ack_event ack; - }; -}; -struct msm_isp_event_ctrl { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short resptype; - union { - struct msm_cam_evt_msg isp_msg; - struct msm_ctrl_cmd ctrl; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_cam_evt_divert_frame div_frame; - struct msm_mctl_pp_event_info pp_event_info; - } isp_data; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_RESP_CTRL 0 -#define MSM_CAM_RESP_STAT_EVT_MSG 1 -#define MSM_CAM_RESP_STEREO_OP_1 2 -#define MSM_CAM_RESP_STEREO_OP_2 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_RESP_V4L2 4 -#define MSM_CAM_RESP_DIV_FRAME_EVT_MSG 5 -#define MSM_CAM_RESP_DONE_EVENT 6 -#define MSM_CAM_RESP_MCTL_PP_EVENT 7 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_RESP_MAX 8 -#define MSM_CAM_APP_NOTIFY_EVENT 0 -#define MSM_CAM_APP_NOTIFY_ERROR_EVENT 1 -struct msm_stats_event_ctrl { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int resptype; - int timeout_ms; - struct msm_ctrl_cmd ctrl_cmd; - struct msm_cam_evt_msg stats_event; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_camera_cfg_cmd { - uint16_t cfg_type; - uint16_t cmd_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t queue; - uint16_t length; - void *value; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_GENERAL 0 -#define CMD_AXI_CFG_OUT1 1 -#define CMD_AXI_CFG_SNAP_O1_AND_O2 2 -#define CMD_AXI_CFG_OUT2 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_PICT_T_AXI_CFG 4 -#define CMD_PICT_M_AXI_CFG 5 -#define CMD_RAW_PICT_AXI_CFG 6 -#define CMD_FRAME_BUF_RELEASE 7 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_PREV_BUF_CFG 8 -#define CMD_SNAP_BUF_RELEASE 9 -#define CMD_SNAP_BUF_CFG 10 -#define CMD_STATS_DISABLE 11 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_AEC_AWB_ENABLE 12 -#define CMD_STATS_AF_ENABLE 13 -#define CMD_STATS_AEC_ENABLE 14 -#define CMD_STATS_AWB_ENABLE 15 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_ENABLE 16 -#define CMD_STATS_AXI_CFG 17 -#define CMD_STATS_AEC_AXI_CFG 18 -#define CMD_STATS_AF_AXI_CFG 19 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_AWB_AXI_CFG 20 -#define CMD_STATS_RS_AXI_CFG 21 -#define CMD_STATS_CS_AXI_CFG 22 -#define CMD_STATS_IHIST_AXI_CFG 23 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_SKIN_AXI_CFG 24 -#define CMD_STATS_BUF_RELEASE 25 -#define CMD_STATS_AEC_BUF_RELEASE 26 -#define CMD_STATS_AF_BUF_RELEASE 27 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_AWB_BUF_RELEASE 28 -#define CMD_STATS_RS_BUF_RELEASE 29 -#define CMD_STATS_CS_BUF_RELEASE 30 -#define CMD_STATS_IHIST_BUF_RELEASE 31 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_SKIN_BUF_RELEASE 32 -#define UPDATE_STATS_INVALID 33 -#define CMD_AXI_CFG_SNAP_GEMINI 34 -#define CMD_AXI_CFG_SNAP 35 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_AXI_CFG_PREVIEW 36 -#define CMD_AXI_CFG_VIDEO 37 -#define CMD_STATS_IHIST_ENABLE 38 -#define CMD_STATS_RS_ENABLE 39 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_CS_ENABLE 40 -#define CMD_VPE 41 -#define CMD_AXI_CFG_VPE 42 -#define CMD_AXI_CFG_ZSL 43 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_AXI_CFG_SNAP_VPE 44 -#define CMD_AXI_CFG_SNAP_THUMB_VPE 45 -#define CMD_CONFIG_PING_ADDR 46 -#define CMD_CONFIG_PONG_ADDR 47 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_CONFIG_FREE_BUF_ADDR 48 -#define CMD_AXI_CFG_ZSL_ALL_CHNLS 49 -#define CMD_AXI_CFG_VIDEO_ALL_CHNLS 50 -#define CMD_VFE_BUFFER_RELEASE 51 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_VFE_PROCESS_IRQ 52 -#define CMD_STATS_BG_ENABLE 53 -#define CMD_STATS_BF_ENABLE 54 -#define CMD_STATS_BHIST_ENABLE 55 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_STATS_BG_BUF_RELEASE 56 -#define CMD_STATS_BF_BUF_RELEASE 57 -#define CMD_STATS_BHIST_BUF_RELEASE 58 -#define CMD_VFE_SOF_COUNT_UPDATE 59 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_VFE_COUNT_SOF_ENABLE 60 -#define CMD_AXI_CFG_PRIM BIT(8) -#define CMD_AXI_CFG_PRIM_ALL_CHNLS BIT(9) -#define CMD_AXI_CFG_SEC BIT(10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_AXI_CFG_SEC_ALL_CHNLS BIT(11) -#define CMD_AXI_CFG_TERT1 BIT(12) -#define CMD_AXI_CFG_TERT2 BIT(13) -#define CMD_AXI_START 0xE1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CMD_AXI_STOP 0xE2 -#define CMD_AXI_RESET 0xE3 -#define AXI_CMD_PREVIEW BIT(0) -#define AXI_CMD_CAPTURE BIT(1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define AXI_CMD_RECORD BIT(2) -#define AXI_CMD_ZSL BIT(3) -#define AXI_CMD_RAW_CAPTURE BIT(4) -#define AXI_CMD_LIVESHOT BIT(5) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_vfe_cfg_cmd { - int cmd_type; - uint16_t length; - void *value; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_vpe_cfg_cmd { - int cmd_type; - uint16_t length; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - void *value; -}; -#define MAX_CAMERA_ENABLE_NAME_LEN 32 -struct camera_enable_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - char name[MAX_CAMERA_ENABLE_NAME_LEN]; -}; -#define MSM_PMEM_OUTPUT1 0 -#define MSM_PMEM_OUTPUT2 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_OUTPUT1_OUTPUT2 2 -#define MSM_PMEM_THUMBNAIL 3 -#define MSM_PMEM_MAINIMG 4 -#define MSM_PMEM_RAW_MAINIMG 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_AEC_AWB 6 -#define MSM_PMEM_AF 7 -#define MSM_PMEM_AEC 8 -#define MSM_PMEM_AWB 9 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_RS 10 -#define MSM_PMEM_CS 11 -#define MSM_PMEM_IHIST 12 -#define MSM_PMEM_SKIN 13 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_VIDEO 14 -#define MSM_PMEM_PREVIEW 15 -#define MSM_PMEM_VIDEO_VPE 16 -#define MSM_PMEM_C2D 17 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_MAINIMG_VPE 18 -#define MSM_PMEM_THUMBNAIL_VPE 19 -#define MSM_PMEM_BAYER_GRID 20 -#define MSM_PMEM_BAYER_FOCUS 21 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PMEM_BAYER_HIST 22 -#define MSM_PMEM_MAX 23 -#define STAT_AEAW 0 -#define STAT_AEC 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define STAT_AF 2 -#define STAT_AWB 3 -#define STAT_RS 4 -#define STAT_CS 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define STAT_IHIST 6 -#define STAT_SKIN 7 -#define STAT_BG 8 -#define STAT_BF 9 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define STAT_BHIST 10 -#define STAT_MAX 11 -#define FRAME_PREVIEW_OUTPUT1 0 -#define FRAME_PREVIEW_OUTPUT2 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define FRAME_SNAPSHOT 2 -#define FRAME_THUMBNAIL 3 -#define FRAME_RAW_SNAPSHOT 4 -#define FRAME_MAX 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_stats_enum_type { - MSM_STATS_TYPE_AEC, - MSM_STATS_TYPE_AF, - MSM_STATS_TYPE_AWB, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_STATS_TYPE_RS, - MSM_STATS_TYPE_CS, - MSM_STATS_TYPE_IHIST, - MSM_STATS_TYPE_SKIN, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_STATS_TYPE_BG, - MSM_STATS_TYPE_BF, - MSM_STATS_TYPE_BHIST, - MSM_STATS_TYPE_AE_AW, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_STATS_TYPE_MAX -}; -struct msm_stats_buf_info { - int type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int fd; - void *vaddr; - uint32_t offset; - uint32_t len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t y_off; - uint32_t cbcr_off; - uint32_t planar0_off; - uint32_t planar1_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t planar2_off; - uint8_t active; - int buf_idx; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_pmem_info { - int type; - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t offset; - uint32_t len; - uint32_t y_off; - uint32_t cbcr_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t planar0_off; - uint32_t planar1_off; - uint32_t planar2_off; - uint8_t active; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct outputCfg { - uint32_t height; - uint32_t width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t window_height_firstline; - uint32_t window_height_lastline; -}; -#define VIDEO_NODE 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MCTL_NODE 1 -#define OUTPUT_1 0 -#define OUTPUT_2 1 -#define OUTPUT_1_AND_2 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define OUTPUT_1_AND_3 3 -#define CAMIF_TO_AXI_VIA_OUTPUT_2 4 -#define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5 -#define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define OUTPUT_1_2_AND_3 7 -#define OUTPUT_ALL_CHNLS 8 -#define OUTPUT_VIDEO_ALL_CHNLS 9 -#define OUTPUT_ZSL_ALL_CHNLS 10 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS -#define OUTPUT_PRIM BIT(8) -#define OUTPUT_PRIM_ALL_CHNLS BIT(9) -#define OUTPUT_SEC BIT(10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define OUTPUT_SEC_ALL_CHNLS BIT(11) -#define OUTPUT_TERT1 BIT(12) -#define OUTPUT_TERT2 BIT(13) -#define MSM_FRAME_PREV_1 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_FRAME_PREV_2 1 -#define MSM_FRAME_ENC 2 -#define OUTPUT_TYPE_P BIT(0) -#define OUTPUT_TYPE_T BIT(1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define OUTPUT_TYPE_S BIT(2) -#define OUTPUT_TYPE_V BIT(3) -#define OUTPUT_TYPE_L BIT(4) -#define OUTPUT_TYPE_ST_L BIT(5) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define OUTPUT_TYPE_ST_R BIT(6) -#define OUTPUT_TYPE_ST_D BIT(7) -#define OUTPUT_TYPE_R BIT(8) -#define OUTPUT_TYPE_R1 BIT(9) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct fd_roi_info { - void *info; - int info_len; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mem_map_info { - uint32_t cookie; - uint32_t length; - uint32_t mem_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define MSM_MEM_MMAP 0 -#define MSM_MEM_USERPTR 1 -#define MSM_PLANE_MAX 8 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_PLANE_Y 0 -#define MSM_PLANE_UV 1 -struct msm_frame { - struct timespec ts; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int path; - int type; - unsigned long buffer; - uint32_t phy_offset; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t y_off; - uint32_t cbcr_off; - uint32_t planar0_off; - uint32_t planar1_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t planar2_off; - int fd; - void *cropinfo; - int croplen; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t error_code; - struct fd_roi_info roi_info; - uint32_t frame_id; - int stcam_quality_ind; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t stcam_conv_value; - struct ion_allocation_data ion_alloc; - struct ion_fd_data fd_data; - int ion_dev_fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum msm_st_frame_packing { - SIDE_BY_SIDE_HALF, - SIDE_BY_SIDE_FULL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - TOP_DOWN_HALF, - TOP_DOWN_FULL, -}; -struct msm_st_crop { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t in_w; - uint32_t in_h; - uint32_t out_w; - uint32_t out_h; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_st_half { - uint32_t buf_p0_off; - uint32_t buf_p1_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t buf_p0_stride; - uint32_t buf_p1_stride; - uint32_t pix_x_off; - uint32_t pix_y_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_st_crop stCropInfo; -}; -struct msm_st_frame { - struct msm_frame buf_info; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int type; - enum msm_st_frame_packing packing; - struct msm_st_half L; - struct msm_st_half R; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int frame_id; -}; -#define MSM_CAMERA_ERR_MASK (0xFFFFFFFF & 1) -struct stats_buff { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned long buff; - int fd; -}; -struct msm_stats_buf { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t awb_ymin; - struct stats_buff aec; - struct stats_buff awb; - struct stats_buff af; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct stats_buff ihist; - struct stats_buff rs; - struct stats_buff cs; - struct stats_buff skin; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int type; - uint32_t status_bits; - unsigned long buffer; - int fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int length; - struct ion_handle *handle; - uint32_t frame_id; - int buf_idx; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT 0 -#define MSM_V4L2_EXT_CAPTURE_MODE_PREVIEW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+1) -#define MSM_V4L2_EXT_CAPTURE_MODE_VIDEO (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_EXT_CAPTURE_MODE_MAIN (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+3) -#define MSM_V4L2_EXT_CAPTURE_MODE_THUMBNAIL (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+4) -#define MSM_V4L2_EXT_CAPTURE_MODE_RAW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+5) -#define MSM_V4L2_EXT_CAPTURE_MODE_RDI (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+6) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_EXT_CAPTURE_MODE_RDI1 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+7) -#define MSM_V4L2_EXT_CAPTURE_MODE_RDI2 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+8) -#define MSM_V4L2_EXT_CAPTURE_MODE_AEC (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+9) -#define MSM_V4L2_EXT_CAPTURE_MODE_AWB (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_EXT_CAPTURE_MODE_AF (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+11) -#define MSM_V4L2_EXT_CAPTURE_MODE_IHIST (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+12) -#define MSM_V4L2_EXT_CAPTURE_MODE_CS (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+13) -#define MSM_V4L2_EXT_CAPTURE_MODE_RS (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+14) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_EXT_CAPTURE_MODE_MAX (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+15) -#define MSM_V4L2_PID_MOTION_ISO V4L2_CID_PRIVATE_BASE -#define MSM_V4L2_PID_EFFECT (V4L2_CID_PRIVATE_BASE+1) -#define MSM_V4L2_PID_HJR (V4L2_CID_PRIVATE_BASE+2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_PID_LED_MODE (V4L2_CID_PRIVATE_BASE+3) -#define MSM_V4L2_PID_PREP_SNAPSHOT (V4L2_CID_PRIVATE_BASE+4) -#define MSM_V4L2_PID_EXP_METERING (V4L2_CID_PRIVATE_BASE+5) -#define MSM_V4L2_PID_ISO (V4L2_CID_PRIVATE_BASE+6) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_PID_CAM_MODE (V4L2_CID_PRIVATE_BASE+7) -#define MSM_V4L2_PID_LUMA_ADAPTATION (V4L2_CID_PRIVATE_BASE+8) -#define MSM_V4L2_PID_BEST_SHOT (V4L2_CID_PRIVATE_BASE+9) -#define MSM_V4L2_PID_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+10) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_PID_BL_DETECTION (V4L2_CID_PRIVATE_BASE+11) -#define MSM_V4L2_PID_SNOW_DETECTION (V4L2_CID_PRIVATE_BASE+12) -#define MSM_V4L2_PID_CTRL_CMD (V4L2_CID_PRIVATE_BASE+13) -#define MSM_V4L2_PID_EVT_SUB_INFO (V4L2_CID_PRIVATE_BASE+14) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_PID_STROBE_FLASH (V4L2_CID_PRIVATE_BASE+15) -#define MSM_V4L2_PID_INST_HANDLE (V4L2_CID_PRIVATE_BASE+16) -#define MSM_V4L2_PID_MMAP_INST (V4L2_CID_PRIVATE_BASE+17) -#define MSM_V4L2_PID_PP_PLANE_INFO (V4L2_CID_PRIVATE_BASE+18) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_PID_MAX MSM_V4L2_PID_PP_PLANE_INFO -#define MSM_V4L2_CAM_OP_DEFAULT 0 -#define MSM_V4L2_CAM_OP_PREVIEW (MSM_V4L2_CAM_OP_DEFAULT+1) -#define MSM_V4L2_CAM_OP_VIDEO (MSM_V4L2_CAM_OP_DEFAULT+2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_CAM_OP_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+3) -#define MSM_V4L2_CAM_OP_ZSL (MSM_V4L2_CAM_OP_DEFAULT+4) -#define MSM_V4L2_CAM_OP_RAW (MSM_V4L2_CAM_OP_DEFAULT+5) -#define MSM_V4L2_CAM_OP_JPEG_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+6) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_VID_CAP_TYPE 0 -#define MSM_V4L2_STREAM_ON 1 -#define MSM_V4L2_STREAM_OFF 2 -#define MSM_V4L2_SNAPSHOT 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_QUERY_CTRL 4 -#define MSM_V4L2_GET_CTRL 5 -#define MSM_V4L2_SET_CTRL 6 -#define MSM_V4L2_QUERY 7 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_GET_CROP 8 -#define MSM_V4L2_SET_CROP 9 -#define MSM_V4L2_OPEN 10 -#define MSM_V4L2_CLOSE 11 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_SET_CTRL_CMD 12 -#define MSM_V4L2_EVT_SUB_MASK 13 -#define MSM_V4L2_MAX 14 -#define V4L2_CAMERA_EXIT 43 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct crop_info { - void *info; - int len; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_postproc { - int ftnum; - struct msm_frame fthumnail; - int fmnum; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_frame fmain; -}; -struct msm_snapshot_pp_status { - void *status; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define CFG_SET_MODE 0 -#define CFG_SET_EFFECT 1 -#define CFG_START 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_PWR_UP 3 -#define CFG_PWR_DOWN 4 -#define CFG_WRITE_EXPOSURE_GAIN 5 -#define CFG_SET_DEFAULT_FOCUS 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_MOVE_FOCUS 7 -#define CFG_REGISTER_TO_REAL_GAIN 8 -#define CFG_REAL_TO_REGISTER_GAIN 9 -#define CFG_SET_FPS 10 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_PICT_FPS 11 -#define CFG_SET_BRIGHTNESS 12 -#define CFG_SET_CONTRAST 13 -#define CFG_SET_ZOOM 14 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_EXPOSURE_MODE 15 -#define CFG_SET_WB 16 -#define CFG_SET_ANTIBANDING 17 -#define CFG_SET_EXP_GAIN 18 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_PICT_EXP_GAIN 19 -#define CFG_SET_LENS_SHADING 20 -#define CFG_GET_PICT_FPS 21 -#define CFG_GET_PREV_L_PF 22 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_GET_PREV_P_PL 23 -#define CFG_GET_PICT_L_PF 24 -#define CFG_GET_PICT_P_PL 25 -#define CFG_GET_AF_MAX_STEPS 26 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_GET_PICT_MAX_EXP_LC 27 -#define CFG_SEND_WB_INFO 28 -#define CFG_SENSOR_INIT 29 -#define CFG_GET_3D_CALI_DATA 30 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_GET_CALIB_DATA 31 -#define CFG_GET_OUTPUT_INFO 32 -#define CFG_GET_EEPROM_INFO 33 -#define CFG_GET_EEPROM_DATA 34 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_ACTUATOR_INFO 35 -#define CFG_GET_ACTUATOR_INFO 36 -#define CFG_SET_SATURATION 37 -#define CFG_SET_SHARPNESS 38 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_TOUCHAEC 39 -#define CFG_SET_AUTO_FOCUS 40 -#define CFG_SET_AUTOFLASH 41 -#define CFG_SET_EXPOSURE_COMPENSATION 42 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_SET_ISO 43 -#define CFG_START_STREAM 44 -#define CFG_STOP_STREAM 45 -#define CFG_GET_CSI_PARAMS 46 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CFG_MAX 47 -#define MOVE_NEAR 0 -#define MOVE_FAR 1 -#define SENSOR_PREVIEW_MODE 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SENSOR_SNAPSHOT_MODE 1 -#define SENSOR_RAW_SNAPSHOT_MODE 2 -#define SENSOR_HFR_60FPS_MODE 3 -#define SENSOR_HFR_90FPS_MODE 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SENSOR_HFR_120FPS_MODE 5 -#define SENSOR_QTR_SIZE 0 -#define SENSOR_FULL_SIZE 1 -#define SENSOR_QVGA_SIZE 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SENSOR_INVALID_SIZE 3 -#define CAMERA_EFFECT_OFF 0 -#define CAMERA_EFFECT_MONO 1 -#define CAMERA_EFFECT_NEGATIVE 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_EFFECT_SOLARIZE 3 -#define CAMERA_EFFECT_SEPIA 4 -#define CAMERA_EFFECT_POSTERIZE 5 -#define CAMERA_EFFECT_WHITEBOARD 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_EFFECT_BLACKBOARD 7 -#define CAMERA_EFFECT_AQUA 8 -#define CAMERA_EFFECT_EMBOSS 9 -#define CAMERA_EFFECT_SKETCH 10 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_EFFECT_NEON 11 -#define CAMERA_EFFECT_MAX 12 -#define CAMERA_EFFECT_BW 10 -#define CAMERA_EFFECT_BLUISH 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_EFFECT_REDDISH 13 -#define CAMERA_EFFECT_GREENISH 14 -#define CAMERA_ANTIBANDING_OFF 0 -#define CAMERA_ANTIBANDING_50HZ 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_ANTIBANDING_60HZ 1 -#define CAMERA_ANTIBANDING_AUTO 3 -#define CAMERA_CONTRAST_LV0 0 -#define CAMERA_CONTRAST_LV1 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_CONTRAST_LV2 2 -#define CAMERA_CONTRAST_LV3 3 -#define CAMERA_CONTRAST_LV4 4 -#define CAMERA_CONTRAST_LV5 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_CONTRAST_LV6 6 -#define CAMERA_CONTRAST_LV7 7 -#define CAMERA_CONTRAST_LV8 8 -#define CAMERA_CONTRAST_LV9 9 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_BRIGHTNESS_LV0 0 -#define CAMERA_BRIGHTNESS_LV1 1 -#define CAMERA_BRIGHTNESS_LV2 2 -#define CAMERA_BRIGHTNESS_LV3 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_BRIGHTNESS_LV4 4 -#define CAMERA_BRIGHTNESS_LV5 5 -#define CAMERA_BRIGHTNESS_LV6 6 -#define CAMERA_BRIGHTNESS_LV7 7 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_BRIGHTNESS_LV8 8 -#define CAMERA_SATURATION_LV0 0 -#define CAMERA_SATURATION_LV1 1 -#define CAMERA_SATURATION_LV2 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_SATURATION_LV3 3 -#define CAMERA_SATURATION_LV4 4 -#define CAMERA_SATURATION_LV5 5 -#define CAMERA_SATURATION_LV6 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_SATURATION_LV7 7 -#define CAMERA_SATURATION_LV8 8 -#define CAMERA_SHARPNESS_LV0 0 -#define CAMERA_SHARPNESS_LV1 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_SHARPNESS_LV2 6 -#define CAMERA_SHARPNESS_LV3 9 -#define CAMERA_SHARPNESS_LV4 12 -#define CAMERA_SHARPNESS_LV5 15 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_SHARPNESS_LV6 18 -#define CAMERA_SHARPNESS_LV7 21 -#define CAMERA_SHARPNESS_LV8 24 -#define CAMERA_SHARPNESS_LV9 27 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_SHARPNESS_LV10 30 -#define CAMERA_SETAE_AVERAGE 0 -#define CAMERA_SETAE_CENWEIGHT 1 -#define CAMERA_WB_AUTO 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_WB_CUSTOM 2 -#define CAMERA_WB_INCANDESCENT 3 -#define CAMERA_WB_FLUORESCENT 4 -#define CAMERA_WB_DAYLIGHT 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_WB_CLOUDY_DAYLIGHT 6 -#define CAMERA_WB_TWILIGHT 7 -#define CAMERA_WB_SHADE 8 -#define CAMERA_EXPOSURE_COMPENSATION_LV0 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_EXPOSURE_COMPENSATION_LV1 6 -#define CAMERA_EXPOSURE_COMPENSATION_LV2 0 -#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6 -#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_v4l2_saturation_level { - MSM_V4L2_SATURATION_L0, - MSM_V4L2_SATURATION_L1, - MSM_V4L2_SATURATION_L2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_SATURATION_L3, - MSM_V4L2_SATURATION_L4, - MSM_V4L2_SATURATION_L5, - MSM_V4L2_SATURATION_L6, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_SATURATION_L7, - MSM_V4L2_SATURATION_L8, - MSM_V4L2_SATURATION_L9, - MSM_V4L2_SATURATION_L10, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum msm_v4l2_contrast_level { - MSM_V4L2_CONTRAST_L0, - MSM_V4L2_CONTRAST_L1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_CONTRAST_L2, - MSM_V4L2_CONTRAST_L3, - MSM_V4L2_CONTRAST_L4, - MSM_V4L2_CONTRAST_L5, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_CONTRAST_L6, - MSM_V4L2_CONTRAST_L7, - MSM_V4L2_CONTRAST_L8, - MSM_V4L2_CONTRAST_L9, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_CONTRAST_L10, -}; -enum msm_v4l2_exposure_level { - MSM_V4L2_EXPOSURE_N2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_EXPOSURE_N1, - MSM_V4L2_EXPOSURE_D, - MSM_V4L2_EXPOSURE_P1, - MSM_V4L2_EXPOSURE_P2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum msm_v4l2_sharpness_level { - MSM_V4L2_SHARPNESS_L0, - MSM_V4L2_SHARPNESS_L1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_SHARPNESS_L2, - MSM_V4L2_SHARPNESS_L3, - MSM_V4L2_SHARPNESS_L4, - MSM_V4L2_SHARPNESS_L5, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_SHARPNESS_L6, -}; -enum msm_v4l2_expo_metering_mode { - MSM_V4L2_EXP_FRAME_AVERAGE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_EXP_CENTER_WEIGHTED, - MSM_V4L2_EXP_SPOT_METERING, -}; -enum msm_v4l2_iso_mode { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_ISO_AUTO = 0, - MSM_V4L2_ISO_DEBLUR, - MSM_V4L2_ISO_100, - MSM_V4L2_ISO_200, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_ISO_400, - MSM_V4L2_ISO_800, - MSM_V4L2_ISO_1600, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_v4l2_wb_mode { - MSM_V4L2_WB_OFF, - MSM_V4L2_WB_AUTO , - MSM_V4L2_WB_CUSTOM, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_WB_INCANDESCENT, - MSM_V4L2_WB_FLUORESCENT, - MSM_V4L2_WB_DAYLIGHT, - MSM_V4L2_WB_CLOUDY_DAYLIGHT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum msm_v4l2_special_effect { - MSM_V4L2_EFFECT_OFF, - MSM_V4L2_EFFECT_MONO, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_EFFECT_NEGATIVE, - MSM_V4L2_EFFECT_SOLARIZE, - MSM_V4L2_EFFECT_SEPIA, - MSM_V4L2_EFFECT_POSTERAIZE, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_EFFECT_WHITEBOARD, - MSM_V4L2_EFFECT_BLACKBOARD, - MSM_V4L2_EFFECT_AQUA, - MSM_V4L2_EFFECT_EMBOSS, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_EFFECT_SKETCH, - MSM_V4L2_EFFECT_NEON, - MSM_V4L2_EFFECT_MAX, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_v4l2_power_line_frequency { - MSM_V4L2_POWER_LINE_OFF, - MSM_V4L2_POWER_LINE_60HZ, - MSM_V4L2_POWER_LINE_50HZ, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_V4L2_POWER_LINE_AUTO, -}; -#define CAMERA_ISO_TYPE_AUTO 0 -#define CAMEAR_ISO_TYPE_HJR 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMEAR_ISO_TYPE_100 2 -#define CAMERA_ISO_TYPE_200 3 -#define CAMERA_ISO_TYPE_400 4 -#define CAMEAR_ISO_TYPE_800 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAMERA_ISO_TYPE_1600 6 -struct sensor_pict_fps { - uint16_t prevfps; - uint16_t pictfps; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct exp_gain_cfg { - uint16_t gain; - uint32_t line; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct focus_cfg { - int32_t steps; - int dir; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct fps_cfg { - uint16_t f_mult; - uint16_t fps_div; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t pict_fps_div; -}; -struct wb_info_cfg { - uint16_t red_gain; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t green_gain; - uint16_t blue_gain; -}; -struct sensor_3d_exp_cfg { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t gain; - uint32_t line; - uint16_t r_gain; - uint16_t b_gain; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t gr_gain; - uint16_t gb_gain; - uint16_t gain_adjust; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct sensor_3d_cali_data_t{ - unsigned char left_p_matrix[3][4][8]; - unsigned char right_p_matrix[3][4][8]; - unsigned char square_len[8]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned char focal_len[8]; - unsigned char pixel_pitch[8]; - uint16_t left_r; - uint16_t left_b; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t left_gb; - uint16_t left_af_far; - uint16_t left_af_mid; - uint16_t left_af_short; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t left_af_5um; - uint16_t left_af_50up; - uint16_t left_af_50down; - uint16_t right_r; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t right_b; - uint16_t right_gb; - uint16_t right_af_far; - uint16_t right_af_mid; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t right_af_short; - uint16_t right_af_5um; - uint16_t right_af_50up; - uint16_t right_af_50down; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct sensor_init_cfg { - uint8_t prev_res; - uint8_t pict_res; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define ROLLOFF_CALDATA_SIZE (17 * 13) -typedef struct -{ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned short mesh_rolloff_table_size; - uint8_t r_gain[ROLLOFF_CALDATA_SIZE]; - uint8_t gr_gain[ROLLOFF_CALDATA_SIZE]; - uint8_t gb_gain[ROLLOFF_CALDATA_SIZE]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t b_gain[ROLLOFF_CALDATA_SIZE]; - uint8_t red_ref[17]; -} rolloff_caldata_array_type; -struct sensor_calib_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t r_over_g; - uint16_t b_over_g; - uint16_t gr_over_gb; - uint16_t macro_2_inf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t inf_2_macro; - uint16_t stroke_amt; - uint16_t af_pos_1m; - uint16_t af_pos_inf; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - rolloff_caldata_array_type rolloff; -}; -enum msm_sensor_resolution_t { - MSM_SENSOR_RES_FULL, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_SENSOR_RES_QTR, - MSM_SENSOR_RES_2, - MSM_SENSOR_RES_3, - MSM_SENSOR_RES_4, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_SENSOR_RES_5, - MSM_SENSOR_RES_6, - MSM_SENSOR_RES_7, - MSM_SENSOR_INVALID_RES, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_sensor_output_info_t { - uint16_t x_output; - uint16_t y_output; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t line_length_pclk; - uint16_t frame_length_lines; - uint32_t vt_pixel_clk; - uint32_t op_pixel_clk; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t binning_factor; -}; -struct sensor_output_info_t { - struct msm_sensor_output_info_t *output_info; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t num_info; -}; -struct mirror_flip { - int32_t x_mirror; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int32_t y_flip; -}; -struct cord { - uint32_t x; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t y; -}; -struct msm_eeprom_data_t { - void *eeprom_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t index; -}; -struct msm_camera_csid_vc_cfg { - uint8_t cid; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t dt; - uint8_t decode_format; -}; -struct csi_lane_params_t { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t csi_lane_assign; - uint8_t csi_lane_mask; - uint8_t csi_if; - uint8_t csid_core; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t csid_version; -}; -#define CSI_EMBED_DATA 0x12 -#define CSI_RESERVED_DATA_0 0x13 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CSI_YUV422_8 0x1E -#define CSI_RAW8 0x2A -#define CSI_RAW10 0x2B -#define CSI_RAW12 0x2C -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CSI_DECODE_6BIT 0 -#define CSI_DECODE_8BIT 1 -#define CSI_DECODE_10BIT 2 -#define CSI_DECODE_DPCM_10_8_10 5 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ISPIF_STREAM(intf, action, vfe) (((intf)<<ISPIF_S_STREAM_SHIFT)+ (action)+((vfe)<<ISPIF_VFE_INTF_SHIFT)) -#define ISPIF_ON_FRAME_BOUNDARY (0x01 << 0) -#define ISPIF_OFF_FRAME_BOUNDARY (0x01 << 1) -#define ISPIF_OFF_IMMEDIATELY (0x01 << 2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define ISPIF_S_STREAM_SHIFT 4 -#define ISPIF_VFE_INTF_SHIFT 12 -#define PIX_0 (0x01 << 0) -#define RDI_0 (0x01 << 1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define PIX_1 (0x01 << 2) -#define RDI_1 (0x01 << 3) -#define RDI_2 (0x01 << 4) -enum msm_ispif_vfe_intf { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VFE0, - VFE1, - VFE_MAX, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_ispif_intftype { - PIX0, - RDI0, - PIX1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - RDI1, - RDI2, - INTF_MAX, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_ispif_vc { - VC0, - VC1, - VC2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - VC3, -}; -enum msm_ispif_cid { - CID0, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CID1, - CID2, - CID3, - CID4, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CID5, - CID6, - CID7, - CID8, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CID9, - CID10, - CID11, - CID12, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CID13, - CID14, - CID15, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_ispif_params { - uint8_t intftype; - uint16_t cid_mask; - uint8_t csid; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t vfe_intf; -}; -struct msm_ispif_params_list { - uint32_t len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_ispif_params params[4]; -}; -enum ispif_cfg_type_t { - ISPIF_INIT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ISPIF_SET_CFG, - ISPIF_SET_ON_FRAME_BOUNDARY, - ISPIF_SET_OFF_FRAME_BOUNDARY, - ISPIF_SET_OFF_IMMEDIATELY, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ISPIF_RELEASE, -}; -struct ispif_cfg_data { - enum ispif_cfg_type_t cfgtype; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - union { - uint32_t csid_version; - int cmd; - struct msm_ispif_params_list ispif_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - } cfg; -}; -struct sensor_cfg_data { - int cfgtype; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int mode; - int rs; - uint8_t max_steps; - union { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int8_t effect; - uint8_t lens_shading; - uint16_t prevl_pf; - uint16_t prevp_pl; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t pictl_pf; - uint16_t pictp_pl; - uint32_t pict_max_exp_lc; - uint16_t p_fps; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t iso_type; - struct sensor_init_cfg init_info; - struct sensor_pict_fps gfps; - struct exp_gain_cfg exp_gain; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct focus_cfg focus; - struct fps_cfg fps; - struct wb_info_cfg wb_info; - struct sensor_3d_exp_cfg sensor_3d_exp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct sensor_calib_data calib_info; - struct sensor_output_info_t output_info; - struct msm_eeprom_data_t eeprom_data; - struct csi_lane_params_t csi_lane_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t antibanding; - uint8_t contrast; - uint8_t saturation; - uint8_t sharpness; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int8_t brightness; - int ae_mode; - uint8_t wb_val; - int8_t exp_compensation; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct cord aec_cord; - int is_autoflash; - struct mirror_flip mirror_flip; - } cfg; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct damping_params_t { - uint32_t damping_step; - uint32_t damping_delay; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t hw_params; -}; -enum actuator_type { - ACTUATOR_VCM, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ACTUATOR_PIEZO, -}; -enum msm_actuator_data_type { - MSM_ACTUATOR_BYTE_DATA = 1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_ACTUATOR_WORD_DATA, -}; -enum msm_actuator_addr_type { - MSM_ACTUATOR_BYTE_ADDR = 1, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_ACTUATOR_WORD_ADDR, -}; -enum msm_actuator_write_type { - MSM_ACTUATOR_WRITE_HW_DAMP, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_ACTUATOR_WRITE_DAC, -}; -struct msm_actuator_reg_params_t { - enum msm_actuator_write_type reg_write_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t hw_mask; - uint16_t reg_addr; - uint16_t hw_shift; - uint16_t data_shift; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct reg_settings_t { - uint16_t reg_addr; - uint16_t reg_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct region_params_t { - uint16_t step_bound[2]; - uint16_t code_per_step; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_actuator_move_params_t { - int8_t dir; - int8_t sign_dir; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int16_t dest_step_pos; - int32_t num_steps; - struct damping_params_t *ringing_params; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_actuator_tuning_params_t { - int16_t initial_code; - uint16_t pwd_step; - uint16_t region_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t total_steps; - struct region_params_t *region_params; -}; -struct msm_actuator_params_t { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - enum actuator_type act_type; - uint8_t reg_tbl_size; - uint16_t data_size; - uint16_t init_setting_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t i2c_addr; - enum msm_actuator_addr_type i2c_addr_type; - enum msm_actuator_data_type i2c_data_type; - struct msm_actuator_reg_params_t *reg_tbl_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct reg_settings_t *init_settings; -}; -struct msm_actuator_set_info_t { - struct msm_actuator_params_t actuator_params; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_actuator_tuning_params_t af_tuning_params; -}; -struct msm_actuator_get_info_t { - uint32_t focal_length_num; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t focal_length_den; - uint32_t f_number_num; - uint32_t f_number_den; - uint32_t f_pix_num; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t f_pix_den; - uint32_t total_f_dist_num; - uint32_t total_f_dist_den; - uint32_t hor_view_angle_num; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t hor_view_angle_den; - uint32_t ver_view_angle_num; - uint32_t ver_view_angle_den; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum af_camera_name { - ACTUATOR_MAIN_CAM_0, - ACTUATOR_MAIN_CAM_1, - ACTUATOR_MAIN_CAM_2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ACTUATOR_MAIN_CAM_3, - ACTUATOR_MAIN_CAM_4, - ACTUATOR_MAIN_CAM_5, - ACTUATOR_WEB_CAM_0, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ACTUATOR_WEB_CAM_1, - ACTUATOR_WEB_CAM_2, -}; -struct msm_actuator_cfg_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int cfgtype; - uint8_t is_af_supported; - union { - struct msm_actuator_move_params_t move; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_actuator_set_info_t set_info; - struct msm_actuator_get_info_t get_info; - enum af_camera_name cam_name; - } cfg; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_eeprom_support { - uint16_t is_supported; - uint16_t size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t index; - uint16_t qvalue; -}; -struct msm_calib_wb { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t r_over_g; - uint16_t b_over_g; - uint16_t gr_over_gb; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_calib_af { - uint16_t macro_dac; - uint16_t inf_dac; - uint16_t start_dac; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_calib_lsc { - uint16_t r_gain[221]; - uint16_t b_gain[221]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t gr_gain[221]; - uint16_t gb_gain[221]; -}; -struct pixel_t { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int x; - int y; -}; -struct msm_calib_dpc { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t validcount; - struct pixel_t snapshot_coord[128]; - struct pixel_t preview_coord[128]; - struct pixel_t video_coord[128]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_camera_eeprom_info_t { - struct msm_eeprom_support af; - struct msm_eeprom_support wb; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_eeprom_support lsc; - struct msm_eeprom_support dpc; -}; -struct msm_eeprom_cfg_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int cfgtype; - uint8_t is_eeprom_supported; - union { - struct msm_eeprom_data_t get_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_camera_eeprom_info_t get_info; - } cfg; -}; -struct sensor_large_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int cfgtype; - union { - struct sensor_3d_cali_data_t sensor_3d_cali_data; - } data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -enum sensor_type_t { - BAYER, - YUV, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - JPEG_SOC, -}; -enum flash_type { - LED_FLASH, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - STROBE_FLASH, -}; -enum strobe_flash_ctrl_type { - STROBE_FLASH_CTRL_INIT, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - STROBE_FLASH_CTRL_CHARGE, - STROBE_FLASH_CTRL_RELEASE -}; -struct strobe_flash_ctrl_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - enum strobe_flash_ctrl_type type; - int charge_en; -}; -struct msm_camera_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int num_cameras; - uint8_t has_3d_support[MSM_MAX_CAMERA_SENSORS]; - uint8_t is_internal_cam[MSM_MAX_CAMERA_SENSORS]; - uint32_t s_mount_angle[MSM_MAX_CAMERA_SENSORS]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - const char *video_dev_name[MSM_MAX_CAMERA_SENSORS]; - enum sensor_type_t sensor_type[MSM_MAX_CAMERA_SENSORS]; -}; -struct msm_cam_config_dev_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int num_config_nodes; - const char *config_dev_name[MSM_MAX_CAMERA_CONFIGS]; - int config_dev_id[MSM_MAX_CAMERA_CONFIGS]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mctl_node_info { - int num_mctl_nodes; - const char *mctl_node_name[MSM_MAX_CAMERA_SENSORS]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct flash_ctrl_data { - int flashtype; - union { - int led_state; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct strobe_flash_ctrl_data strobe_ctrl; - } ctrl_data; -}; -#define GET_NAME 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define GET_PREVIEW_LINE_PER_FRAME 1 -#define GET_PREVIEW_PIXELS_PER_LINE 2 -#define GET_SNAPSHOT_LINE_PER_FRAME 3 -#define GET_SNAPSHOT_PIXELS_PER_LINE 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define GET_SNAPSHOT_FPS 5 -#define GET_SNAPSHOT_MAX_EP_LINE_CNT 6 -struct msm_camsensor_info { - char name[MAX_SENSOR_NAME]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t flash_enabled; - uint8_t strobe_flash_enabled; - uint8_t actuator_enabled; - uint8_t ispif_supported; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int8_t total_steps; - uint8_t support_3d; - enum flash_type flashtype; - enum sensor_type_t sensor_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t pxlcode; - uint32_t camera_type; - int mount_angle; - uint32_t max_width; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t max_height; -}; -#define V4L2_SINGLE_PLANE 0 -#define V4L2_MULTI_PLANE_Y 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define V4L2_MULTI_PLANE_CBCR 1 -#define V4L2_MULTI_PLANE_CB 1 -#define V4L2_MULTI_PLANE_CR 2 -struct plane_data { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int plane_id; - uint32_t offset; - unsigned long size; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct img_plane_info { - uint32_t width; - uint32_t height; - uint32_t pixelformat; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t buffer_type; - uint8_t output_port; - uint32_t ext_mode; - uint8_t num_planes; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct plane_data plane[MAX_PLANES]; - uint32_t sp_y_offset; - uint32_t inst_handle; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define QCAMERA_NAME "qcamera" -#define QCAMERA_SERVER_NAME "qcamera_server" -#define QCAMERA_DEVICE_GROUP_ID 1 -#define QCAMERA_VNODE_GROUP_ID 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_cam_subdev_type { - CSIPHY_DEV, - CSID_DEV, - CSIC_DEV, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - ISPIF_DEV, - VFE_DEV, - AXI_DEV, - VPE_DEV, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - SENSOR_DEV, - ACTUATOR_DEV, - EEPROM_DEV, - GESTURE_DEV, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - IRQ_ROUTER_DEV, - CPP_DEV, - CCI_DEV, -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mctl_set_sdev_data { - uint32_t revision; - enum msm_cam_subdev_type sdev_type; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_V4L2_IOCTL_GET_CAMERA_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t) -#define MSM_CAM_V4L2_IOCTL_GET_CONFIG_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t) -#define MSM_CAM_V4L2_IOCTL_GET_MCTL_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t) -#define MSM_CAM_V4L2_IOCTL_CTRL_CMD_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_V4L2_IOCTL_GET_EVENT_PAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t) -#define MSM_CAM_IOCTL_SEND_EVENT _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct v4l2_event) -#define MSM_CAM_V4L2_IOCTL_CFG_VPE _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_vpe_cfg_cmd) -#define MSM_CAM_V4L2_IOCTL_PRIVATE_S_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_CAM_V4L2_IOCTL_PRIVATE_G_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t) -#define VIDIOC_MSM_VPE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 15) -#define VIDIOC_MSM_VPE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 16) -#define VIDIOC_MSM_VPE_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_mctl_pp_params *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VIDIOC_MSM_AXI_INIT _IO('V', BASE_VIDIOC_PRIVATE + 18) -#define VIDIOC_MSM_AXI_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 19) -#define VIDIOC_MSM_AXI_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 20, void *) -#define VIDIOC_MSM_AXI_IRQ _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VIDIOC_MSM_AXI_BUF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *) -#define VIDIOC_MSM_VFE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 22) -#define VIDIOC_MSM_VFE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 23) -struct msm_camera_v4l2_ioctl_t { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t id; - void __user *ioctl_ptr; - uint32_t len; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_camera_vfe_params_t { - uint32_t operation_mode; - uint32_t capture_count; - uint32_t skip_abort; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t port_info; - uint32_t inst_handle; - uint16_t cmd_type; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_camss_irq_idx { - CAMERA_SS_IRQ_0, - CAMERA_SS_IRQ_1, - CAMERA_SS_IRQ_2, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CAMERA_SS_IRQ_3, - CAMERA_SS_IRQ_4, - CAMERA_SS_IRQ_5, - CAMERA_SS_IRQ_6, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CAMERA_SS_IRQ_7, - CAMERA_SS_IRQ_8, - CAMERA_SS_IRQ_9, - CAMERA_SS_IRQ_10, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - CAMERA_SS_IRQ_11, - CAMERA_SS_IRQ_12, - CAMERA_SS_IRQ_MAX -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -enum msm_cam_hw_idx { - MSM_CAM_HW_MICRO, - MSM_CAM_HW_CCI, - MSM_CAM_HW_CSI0, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_CAM_HW_CSI1, - MSM_CAM_HW_CSI2, - MSM_CAM_HW_CSI3, - MSM_CAM_HW_ISPIF, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_CAM_HW_CPP, - MSM_CAM_HW_VFE0, - MSM_CAM_HW_VFE1, - MSM_CAM_HW_JPEG0, -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_CAM_HW_JPEG1, - MSM_CAM_HW_JPEG2, - MSM_CAM_HW_MAX -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_camera_irq_cfg { - uint32_t cam_hw_mask; - uint8_t irq_idx; - uint8_t num_hwcore; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define MSM_IRQROUTER_CFG_COMPIRQ _IOWR('V', BASE_VIDIOC_PRIVATE, void __user *) -#define MAX_NUM_CPP_STRIPS 8 -enum msm_cpp_frame_type { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - MSM_CPP_OFFLINE_FRAME, - MSM_CPP_REALTIME_FRAME, -}; -struct msm_cpp_frame_strip_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int scale_v_en; - int scale_h_en; - int upscale_v_en; - int upscale_h_en; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int src_start_x; - int src_end_x; - int src_start_y; - int src_end_y; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int pad_bottom; - int pad_top; - int pad_right; - int pad_left; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int v_init_phase; - int h_init_phase; - int h_phase_step; - int v_phase_step; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int prescale_crop_width_first_pixel; - int prescale_crop_width_last_pixel; - int prescale_crop_height_first_line; - int prescale_crop_height_last_line; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int postscale_crop_height_first_line; - int postscale_crop_height_last_line; - int postscale_crop_width_first_pixel; - int postscale_crop_width_last_pixel; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int dst_start_x; - int dst_end_x; - int dst_start_y; - int dst_end_y; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int bytes_per_pixel; - unsigned int source_address; - unsigned int destination_address; - unsigned int src_stride; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - unsigned int dst_stride; - int rotate_270; - int horizontal_flip; - int vertical_flip; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int scale_output_width; - int scale_output_height; -}; -struct msm_cpp_frame_info_t { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int32_t frame_id; - uint32_t inst_id; - uint32_t client_id; - enum msm_cpp_frame_type frame_type; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t num_strips; - struct msm_cpp_frame_strip_info *strip_info; -}; -struct msm_ver_num_info { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t main; - uint32_t minor; - uint32_t rev; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VIDIOC_MSM_CPP_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t) -#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t) -#define VIDIOC_MSM_CPP_GET_INST_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t) -#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CLR_IMG_MODE(handle) (handle &= 0xFF00FFFF) -#define SET_IMG_MODE(handle, data) (handle |= ((0x1 << 23) | ((data & 0x7F) << 16))) -#define GET_IMG_MODE(handle) ((handle & 0x800000) ? ((handle & 0x7F0000) >> 16) : 0xFF) -#define CLR_MCTLPP_INST_IDX(handle) (handle &= 0xFFFF00FF) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SET_MCTLPP_INST_IDX(handle, data) (handle |= ((0x1 << 15) | ((data & 0x7F) << 8))) -#define GET_MCTLPP_INST_IDX(handle) ((handle & 0x8000) ? ((handle & 0x7F00) >> 8) : 0xFF) -#define CLR_VIDEO_INST_IDX(handle) (handle &= 0xFFFFFF00) -#define GET_VIDEO_INST_IDX(handle) ((handle & 0x80) ? (handle & 0x7F) : 0xFF) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SET_VIDEO_INST_IDX(handle, data) (handle |= (0x1 << 7) | (data & 0x7F)) -#endif diff --git a/libc/kernel/common/media/msm_gemini.h b/libc/kernel/common/media/msm_gemini.h deleted file mode 100644 index d914165..0000000 --- a/libc/kernel/common/media/msm_gemini.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_GEMINI_H -#define __LINUX_MSM_GEMINI_H -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GMN_IOCTL_MAGIC 'g' -#define MSM_GMN_IOCTL_GET_HW_VERSION _IOW(MSM_GMN_IOCTL_MAGIC, 1, struct msm_gemini_hw_cmd *) -#define MSM_GMN_IOCTL_RESET _IOW(MSM_GMN_IOCTL_MAGIC, 2, struct msm_gemini_ctrl_cmd *) -#define MSM_GMN_IOCTL_STOP _IOW(MSM_GMN_IOCTL_MAGIC, 3, struct msm_gemini_hw_cmds *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GMN_IOCTL_START _IOW(MSM_GMN_IOCTL_MAGIC, 4, struct msm_gemini_hw_cmds *) -#define MSM_GMN_IOCTL_INPUT_BUF_ENQUEUE _IOW(MSM_GMN_IOCTL_MAGIC, 5, struct msm_gemini_buf *) -#define MSM_GMN_IOCTL_INPUT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 6, struct msm_gemini_buf *) -#define MSM_GMN_IOCTL_INPUT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 7, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GMN_IOCTL_OUTPUT_BUF_ENQUEUE _IOW(MSM_GMN_IOCTL_MAGIC, 8, struct msm_gemini_buf *) -#define MSM_GMN_IOCTL_OUTPUT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 9, struct msm_gemini_buf *) -#define MSM_GMN_IOCTL_OUTPUT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 10, int) -#define MSM_GMN_IOCTL_EVT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 11, struct msm_gemini_ctrl_cmd *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GMN_IOCTL_EVT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 12, int) -#define MSM_GMN_IOCTL_HW_CMD _IOW(MSM_GMN_IOCTL_MAGIC, 13, struct msm_gemini_hw_cmd *) -#define MSM_GMN_IOCTL_HW_CMDS _IOW(MSM_GMN_IOCTL_MAGIC, 14, struct msm_gemini_hw_cmds *) -#define MSM_GMN_IOCTL_TEST_DUMP_REGION _IOW(MSM_GMN_IOCTL_MAGIC, 15, unsigned long) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GEMINI_MODE_REALTIME_ENCODE 0 -#define MSM_GEMINI_MODE_OFFLINE_ENCODE 1 -#define MSM_GEMINI_MODE_REALTIME_ROTATION 2 -#define MSM_GEMINI_MODE_OFFLINE_ROTATION 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_gemini_ctrl_cmd { - uint32_t type; - uint32_t len; - void *value; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define MSM_GEMINI_EVT_RESET 0 -#define MSM_GEMINI_EVT_FRAMEDONE 1 -#define MSM_GEMINI_EVT_ERR 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_gemini_buf { - uint32_t type; - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t y_off; - uint32_t y_len; - uint32_t framedone_len; - uint32_t cbcr_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t cbcr_len; - uint32_t num_of_mcu_rows; - uint32_t offset; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GEMINI_HW_CMD_TYPE_READ 0 -#define MSM_GEMINI_HW_CMD_TYPE_WRITE 1 -#define MSM_GEMINI_HW_CMD_TYPE_WRITE_OR 2 -#define MSM_GEMINI_HW_CMD_TYPE_UWAIT 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GEMINI_HW_CMD_TYPE_MWAIT 4 -#define MSM_GEMINI_HW_CMD_TYPE_MDELAY 5 -#define MSM_GEMINI_HW_CMD_TYPE_UDELAY 6 -struct msm_gemini_hw_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t type:4; - uint32_t n:12; - uint32_t offset:16; - uint32_t mask; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - union { - uint32_t data; - uint32_t *pdata; - }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_gemini_hw_cmds { - uint32_t m; - struct msm_gemini_hw_cmd hw_cmd[1]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#endif diff --git a/libc/kernel/common/media/msm_gestures.h b/libc/kernel/common/media/msm_gestures.h deleted file mode 100644 index d1e2c28..0000000 --- a/libc/kernel/common/media/msm_gestures.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_GESTURES_H -#define __LINUX_MSM_GESTURES_H -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#include <media/msm_camera.h> -#define MSM_GES_IOCTL_CTRL_COMMAND _IOW('V', BASE_VIDIOC_PRIVATE + 20, struct v4l2_control) -#define VIDIOC_MSM_GESTURE_EVT _IOWR('V', BASE_VIDIOC_PRIVATE + 21, struct v4l2_event) -#define MSM_GES_GET_EVT_PAYLOAD _IOW('V', BASE_VIDIOC_PRIVATE + 22, struct msm_ges_evt) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VIDIOC_MSM_GESTURE_CAM_EVT _IOWR('V', BASE_VIDIOC_PRIVATE + 23, int) -#define MSM_GES_RESP_V4L2 MSM_CAM_RESP_MAX -#define MSM_GES_RESP_MAX (MSM_GES_RESP_V4L2 + 1) -#define MSM_SVR_RESP_MAX MSM_GES_RESP_MAX -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_GES_BASE 100 -#define MSM_V4L2_GES_OPEN (MSM_V4L2_GES_BASE + 0) -#define MSM_V4L2_GES_CLOSE (MSM_V4L2_GES_BASE + 1) -#define MSM_V4L2_GES_CAM_OPEN (MSM_V4L2_GES_BASE + 2) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_V4L2_GES_CAM_CLOSE (MSM_V4L2_GES_BASE + 3) -#define MSM_GES_APP_EVT_MIN (V4L2_EVENT_PRIVATE_START + 0x14) -#define MSM_GES_APP_NOTIFY_EVENT (MSM_GES_APP_EVT_MIN + 0) -#define MSM_GES_APP_NOTIFY_ERROR_EVENT (MSM_GES_APP_EVT_MIN + 1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_GES_APP_EVT_MAX (MSM_GES_APP_EVT_MIN + 2) -#define MSM_GESTURE_CID_CTRL_CMD V4L2_CID_BRIGHTNESS -#define MAX_GES_EVENTS 25 -struct msm_ges_ctrl_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int type; - void *value; - int len; - int fd; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t cookie; -}; -struct msm_ges_evt { - void *evt_data; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int evt_len; -}; -#endif diff --git a/libc/kernel/common/media/msm_isp.h b/libc/kernel/common/media/msm_isp.h deleted file mode 100644 index 93e2659..0000000 --- a/libc/kernel/common/media/msm_isp.h +++ /dev/null @@ -1,429 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __MSM_ISP_H__ -#define __MSM_ISP_H__ -#define BIT(nr) (1UL << (nr)) -#define MSG_ID_RESET_ACK 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_START_ACK 1 -#define MSG_ID_STOP_ACK 2 -#define MSG_ID_UPDATE_ACK 3 -#define MSG_ID_OUTPUT_P 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_OUTPUT_T 5 -#define MSG_ID_OUTPUT_S 6 -#define MSG_ID_OUTPUT_V 7 -#define MSG_ID_SNAPSHOT_DONE 8 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_STATS_AEC 9 -#define MSG_ID_STATS_AF 10 -#define MSG_ID_STATS_AWB 11 -#define MSG_ID_STATS_RS 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_STATS_CS 13 -#define MSG_ID_STATS_IHIST 14 -#define MSG_ID_STATS_SKIN 15 -#define MSG_ID_EPOCH1 16 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_EPOCH2 17 -#define MSG_ID_SYNC_TIMER0_DONE 18 -#define MSG_ID_SYNC_TIMER1_DONE 19 -#define MSG_ID_SYNC_TIMER2_DONE 20 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_ASYNC_TIMER0_DONE 21 -#define MSG_ID_ASYNC_TIMER1_DONE 22 -#define MSG_ID_ASYNC_TIMER2_DONE 23 -#define MSG_ID_ASYNC_TIMER3_DONE 24 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_AE_OVERFLOW 25 -#define MSG_ID_AF_OVERFLOW 26 -#define MSG_ID_AWB_OVERFLOW 27 -#define MSG_ID_RS_OVERFLOW 28 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_CS_OVERFLOW 29 -#define MSG_ID_IHIST_OVERFLOW 30 -#define MSG_ID_SKIN_OVERFLOW 31 -#define MSG_ID_AXI_ERROR 32 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_CAMIF_OVERFLOW 33 -#define MSG_ID_VIOLATION 34 -#define MSG_ID_CAMIF_ERROR 35 -#define MSG_ID_BUS_OVERFLOW 36 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_SOF_ACK 37 -#define MSG_ID_STOP_REC_ACK 38 -#define MSG_ID_STATS_AWB_AEC 39 -#define MSG_ID_OUTPUT_PRIMARY 40 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_OUTPUT_SECONDARY 41 -#define MSG_ID_STATS_COMPOSITE 42 -#define MSG_ID_OUTPUT_TERTIARY1 43 -#define MSG_ID_STOP_LS_ACK 44 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_OUTPUT_TERTIARY2 45 -#define MSG_ID_STATS_BG 46 -#define MSG_ID_STATS_BF 47 -#define MSG_ID_STATS_BHIST 48 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSG_ID_RDI0_UPDATE_ACK 49 -#define MSG_ID_RDI1_UPDATE_ACK 50 -#define MSG_ID_RDI2_UPDATE_ACK 51 -#define VFE_CMD_DUMMY_0 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_SET_CLK 1 -#define VFE_CMD_RESET 2 -#define VFE_CMD_START 3 -#define VFE_CMD_TEST_GEN_START 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_OPERATION_CFG 5 -#define VFE_CMD_AXI_OUT_CFG 6 -#define VFE_CMD_CAMIF_CFG 7 -#define VFE_CMD_AXI_INPUT_CFG 8 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_BLACK_LEVEL_CFG 9 -#define VFE_CMD_MESH_ROLL_OFF_CFG 10 -#define VFE_CMD_DEMUX_CFG 11 -#define VFE_CMD_FOV_CFG 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_MAIN_SCALER_CFG 13 -#define VFE_CMD_WB_CFG 14 -#define VFE_CMD_COLOR_COR_CFG 15 -#define VFE_CMD_RGB_G_CFG 16 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_LA_CFG 17 -#define VFE_CMD_CHROMA_EN_CFG 18 -#define VFE_CMD_CHROMA_SUP_CFG 19 -#define VFE_CMD_MCE_CFG 20 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_SK_ENHAN_CFG 21 -#define VFE_CMD_ASF_CFG 22 -#define VFE_CMD_S2Y_CFG 23 -#define VFE_CMD_S2CbCr_CFG 24 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_CHROMA_SUBS_CFG 25 -#define VFE_CMD_OUT_CLAMP_CFG 26 -#define VFE_CMD_FRAME_SKIP_CFG 27 -#define VFE_CMD_DUMMY_1 28 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DUMMY_2 29 -#define VFE_CMD_DUMMY_3 30 -#define VFE_CMD_UPDATE 31 -#define VFE_CMD_BL_LVL_UPDATE 32 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DEMUX_UPDATE 33 -#define VFE_CMD_FOV_UPDATE 34 -#define VFE_CMD_MAIN_SCALER_UPDATE 35 -#define VFE_CMD_WB_UPDATE 36 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_COLOR_COR_UPDATE 37 -#define VFE_CMD_RGB_G_UPDATE 38 -#define VFE_CMD_LA_UPDATE 39 -#define VFE_CMD_CHROMA_EN_UPDATE 40 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_CHROMA_SUP_UPDATE 41 -#define VFE_CMD_MCE_UPDATE 42 -#define VFE_CMD_SK_ENHAN_UPDATE 43 -#define VFE_CMD_S2CbCr_UPDATE 44 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_S2Y_UPDATE 45 -#define VFE_CMD_ASF_UPDATE 46 -#define VFE_CMD_FRAME_SKIP_UPDATE 47 -#define VFE_CMD_CAMIF_FRAME_UPDATE 48 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_AF_UPDATE 49 -#define VFE_CMD_STATS_AE_UPDATE 50 -#define VFE_CMD_STATS_AWB_UPDATE 51 -#define VFE_CMD_STATS_RS_UPDATE 52 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_CS_UPDATE 53 -#define VFE_CMD_STATS_SKIN_UPDATE 54 -#define VFE_CMD_STATS_IHIST_UPDATE 55 -#define VFE_CMD_DUMMY_4 56 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_EPOCH1_ACK 57 -#define VFE_CMD_EPOCH2_ACK 58 -#define VFE_CMD_START_RECORDING 59 -#define VFE_CMD_STOP_RECORDING 60 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DUMMY_5 61 -#define VFE_CMD_DUMMY_6 62 -#define VFE_CMD_CAPTURE 63 -#define VFE_CMD_DUMMY_7 64 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STOP 65 -#define VFE_CMD_GET_HW_VERSION 66 -#define VFE_CMD_GET_FRAME_SKIP_COUNTS 67 -#define VFE_CMD_OUTPUT1_BUFFER_ENQ 68 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_OUTPUT2_BUFFER_ENQ 69 -#define VFE_CMD_OUTPUT3_BUFFER_ENQ 70 -#define VFE_CMD_JPEG_OUT_BUF_ENQ 71 -#define VFE_CMD_RAW_OUT_BUF_ENQ 72 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_RAW_IN_BUF_ENQ 73 -#define VFE_CMD_STATS_AF_ENQ 74 -#define VFE_CMD_STATS_AE_ENQ 75 -#define VFE_CMD_STATS_AWB_ENQ 76 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_RS_ENQ 77 -#define VFE_CMD_STATS_CS_ENQ 78 -#define VFE_CMD_STATS_SKIN_ENQ 79 -#define VFE_CMD_STATS_IHIST_ENQ 80 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DUMMY_8 81 -#define VFE_CMD_JPEG_ENC_CFG 82 -#define VFE_CMD_DUMMY_9 83 -#define VFE_CMD_STATS_AF_START 84 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_AF_STOP 85 -#define VFE_CMD_STATS_AE_START 86 -#define VFE_CMD_STATS_AE_STOP 87 -#define VFE_CMD_STATS_AWB_START 88 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_AWB_STOP 89 -#define VFE_CMD_STATS_RS_START 90 -#define VFE_CMD_STATS_RS_STOP 91 -#define VFE_CMD_STATS_CS_START 92 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_CS_STOP 93 -#define VFE_CMD_STATS_SKIN_START 94 -#define VFE_CMD_STATS_SKIN_STOP 95 -#define VFE_CMD_STATS_IHIST_START 96 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_IHIST_STOP 97 -#define VFE_CMD_DUMMY_10 98 -#define VFE_CMD_SYNC_TIMER_SETTING 99 -#define VFE_CMD_ASYNC_TIMER_SETTING 100 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_LIVESHOT 101 -#define VFE_CMD_LA_SETUP 102 -#define VFE_CMD_LINEARIZATION_CFG 103 -#define VFE_CMD_DEMOSAICV3 104 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DEMOSAICV3_ABCC_CFG 105 -#define VFE_CMD_DEMOSAICV3_DBCC_CFG 106 -#define VFE_CMD_DEMOSAICV3_DBPC_CFG 107 -#define VFE_CMD_DEMOSAICV3_ABF_CFG 108 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_DEMOSAICV3_ABCC_UPDATE 109 -#define VFE_CMD_DEMOSAICV3_DBCC_UPDATE 110 -#define VFE_CMD_DEMOSAICV3_DBPC_UPDATE 111 -#define VFE_CMD_XBAR_CFG 112 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_MODULE_CFG 113 -#define VFE_CMD_ZSL 114 -#define VFE_CMD_LINEARIZATION_UPDATE 115 -#define VFE_CMD_DEMOSAICV3_ABF_UPDATE 116 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_CLF_CFG 117 -#define VFE_CMD_CLF_LUMA_UPDATE 118 -#define VFE_CMD_CLF_CHROMA_UPDATE 119 -#define VFE_CMD_PCA_ROLL_OFF_CFG 120 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_PCA_ROLL_OFF_UPDATE 121 -#define VFE_CMD_GET_REG_DUMP 122 -#define VFE_CMD_GET_LINEARIZATON_TABLE 123 -#define VFE_CMD_GET_MESH_ROLLOFF_TABLE 124 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_GET_PCA_ROLLOFF_TABLE 125 -#define VFE_CMD_GET_RGB_G_TABLE 126 -#define VFE_CMD_GET_LA_TABLE 127 -#define VFE_CMD_DEMOSAICV3_UPDATE 128 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_ACTIVE_REGION_CFG 129 -#define VFE_CMD_COLOR_PROCESSING_CONFIG 130 -#define VFE_CMD_STATS_WB_AEC_CONFIG 131 -#define VFE_CMD_STATS_WB_AEC_UPDATE 132 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_Y_GAMMA_CONFIG 133 -#define VFE_CMD_SCALE_OUTPUT1_CONFIG 134 -#define VFE_CMD_SCALE_OUTPUT2_CONFIG 135 -#define VFE_CMD_CAPTURE_RAW 136 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STOP_LIVESHOT 137 -#define VFE_CMD_RECONFIG_VFE 138 -#define VFE_CMD_STATS_REQBUF 139 -#define VFE_CMD_STATS_ENQUEUEBUF 140 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_FLUSH_BUFQ 141 -#define VFE_CMD_STATS_UNREGBUF 142 -#define VFE_CMD_STATS_BG_START 143 -#define VFE_CMD_STATS_BG_STOP 144 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_STATS_BF_START 145 -#define VFE_CMD_STATS_BF_STOP 146 -#define VFE_CMD_STATS_BHIST_START 147 -#define VFE_CMD_STATS_BHIST_STOP 148 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_RESET_2 149 -#define VFE_CMD_FOV_ENC_CFG 150 -#define VFE_CMD_FOV_VIEW_CFG 151 -#define VFE_CMD_FOV_ENC_UPDATE 152 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_FOV_VIEW_UPDATE 153 -#define VFE_CMD_SCALER_ENC_CFG 154 -#define VFE_CMD_SCALER_VIEW_CFG 155 -#define VFE_CMD_SCALER_ENC_UPDATE 156 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_SCALER_VIEW_UPDATE 157 -#define VFE_CMD_COLORXFORM_ENC_CFG 158 -#define VFE_CMD_COLORXFORM_VIEW_CFG 159 -#define VFE_CMD_COLORXFORM_ENC_UPDATE 160 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_CMD_COLORXFORM_VIEW_UPDATE 161 -#define VFE_CMD_TEST_GEN_CFG 162 -struct msm_isp_cmd { - int32_t id; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint16_t length; - void *value; -}; -#define VPE_CMD_DUMMY_0 0 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VPE_CMD_INIT 1 -#define VPE_CMD_DEINIT 2 -#define VPE_CMD_ENABLE 3 -#define VPE_CMD_DISABLE 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VPE_CMD_RESET 5 -#define VPE_CMD_FLUSH 6 -#define VPE_CMD_OPERATION_MODE_CFG 7 -#define VPE_CMD_INPUT_PLANE_CFG 8 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VPE_CMD_OUTPUT_PLANE_CFG 9 -#define VPE_CMD_INPUT_PLANE_UPDATE 10 -#define VPE_CMD_SCALE_CFG_TYPE 11 -#define VPE_CMD_ZOOM 13 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VPE_CMD_MAX 14 -#define MSM_PP_CMD_TYPE_NOT_USED 0 -#define MSM_PP_CMD_TYPE_VPE 1 -#define MSM_PP_CMD_TYPE_MCTL 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MCTL_CMD_DUMMY_0 0 -#define MCTL_CMD_GET_FRAME_BUFFER 1 -#define MCTL_CMD_PUT_FRAME_BUFFER 2 -#define MCTL_CMD_DIVERT_FRAME_PP_PATH 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MCTL_PP_EVENT_NOTUSED 0 -#define MCTL_PP_EVENT_CMD_ACK 1 -#define VPE_OPERATION_MODE_CFG_LEN 4 -#define VPE_INPUT_PLANE_CFG_LEN 24 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VPE_OUTPUT_PLANE_CFG_LEN 20 -#define VPE_INPUT_PLANE_UPDATE_LEN 12 -#define VPE_SCALER_CONFIG_LEN 260 -#define VPE_DIS_OFFSET_CFG_LEN 12 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define CAPTURE_WIDTH 1280 -#define IMEM_Y_SIZE (CAPTURE_WIDTH*16) -#define IMEM_CBCR_SIZE (CAPTURE_WIDTH*8) -#define IMEM_Y_PING_OFFSET 0x2E000000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define IMEM_CBCR_PING_OFFSET (IMEM_Y_PING_OFFSET + IMEM_Y_SIZE) -#define IMEM_Y_PONG_OFFSET (IMEM_CBCR_PING_OFFSET + IMEM_CBCR_SIZE) -#define IMEM_CBCR_PONG_OFFSET (IMEM_Y_PONG_OFFSET + IMEM_Y_SIZE) -struct msm_vpe_op_mode_cfg { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t op_mode_cfg[VPE_OPERATION_MODE_CFG_LEN]; -}; -struct msm_vpe_input_plane_cfg { - uint8_t input_plane_cfg[VPE_INPUT_PLANE_CFG_LEN]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -struct msm_vpe_output_plane_cfg { - uint8_t output_plane_cfg[VPE_OUTPUT_PLANE_CFG_LEN]; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_vpe_input_plane_update_cfg { - uint8_t input_plane_update_cfg[VPE_INPUT_PLANE_UPDATE_LEN]; -}; -struct msm_vpe_scaler_cfg { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint8_t scaler_cfg[VPE_SCALER_CONFIG_LEN]; -}; -struct msm_vpe_flush_frame_buffer { - uint32_t src_buf_handle; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t dest_buf_handle; - int path; -}; -struct msm_mctl_pp_frame_buffer { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t buf_handle; - int path; -}; -struct msm_mctl_pp_divert_pp { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - int path; - int enable; -}; -struct msm_vpe_clock_rate { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t rate; -}; -struct msm_pp_crop { - uint32_t src_x; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t src_y; - uint32_t src_w; - uint32_t src_h; - uint32_t dst_x; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t dst_y; - uint32_t dst_w; - uint32_t dst_h; - uint8_t update_flag; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -}; -#define MSM_MCTL_PP_VPE_FRAME_ACK (1<<0) -#define MSM_MCTL_PP_VPE_FRAME_TO_APP (1<<1) -struct msm_mctl_pp_frame_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t cookie; - uint8_t vpe_output_action; - uint32_t src_buf_handle; - uint32_t dest_buf_handle; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_pp_crop crop; - int path; -}; -#define VFE_OUTPUTS_MAIN_AND_PREVIEW BIT(0) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_OUTPUTS_MAIN_AND_VIDEO BIT(1) -#define VFE_OUTPUTS_MAIN_AND_THUMB BIT(2) -#define VFE_OUTPUTS_THUMB_AND_MAIN BIT(3) -#define VFE_OUTPUTS_PREVIEW_AND_VIDEO BIT(4) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_OUTPUTS_VIDEO_AND_PREVIEW BIT(5) -#define VFE_OUTPUTS_PREVIEW BIT(6) -#define VFE_OUTPUTS_VIDEO BIT(7) -#define VFE_OUTPUTS_RAW BIT(8) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define VFE_OUTPUTS_JPEG_AND_THUMB BIT(9) -#define VFE_OUTPUTS_THUMB_AND_JPEG BIT(10) -#define VFE_OUTPUTS_RDI0 BIT(11) -#define VFE_OUTPUTS_RDI1 BIT(12) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_frame_info { - uint32_t inst_handle; - uint32_t path; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/libc/kernel/common/media/msm_mercury.h b/libc/kernel/common/media/msm_mercury.h deleted file mode 100644 index 3a4599c..0000000 --- a/libc/kernel/common/media/msm_mercury.h +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_MSM_MERCURY_H -#define __LINUX_MSM_MERCURY_H -#include <linux/types.h> -#include <linux/ioctl.h> -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MERCURY_HW_VERSION_REG 0x0004 -#define OUTPUT_H2V1 0 -#define OUTPUT_H2V2 1 -#define OUTPUT_BYTE 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MERCURY_MODE_REALTIME_ENCODE 0 -#define MSM_MERCURY_MODE_OFFLINE_ENCODE 1 -#define MSM_MERCURY_MODE_REALTIME_ROTATION 2 -#define MSM_MERCURY_MODE_OFFLINE_ROTATION 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MERCURY_EVT_RESET 1 -#define MSM_MERCURY_EVT_FRAMEDONE 2 -#define MSM_MERCURY_EVT_ERR 3 -#define MSM_MERCURY_EVT_UNBLOCK 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MERCURY_HW_CMD_TYPE_READ 0 -#define MSM_MERCURY_HW_CMD_TYPE_WRITE 1 -#define MSM_MERCURY_HW_CMD_TYPE_WRITE_OR 2 -#define MSM_MERCURY_HW_CMD_TYPE_UWAIT 3 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MERCURY_HW_CMD_TYPE_MWAIT 4 -#define MSM_MERCURY_HW_CMD_TYPE_MDELAY 5 -#define MSM_MERCURY_HW_CMD_TYPE_UDELAY 6 -#define MSM_MCR_IOCTL_MAGIC 'g' -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MCR_IOCTL_GET_HW_VERSION _IOW(MSM_MCR_IOCTL_MAGIC, 1, struct msm_mercury_hw_cmd *) -#define MSM_MCR_IOCTL_RESET _IOW(MSM_MCR_IOCTL_MAGIC, 2, struct msm_mercury_ctrl_cmd *) -#define MSM_MCR_IOCTL_STOP _IOW(MSM_MCR_IOCTL_MAGIC, 3, struct msm_mercury_hw_cmds *) -#define MSM_MCR_IOCTL_START _IOW(MSM_MCR_IOCTL_MAGIC, 4, struct msm_mercury_hw_cmds *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MCR_IOCTL_INPUT_BUF_CFG _IOW(MSM_MCR_IOCTL_MAGIC, 5, struct msm_mercury_buf *) -#define MSM_MCR_IOCTL_INPUT_GET _IOW(MSM_MCR_IOCTL_MAGIC, 6, struct msm_mercury_buf *) -#define MSM_MCR_IOCTL_INPUT_GET_UNBLOCK _IOW(MSM_MCR_IOCTL_MAGIC, 7, int) -#define MSM_MCR_IOCTL_OUTPUT_BUF_CFG _IOW(MSM_MCR_IOCTL_MAGIC, 8, struct msm_mercury_buf *) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MCR_IOCTL_OUTPUT_GET _IOW(MSM_MCR_IOCTL_MAGIC, 9, struct msm_mercury_buf *) -#define MSM_MCR_IOCTL_OUTPUT_GET_UNBLOCK _IOW(MSM_MCR_IOCTL_MAGIC, 10, int) -#define MSM_MCR_IOCTL_EVT_GET _IOW(MSM_MCR_IOCTL_MAGIC, 11, struct msm_mercury_ctrl_cmd *) -#define MSM_MCR_IOCTL_EVT_GET_UNBLOCK _IOW(MSM_MCR_IOCTL_MAGIC, 12, int) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define MSM_MCR_IOCTL_HW_CMD _IOW(MSM_MCR_IOCTL_MAGIC, 13, struct msm_mercury_hw_cmd *) -#define MSM_MCR_IOCTL_HW_CMDS _IOW(MSM_MCR_IOCTL_MAGIC, 14, struct msm_mercury_hw_cmds *) -#define MSM_MCR_IOCTL_TEST_DUMP_REGION _IOW(MSM_MCR_IOCTL_MAGIC, 15, unsigned long) -struct msm_mercury_ctrl_cmd { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t type; - uint32_t len; - void *value; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mercury_buf { - uint32_t type; - int fd; - void *vaddr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t y_off; - uint32_t y_len; - uint32_t framedone_len; - uint32_t cbcr_off; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t cbcr_len; - uint32_t num_of_mcu_rows; - uint32_t offset; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct msm_mercury_hw_cmd { - uint32_t type:4; - uint32_t n:12; - uint32_t offset:16; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - uint32_t mask; - union { - uint32_t data; - uint32_t *pdata; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - }; -}; -struct msm_mercury_hw_cmds { - uint32_t m; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - struct msm_mercury_hw_cmd hw_cmd[1]; -}; -#endif diff --git a/libc/netbsd/gethnamaddr.c b/libc/netbsd/gethnamaddr.c index 9a9f6e2..ee5052e 100644 --- a/libc/netbsd/gethnamaddr.c +++ b/libc/netbsd/gethnamaddr.c @@ -56,6 +56,7 @@ #include <sys/param.h> #include <sys/socket.h> +#include <sys/un.h> #include <netinet/in.h> #include <arpa/inet.h> #include "arpa_nameser.h" @@ -69,6 +70,7 @@ #include <stdio.h> #include <strings.h> #include <syslog.h> +#include <unistd.h> #ifndef LOG_AUTH # define LOG_AUTH 0 @@ -80,6 +82,9 @@ #include <stdlib.h> #include <string.h> +// This should be synchronized to ResponseCode.h +static const int DnsProxyQueryResult = 222; + static const char const AskedForGot[] = "gethostby*.getanswer: asked for \"%s\", got \"%s\""; @@ -121,7 +126,7 @@ static struct hostent *_gethtbyname2(const char *, int); static int _dns_gethtbyaddr(void *, void *, va_list); static int _dns_gethtbyname(void *, void *, va_list); -static struct hostent *gethostbyname_internal(const char *, int, res_state); +static struct hostent *gethostbyname_internal(const char *, int, res_state, const char *); static const ns_src default_dns_files[] = { { NSSRC_FILES, NS_SUCCESS }, @@ -490,14 +495,15 @@ gethostbyname(const char *name) assert(name != NULL); + /* try IPv6 first - if that fails do IPv4 */ if (res->options & RES_USE_INET6) { - hp = gethostbyname_internal(name, AF_INET6, res); + hp = gethostbyname_internal(name, AF_INET6, res, NULL); if (hp) { __res_put_state(res); return hp; } } - hp = gethostbyname_internal(name, AF_INET, res); + hp = gethostbyname_internal(name, AF_INET, res, NULL); __res_put_state(res); return hp; } @@ -505,25 +511,120 @@ gethostbyname(const char *name) struct hostent * gethostbyname2(const char *name, int af) { + return android_gethostbynameforiface(name, af, NULL); +} + +struct hostent * +android_gethostbynameforiface(const char *name, int af, const char *iface) +{ struct hostent *hp; res_state res = __res_get_state(); if (res == NULL) return NULL; - hp = gethostbyname_internal(name, af, res); + hp = gethostbyname_internal(name, af, res, iface); __res_put_state(res); return hp; } + +static FILE* android_open_proxy() +{ + int sock; + const int one = 1; + struct sockaddr_un proxy_addr; + + sock = socket(AF_UNIX, SOCK_STREAM, 0); + if (sock < 0) { + return NULL; + } + + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); + memset(&proxy_addr, 0, sizeof(proxy_addr)); + proxy_addr.sun_family = AF_UNIX; + strlcpy(proxy_addr.sun_path, "/dev/socket/dnsproxyd", sizeof(proxy_addr.sun_path)); + if (TEMP_FAILURE_RETRY(connect(sock, + (const struct sockaddr*) &proxy_addr, + sizeof(proxy_addr))) != 0) { + close(sock); + return NULL; + } + + return fdopen(sock, "r+"); +} + +static struct hostent * +android_read_hostent(FILE* proxy) +{ + uint32_t size; + char buf[4]; + if (fread(buf, 1, sizeof(buf), proxy) != sizeof(buf)) return NULL; + + /* This is reading serialized data from system/netd/DnsProxyListener.cpp + * and changes here need to be matched there */ + int result_code = strtol(buf, NULL, 10); + if (result_code != DnsProxyQueryResult) { + fread(&size, 1, sizeof(size), proxy); + return NULL; + } + + if (fread(&size, 1, sizeof(size), proxy) != sizeof(size)) return NULL; + size = ntohl(size); + res_static rs = __res_get_static(); + memset(&rs->host, 0, sizeof(rs->host)); + char *ptr = rs->hostbuf; + + if (fread(ptr, 1, size, proxy) != size) return NULL; + ptr += size; + rs->host.h_name = rs->hostbuf; + + char **aliases = rs->host_aliases; + rs->host.h_aliases = rs->host_aliases; + while (1) { + if (fread(&size, 1, sizeof(size), proxy) != sizeof(size)) return NULL; + size = ntohl(size); + + if (size == 0) { + *aliases = NULL; + break; + } + if (fread(ptr, 1, size, proxy) != size) return NULL; + *aliases++ = ptr; + ptr += size; + } + + if (fread(&size, 1, sizeof(size), proxy) != sizeof(size)) return NULL; + rs->host.h_addrtype = ntohl(size); + + if (fread(&size, 1, sizeof(size), proxy) != sizeof(size)) return NULL; + rs->host.h_length = ntohl(size); + + char **addrs = rs->h_addr_ptrs; + rs->host.h_addr_list = rs->h_addr_ptrs; + while (1) { + if (fread(&size, 1, sizeof(size), proxy) != sizeof(size)) return NULL; + size = ntohl(size); + if (size == 0) { + *addrs = NULL; + break; + } + if (fread(ptr, 1, size, proxy) != size) return NULL; + *addrs++ = ptr; + ptr += size; + } + + return &rs->host; +} + + static struct hostent * -gethostbyname_internal(const char *name, int af, res_state res) +gethostbyname_internal_real(const char *name, int af, res_state res) { const char *cp; char *bp, *ep; int size; struct hostent *hp; - struct resolv_cache* cache; - res_static rs = __res_get_static(); + res_static rs = __res_get_static(); static const ns_dtab dtab[] = { NS_FILES_CB(_gethtbyname, NULL) @@ -632,14 +733,84 @@ gethostbyname_internal(const char *name, int af, res_state res) if (nsdispatch(&hp, dtab, NSDB_HOSTS, "gethostbyname", default_dns_files, name, strlen(name), af) != NS_SUCCESS) { return NULL; - } + } h_errno = NETDB_SUCCESS; return hp; } + +// very similar in proxy-ness to android_getaddrinfo_proxy +static struct hostent * +gethostbyname_internal(const char *name, int af, res_state res, const char *iface) +{ + const char *cache_mode = getenv("ANDROID_DNS_MODE"); + FILE* proxy = NULL; + struct hostent *result = NULL; + + if (cache_mode != NULL && strcmp(cache_mode, "local") == 0) { + res_setiface(res, iface); + return gethostbyname_internal_real(name, af, res); + } + + proxy = android_open_proxy(); + if (proxy == NULL) goto exit; + + /* This is writing to system/netd/DnsProxyListener.cpp and changes + * here need to be matched there */ + if (fprintf(proxy, "gethostbyname %s %s %d", + iface == NULL ? "^" : iface, + name == NULL ? "^" : name, + af) < 0) { + goto exit; + } + + if (fputc(0, proxy) == EOF || fflush(proxy) != 0) { + goto exit; + } + + result = android_read_hostent(proxy); + +exit: + if (proxy != NULL) { + fclose(proxy); + } + return result; +} + + +struct hostent * +android_gethostbyaddrforiface_proxy(const void *addr, + socklen_t len, int af, const char* iface) +{ + struct hostent *result = NULL; + FILE* proxy = android_open_proxy(); + + if (proxy == NULL) goto exit; + + char buf[INET6_ADDRSTRLEN]; //big enough for IPv4 and IPv6 + const char * addrStr = inet_ntop(af, addr, buf, sizeof(buf)); + if (addrStr == NULL) goto exit; + + if (fprintf(proxy, "gethostbyaddr %s %d %d %s", + addrStr, len, af, iface == NULL ? "^" : iface) < 0) { + goto exit; + } + + if (fputc(0, proxy) == EOF || fflush(proxy) != 0) { + goto exit; + } + + result = android_read_hostent(proxy); +exit: + if (proxy != NULL) { + fclose(proxy); + } + return result; +} + struct hostent * -gethostbyaddr(const void *addr, - socklen_t len, int af) +android_gethostbyaddrforiface_real(const void *addr, + socklen_t len, int af, const char* iface) { const u_char *uaddr = (const u_char *)addr; socklen_t size; @@ -687,12 +858,31 @@ gethostbyaddr(const void *addr, hp = NULL; h_errno = NETDB_INTERNAL; if (nsdispatch(&hp, dtab, NSDB_HOSTS, "gethostbyaddr", - default_dns_files, uaddr, len, af) != NS_SUCCESS) + default_dns_files, uaddr, len, af, iface) != NS_SUCCESS) return NULL; h_errno = NETDB_SUCCESS; return hp; } +struct hostent * +android_gethostbyaddrforiface(const void *addr, socklen_t len, int af, const char* iface) +{ + const char *cache_mode = getenv("ANDROID_DNS_MODE"); + + if (cache_mode == NULL || strcmp(cache_mode, "local") != 0) { + return android_gethostbyaddrforiface_proxy(addr, len, af, iface); + } else { + return android_gethostbyaddrforiface_real(addr,len, af,iface); + } +} + +struct hostent * +gethostbyaddr(const void *addr, socklen_t len, int af) +{ + return android_gethostbyaddrforiface(addr, len, af, NULL); +} + + static void _sethtent(int f) { @@ -1124,6 +1314,7 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) const unsigned char *uaddr; int len, af, advance; res_state res; + const char* iface; res_static rs = __res_get_static(); assert(rv != NULL); @@ -1131,6 +1322,7 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) uaddr = va_arg(ap, unsigned char *); len = va_arg(ap, int); af = va_arg(ap, int); + iface = va_arg(ap, char *); switch (af) { case AF_INET: @@ -1172,6 +1364,7 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) free(buf); return NS_NOTFOUND; } + res_setiface(res, iface); n = res_nquery(res, qbuf, C_IN, T_PTR, buf->buf, sizeof(buf->buf)); if (n < 0) { free(buf); diff --git a/libc/netbsd/net/getaddrinfo.c b/libc/netbsd/net/getaddrinfo.c index 326b09c..896055d 100644 --- a/libc/netbsd/net/getaddrinfo.c +++ b/libc/netbsd/net/getaddrinfo.c @@ -214,7 +214,7 @@ struct res_target { static int str2number(const char *); static int explore_fqdn(const struct addrinfo *, const char *, - const char *, struct addrinfo **); + const char *, struct addrinfo **, const char *iface); static int explore_null(const struct addrinfo *, const char *, struct addrinfo **); static int explore_numeric(const struct addrinfo *, const char *, @@ -402,17 +402,15 @@ _have_ipv4() { return _test_connect(PF_INET, &addr.generic, sizeof(addr.in)); } -// Returns 0 on success, else returns non-zero on error (in which case -// getaddrinfo should continue as normal) +// Returns 0 on success, else returns on error. static int android_getaddrinfo_proxy( const char *hostname, const char *servname, - const struct addrinfo *hints, struct addrinfo **res) + const struct addrinfo *hints, struct addrinfo **res, const char *iface) { int sock; const int one = 1; struct sockaddr_un proxy_addr; - const char* cache_mode = getenv("ANDROID_DNS_MODE"); FILE* proxy = NULL; int success = 0; @@ -421,33 +419,17 @@ android_getaddrinfo_proxy( // allocated in the process (before failing). *res = NULL; - if (cache_mode != NULL && strcmp(cache_mode, "local") == 0) { - // Don't use the proxy in local mode. This is used by the - // proxy itself. - return -1; - } - - // Temporary cautious hack to disable the DNS proxy for processes - // requesting special treatment. Ideally the DNS proxy should - // accomodate these apps, though. - char propname[PROP_NAME_MAX]; - char propvalue[PROP_VALUE_MAX]; - snprintf(propname, sizeof(propname), "net.dns1.%d", getpid()); - if (__system_property_get(propname, propvalue) > 0) { - return -1; - } - - // Bogus things we can't serialize. Don't use the proxy. + // Bogus things we can't serialize. Don't use the proxy. These will fail - let them. if ((hostname != NULL && strcspn(hostname, " \n\r\t^'\"") != strlen(hostname)) || (servname != NULL && strcspn(servname, " \n\r\t^'\"") != strlen(servname))) { - return -1; + return EAI_NODATA; } sock = socket(AF_UNIX, SOCK_STREAM, 0); if (sock < 0) { - return -1; + return EAI_NODATA; } setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); @@ -459,18 +441,19 @@ android_getaddrinfo_proxy( (const struct sockaddr*) &proxy_addr, sizeof(proxy_addr))) != 0) { close(sock); - return -1; + return EAI_NODATA; } // Send the request. proxy = fdopen(sock, "r+"); - if (fprintf(proxy, "getaddrinfo %s %s %d %d %d %d", + if (fprintf(proxy, "getaddrinfo %s %s %d %d %d %d %s", hostname == NULL ? "^" : hostname, servname == NULL ? "^" : servname, hints == NULL ? -1 : hints->ai_flags, hints == NULL ? -1 : hints->ai_family, hints == NULL ? -1 : hints->ai_socktype, - hints == NULL ? -1 : hints->ai_protocol) < 0) { + hints == NULL ? -1 : hints->ai_protocol, + iface == NULL ? "^" : iface) < 0) { goto exit; } // literal NULL byte at end, required by FrameworkListener @@ -488,6 +471,7 @@ android_getaddrinfo_proxy( int result_code = (int)strtol(buf, NULL, 10); // verify the code itself if (result_code != DnsProxyQueryResult ) { + fread(buf, 1, sizeof(buf), proxy); goto exit; } @@ -580,20 +564,26 @@ exit: return 0; } - // Proxy failed; fall through to local - // resolver case. But first clean up any - // memory we might've allocated. + // Proxy failed; + // clean up memory we might've allocated. if (*res) { freeaddrinfo(*res); *res = NULL; } - return -1; + return EAI_NODATA; } int getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res) { + return android_getaddrinfoforiface(hostname, servname, hints, NULL, res); +} + +int +android_getaddrinfoforiface(const char *hostname, const char *servname, + const struct addrinfo *hints, const char *iface, struct addrinfo **res) +{ struct addrinfo sentinel; struct addrinfo *cur; int error = 0; @@ -601,12 +591,12 @@ getaddrinfo(const char *hostname, const char *servname, struct addrinfo ai0; struct addrinfo *pai; const struct explore *ex; + const char* cache_mode = getenv("ANDROID_DNS_MODE"); /* hostname is allowed to be NULL */ /* servname is allowed to be NULL */ /* hints is allowed to be NULL */ assert(res != NULL); - memset(&sentinel, 0, sizeof(sentinel)); cur = &sentinel; pai = &ai; @@ -739,9 +729,10 @@ getaddrinfo(const char *hostname, const char *servname, /* * BEGIN ANDROID CHANGES; proxying to the cache */ - if (android_getaddrinfo_proxy(hostname, servname, hints, res) == 0) { - return 0; - } + if (cache_mode == NULL || strcmp(cache_mode, "local") != 0) { + // we're not the proxy - pass the request to them + return android_getaddrinfo_proxy(hostname, servname, hints, res, iface); + } /* * hostname as alphabetical name. @@ -770,7 +761,7 @@ getaddrinfo(const char *hostname, const char *servname, pai->ai_protocol = ex->e_protocol; error = explore_fqdn(pai, hostname, servname, - &cur->ai_next); + &cur->ai_next, iface); while (cur && cur->ai_next) cur = cur->ai_next; @@ -803,7 +794,7 @@ getaddrinfo(const char *hostname, const char *servname, */ static int explore_fqdn(const struct addrinfo *pai, const char *hostname, - const char *servname, struct addrinfo **res) + const char *servname, struct addrinfo **res, const char *iface) { struct addrinfo *result; struct addrinfo *cur; @@ -829,7 +820,7 @@ explore_fqdn(const struct addrinfo *pai, const char *hostname, return 0; switch (nsdispatch(&result, dtab, NSDB_HOSTS, "getaddrinfo", - default_dns_files, hostname, pai)) { + default_dns_files, hostname, pai, iface)) { case NS_TRYAGAIN: error = EAI_AGAIN; goto free; @@ -1897,9 +1888,11 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap) struct addrinfo sentinel, *cur; struct res_target q, q2; res_state res; + const char* iface; name = va_arg(ap, char *); pai = va_arg(ap, const struct addrinfo *); + iface = va_arg(ap, char *); //fprintf(stderr, "_dns_getaddrinfo() name = '%s'\n", name); memset(&q, 0, sizeof(q)); @@ -1981,6 +1974,12 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap) return NS_NOTFOUND; } + /* this just sets our iface val in the thread private data so we don't have to + * modify the api's all the way down to res_send.c's res_nsend. We could + * fully populate the thread private data here, but if we get down there + * and have a cache hit that would be wasted, so we do the rest there on miss + */ + res_setiface(res, iface); if (res_searchN(name, &q, res) < 0) { __res_put_state(res); free(buf); diff --git a/libc/netbsd/net/getnameinfo.c b/libc/netbsd/net/getnameinfo.c index 4874da1..ade5240 100644 --- a/libc/netbsd/net/getnameinfo.c +++ b/libc/netbsd/net/getnameinfo.c @@ -61,7 +61,6 @@ __RCSID("$NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $"); #include <assert.h> #include <limits.h> #include <netdb.h> -#ifdef ANDROID_CHANGES #include "arpa_nameser.h" #include "resolv_private.h" #include <sys/system_properties.h> @@ -69,9 +68,6 @@ __RCSID("$NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $"); #include <unistd.h> #include <errno.h> #define MIN(x,y) ((x) < (y) ? (x) : (y)) -#else -#include <resolv.h> -#endif #include <stddef.h> #include <string.h> @@ -97,7 +93,7 @@ struct sockinet { }; static int getnameinfo_inet(const struct sockaddr *, socklen_t, char *, - socklen_t, char *, socklen_t, int); + socklen_t, char *, socklen_t, int, const char*); #ifdef INET6 static int ip6_parsenumeric(const struct sockaddr *, const char *, char *, socklen_t, int); @@ -112,11 +108,16 @@ static int getnameinfo_local(const struct sockaddr *, socklen_t, char *, */ int getnameinfo(const struct sockaddr* sa, socklen_t salen, char* host, size_t hostlen, char* serv, size_t servlen, int flags) { + return android_getnameinfoforiface(sa, salen, host, hostlen, serv, servlen, flags, NULL); +} + +int android_getnameinfoforiface(const struct sockaddr* sa, socklen_t salen, char* host, size_t hostlen, char* serv, size_t servlen, int flags, const char* iface) +{ switch (sa->sa_family) { case AF_INET: case AF_INET6: return getnameinfo_inet(sa, salen, host, hostlen, - serv, servlen, flags); + serv, servlen, flags, iface); case AF_LOCAL: return getnameinfo_local(sa, salen, host, hostlen, serv, servlen, flags); @@ -152,112 +153,23 @@ getnameinfo_local(const struct sockaddr *sa, socklen_t salen, return 0; } -#ifdef ANDROID_CHANGES /* On success length of the host name is returned. A return * value of 0 means there's no host name associated with * the address. On failure -1 is returned in which case * normal execution flow shall continue. */ static int -android_gethostbyaddr_proxy(char* nameBuf, size_t nameBufLen, const void *addr, socklen_t addrLen, int addrFamily) { - - int sock; - const int one = 1; - struct sockaddr_un proxy_addr; - const char* cache_mode = getenv("ANDROID_DNS_MODE"); - FILE* proxy = NULL; - int result = -1; - - if (cache_mode != NULL && strcmp(cache_mode, "local") == 0) { - // Don't use the proxy in local mode. This is used by the - // proxy itself. - return -1; - } - - // Temporary cautious hack to disable the DNS proxy for processes - // requesting special treatment. Ideally the DNS proxy should - // accomodate these apps, though. - char propname[PROP_NAME_MAX]; - char propvalue[PROP_VALUE_MAX]; - snprintf(propname, sizeof(propname), "net.dns1.%d", getpid()); - if (__system_property_get(propname, propvalue) > 0) { - return -1; - } - // create socket - sock = socket(AF_UNIX, SOCK_STREAM, 0); - if (sock < 0) { - return -1; - } - - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); - memset(&proxy_addr, 0, sizeof(proxy_addr)); - proxy_addr.sun_family = AF_UNIX; - strlcpy(proxy_addr.sun_path, "/dev/socket/dnsproxyd", - sizeof(proxy_addr.sun_path)); - if (TEMP_FAILURE_RETRY(connect(sock, (const struct sockaddr*) (void*) &proxy_addr, - sizeof(proxy_addr))) != 0) { - close(sock); - return -1; - } - - // send request to DnsProxyListener - proxy = fdopen(sock,"r+"); - if (proxy == NULL) { - goto exit; - } - - char buf[INET6_ADDRSTRLEN]; // big enough for IPv4 and IPv6 - const char* addrStr = inet_ntop(addrFamily, addr, buf, sizeof(buf)); - if (addrStr == NULL) { - goto exit; - } - if (fprintf(proxy, "gethostbyaddr %s %d %d", addrStr, addrLen, addrFamily) < 0) { - goto exit; - } - - // literal NULL byte at end, required by FrameworkListener - if (fputc(0, proxy) == EOF || fflush(proxy) != 0) { - goto exit; - } - - result = 0; - char msg_buf[4]; - // read result code for gethostbyaddr - if (fread(msg_buf, 1, sizeof(msg_buf), proxy) != sizeof(msg_buf)) { - goto exit; - } - - int result_code = (int)strtol(msg_buf, NULL, 10); - // verify the code itself - // This should be synchronized to ResponseCode.h - static const int DnsProxyQueryResult = 222; - if (result_code != DnsProxyQueryResult) { - goto exit; - } - - uint32_t name_len; - if (fread(&name_len, sizeof(name_len), 1, proxy) != 1) { - goto exit; - } - - name_len = ntohl(name_len); - if (name_len <= 0 || name_len >= nameBufLen) { - goto exit; - } - - if (fread(nameBuf, name_len, 1, proxy) != 1) { - goto exit; - } +android_gethostbyaddr_proxy(char* nameBuf, size_t nameBufLen, const void *addr, socklen_t addrLen, int addrFamily, const char* iface) +{ + struct hostent *hostResult = + android_gethostbyaddrforiface_proxy(addr, addrLen, addrFamily, iface); - result = name_len; + if (hostResult == NULL) return 0; - exit: - if (proxy != NULL) { - fclose(proxy); - } + int lengthResult = strlen(hostResult->h_name); - return result; + if (nameBuf) strncpy(nameBuf, hostResult->h_name, nameBufLen); + return lengthResult; } -#endif /* * getnameinfo_inet(): @@ -267,7 +179,7 @@ static int getnameinfo_inet(const struct sockaddr* sa, socklen_t salen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, - int flags) + int flags, const char* iface) { const struct afd *afd; struct servent *sp; @@ -405,23 +317,19 @@ getnameinfo_inet(const struct sockaddr* sa, socklen_t salen, break; } } else { -#ifdef ANDROID_CHANGES struct hostent android_proxy_hostent; char android_proxy_buf[MAXDNAME]; int hostnamelen = android_gethostbyaddr_proxy(android_proxy_buf, - MAXDNAME, addr, afd->a_addrlen, afd->a_af); + MAXDNAME, addr, afd->a_addrlen, afd->a_af, iface); if (hostnamelen > 0) { hp = &android_proxy_hostent; hp->h_name = android_proxy_buf; } else if (!hostnamelen) { hp = NULL; } else { - hp = gethostbyaddr(addr, afd->a_addrlen, afd->a_af); + hp = android_gethostbyaddrforiface(addr, afd->a_addrlen, afd->a_af, iface); } -#else - hp = gethostbyaddr(addr, afd->a_addrlen, afd->a_af); -#endif if (hp) { #if 0 diff --git a/libc/netbsd/resolv/res_cache.c b/libc/netbsd/resolv/res_cache.c index a2bc7ca..829bf10 100644 --- a/libc/netbsd/resolv/res_cache.c +++ b/libc/netbsd/resolv/res_cache.c @@ -43,6 +43,7 @@ #include <arpa/inet.h> #include "resolv_private.h" #include "resolv_iface.h" +#include "res_private.h" /* This code implements a small and *simple* DNS resolver cache. * @@ -571,8 +572,6 @@ _dnsPacket_checkQName( DnsPacket* packet ) static int _dnsPacket_checkQR( DnsPacket* packet ) { - int len; - if (!_dnsPacket_checkQName(packet)) return 0; @@ -831,8 +830,6 @@ _dnsPacket_hashQName( DnsPacket* packet, unsigned hash ) static unsigned _dnsPacket_hashQR( DnsPacket* packet, unsigned hash ) { - int len; - hash = _dnsPacket_hashQName(packet, hash); hash = _dnsPacket_hashBytes(packet, 4, hash); /* TYPE and CLASS */ return hash; @@ -1019,8 +1016,58 @@ typedef struct Entry { } Entry; /** - * Parse the answer records and find the smallest - * TTL among the answer records. + * Find the TTL for a negative DNS result. This is defined as the minimum + * of the SOA records TTL and the MINIMUM-TTL field (RFC-2308). + * + * Return 0 if not found. + */ +static u_long +answer_getNegativeTTL(ns_msg handle) { + int n, nscount; + u_long result = 0; + ns_rr rr; + + nscount = ns_msg_count(handle, ns_s_ns); + for (n = 0; n < nscount; n++) { + if ((ns_parserr(&handle, ns_s_ns, n, &rr) == 0) && (ns_rr_type(rr) == ns_t_soa)) { + const u_char *rdata = ns_rr_rdata(rr); // find the data + const u_char *edata = rdata + ns_rr_rdlen(rr); // add the len to find the end + int len; + u_long ttl, rec_result = ns_rr_ttl(rr); + + // find the MINIMUM-TTL field from the blob of binary data for this record + // skip the server name + len = dn_skipname(rdata, edata); + if (len == -1) continue; // error skipping + rdata += len; + + // skip the admin name + len = dn_skipname(rdata, edata); + if (len == -1) continue; // error skipping + rdata += len; + + if (edata - rdata != 5*NS_INT32SZ) continue; + // skip: serial number + refresh interval + retry interval + expiry + rdata += NS_INT32SZ * 4; + // finally read the MINIMUM TTL + ttl = ns_get32(rdata); + if (ttl < rec_result) { + rec_result = ttl; + } + // Now that the record is read successfully, apply the new min TTL + if (n == 0 || rec_result < result) { + result = rec_result; + } + } + } + return result; +} + +/** + * Parse the answer records and find the appropriate + * smallest TTL among the records. This might be from + * the answer records if found or from the SOA record + * if it's a negative result. * * The returned TTL is the number of seconds to * keep the answer in the cache. @@ -1040,14 +1087,20 @@ answer_getTTL(const void* answer, int answerlen) if (ns_initparse(answer, answerlen, &handle) >= 0) { // get number of answer records ancount = ns_msg_count(handle, ns_s_an); - for (n = 0; n < ancount; n++) { - if (ns_parserr(&handle, ns_s_an, n, &rr) == 0) { - ttl = ns_rr_ttl(rr); - if (n == 0 || ttl < result) { - result = ttl; + + if (ancount == 0) { + // a response with no answers? Cache this negative result. + result = answer_getNegativeTTL(handle); + } else { + for (n = 0; n < ancount; n++) { + if (ns_parserr(&handle, ns_s_an, n, &rr) == 0) { + ttl = ns_rr_ttl(rr); + if (n == 0 || ttl < result) { + result = ttl; + } + } else { + XLOG("ns_parserr failed ancount no = %d. errno = %s\n", n, strerror(errno)); } - } else { - XLOG("ns_parserr failed ancount no = %d. errno = %s\n", n, strerror(errno)); } } } else { @@ -1196,8 +1249,16 @@ typedef struct resolv_cache_info { struct resolv_cache_info* next; char* nameservers[MAXNS +1]; struct addrinfo* nsaddrinfo[MAXNS + 1]; + char defdname[256]; + int dnsrch_offset[MAXDNSRCH+1]; // offsets into defdname } CacheInfo; +typedef struct resolv_pidiface_info { + int pid; + char ifname[IF_NAMESIZE + 1]; + struct resolv_pidiface_info* next; +} PidIfaceInfo; + #define HTABLE_VALID(x) ((x) != NULL && (x) != HTABLE_DELETED) static void @@ -1250,8 +1311,9 @@ _cache_check_pending_request_locked( struct resolv_cache* cache, Entry* key ) } } else { struct timespec ts = {0,0}; + XLOG("Waiting for previous request"); ts.tv_sec = _time_now() + PENDING_REQUEST_TIMEOUT; - int rv = pthread_cond_timedwait(&ri->cond, &cache->lock, &ts); + pthread_cond_timedwait(&ri->cond, &cache->lock, &ts); } } @@ -1305,7 +1367,6 @@ static void _cache_flush_locked( Cache* cache ) { int nn; - time_t now = _time_now(); for (nn = 0; nn < cache->max_entries; nn++) { @@ -1346,9 +1407,8 @@ _res_cache_get_max_entries( void ) if (cache_mode == NULL || strcmp(cache_mode, "local") != 0) { // Don't use the cache in local mode. This is used by the // proxy itself. - // TODO - change this to 0 when all dns stuff uses proxy (5918973) - XLOG("setup cache for non-cache process. size=1"); - return 1; + XLOG("setup cache for non-cache process. size=0, %s", cache_mode); + return 0; } if (__system_property_get(DNS_CACHE_SIZE_PROP_NAME, cache_size) > 0) { @@ -1441,6 +1501,7 @@ _dump_answer(const void* answer, int answerlen) remove("/data/reslog.txt"); } else { + errno = 0; // else debug is introducing error signals XLOG("_dump_answer: can't open file\n"); } } @@ -1576,9 +1637,7 @@ _resolv_cache_lookup( struct resolv_cache* cache, int answersize, int *answerlen ) { - DnsPacket pack[1]; Entry key[1]; - int index; Entry** lookup; Entry* e; time_t now; @@ -1729,20 +1788,28 @@ Exit: /****************************************************************************/ /****************************************************************************/ -static pthread_once_t _res_cache_once; +static pthread_once_t _res_cache_once = PTHREAD_ONCE_INIT; // Head of the list of caches. Protected by _res_cache_list_lock. static struct resolv_cache_info _res_cache_list; +// List of pid iface pairs +static struct resolv_pidiface_info _res_pidiface_list; + // name of the current default inteface static char _res_default_ifname[IF_NAMESIZE + 1]; // lock protecting everything in the _resolve_cache_info structs (next ptr, etc) static pthread_mutex_t _res_cache_list_lock; +// lock protecting the _res_pid_iface_list +static pthread_mutex_t _res_pidiface_list_lock; /* lookup the default interface name */ static char *_get_default_iface_locked(); +/* find the first cache that has an associated interface and return the name of the interface */ +static char* _find_any_iface_name_locked( void ); + /* insert resolv_cache_info into the list of resolv_cache_infos */ static void _insert_cache_info_locked(struct resolv_cache_info* cache_info); /* creates a resolv_cache_info */ @@ -1751,8 +1818,6 @@ static struct resolv_cache_info* _create_cache_info( void ); static struct resolv_cache* _find_named_cache_locked(const char* ifname); /* gets a resolv_cache_info associated with an interface name, or NULL if not found */ static struct resolv_cache_info* _find_cache_info_locked(const char* ifname); -/* free dns name server list of a resolv_cache_info structure */ -static void _free_nameservers(struct resolv_cache_info* cache_info); /* look up the named cache, and creates one if needed */ static struct resolv_cache* _get_res_cache_for_iface_locked(const char* ifname); /* empty the named cache */ @@ -1765,8 +1830,14 @@ static int _get_nameserver_locked(const char* ifname, int n, char* addr, int add static struct addrinfo* _get_nameserver_addr_locked(const char* ifname, int n); /* lookup the inteface's address */ static struct in_addr* _get_addr_locked(const char * ifname); - - +/* return 1 if the provided list of name servers differs from the list of name servers + * currently attached to the provided cache_info */ +static int _resolv_is_nameservers_equal_locked(struct resolv_cache_info* cache_info, + char** servers, int numservers); +/* remove a resolv_pidiface_info structure from _res_pidiface_list */ +static void _remove_pidiface_info_locked(int pid); +/* get a resolv_pidiface_info structure from _res_pidiface_list with a certain pid */ +static struct resolv_pidiface_info* _get_pid_iface_info_locked(int pid); static void _res_cache_init(void) @@ -1780,37 +1851,36 @@ _res_cache_init(void) memset(&_res_default_ifname, 0, sizeof(_res_default_ifname)); memset(&_res_cache_list, 0, sizeof(_res_cache_list)); + memset(&_res_pidiface_list, 0, sizeof(_res_pidiface_list)); pthread_mutex_init(&_res_cache_list_lock, NULL); + pthread_mutex_init(&_res_pidiface_list_lock, NULL); } struct resolv_cache* -__get_res_cache(void) +__get_res_cache(const char* ifname) { struct resolv_cache *cache; pthread_once(&_res_cache_once, _res_cache_init); - pthread_mutex_lock(&_res_cache_list_lock); - char* ifname = _get_default_iface_locked(); - - // if default interface not set then use the first cache - // associated with an interface as the default one. - if (ifname[0] == '\0') { - struct resolv_cache_info* cache_info = _res_cache_list.next; - while (cache_info) { - if (cache_info->ifname[0] != '\0') { - ifname = cache_info->ifname; - break; + char* iface; + if (ifname == NULL || ifname[0] == '\0') { + iface = _get_default_iface_locked(); + if (iface[0] == '\0') { + char* tmp = _find_any_iface_name_locked(); + if (tmp) { + iface = tmp; } - - cache_info = cache_info->next; } + } else { + iface = (char *) ifname; } - cache = _get_res_cache_for_iface_locked(ifname); + + cache = _get_res_cache_for_iface_locked(iface); pthread_mutex_unlock(&_res_cache_list_lock); - XLOG("_get_res_cache. default_ifname = %s\n", ifname); + XLOG("_get_res_cache: iface = %s, cache=%p\n", iface, cache); return cache; } @@ -1966,11 +2036,29 @@ _find_cache_info_locked(const char* ifname) static char* _get_default_iface_locked(void) { + char* iface = _res_default_ifname; return iface; } +static char* +_find_any_iface_name_locked( void ) { + char* ifname = NULL; + + struct resolv_cache_info* cache_info = _res_cache_list.next; + while (cache_info) { + if (cache_info->ifname[0] != '\0') { + ifname = cache_info->ifname; + break; + } + + cache_info = cache_info->next; + } + + return ifname; +} + void _resolv_set_default_iface(const char* ifname) { @@ -1988,21 +2076,25 @@ _resolv_set_default_iface(const char* ifname) } void -_resolv_set_nameservers_for_iface(const char* ifname, char** servers, int numservers) +_resolv_set_nameservers_for_iface(const char* ifname, char** servers, int numservers, + const char *domains) { int i, rt, index; struct addrinfo hints; char sbuf[NI_MAXSERV]; + register char *cp; + int *offset; pthread_once(&_res_cache_once, _res_cache_init); - pthread_mutex_lock(&_res_cache_list_lock); + // creates the cache if not created _get_res_cache_for_iface_locked(ifname); struct resolv_cache_info* cache_info = _find_cache_info_locked(ifname); - if (cache_info != NULL) { + if (cache_info != NULL && + !_resolv_is_nameservers_equal_locked(cache_info, servers, numservers)) { // free current before adding new _free_nameservers_locked(cache_info); @@ -2018,14 +2110,68 @@ _resolv_set_nameservers_for_iface(const char* ifname, char** servers, int numser if (rt == 0) { cache_info->nameservers[index] = strdup(servers[i]); index++; + XLOG("_resolv_set_nameservers_for_iface: iface = %s, addr = %s\n", + ifname, servers[i]); } else { cache_info->nsaddrinfo[index] = NULL; } } + + // code moved from res_init.c, load_domain_search_list + strlcpy(cache_info->defdname, domains, sizeof(cache_info->defdname)); + if ((cp = strchr(cache_info->defdname, '\n')) != NULL) + *cp = '\0'; + cp = cache_info->defdname; + offset = cache_info->dnsrch_offset; + while (offset < cache_info->dnsrch_offset + MAXDNSRCH) { + while (*cp == ' ' || *cp == '\t') /* skip leading white space */ + cp++; + if (*cp == '\0') /* stop if nothing more to do */ + break; + *offset++ = cp - cache_info->defdname; /* record this search domain */ + while (*cp) { /* zero-terminate it */ + if (*cp == ' '|| *cp == '\t') { + *cp++ = '\0'; + break; + } + cp++; + } + } + *offset = -1; /* cache_info->dnsrch_offset has MAXDNSRCH+1 items */ + + // flush cache since new settings + _flush_cache_for_iface_locked(ifname); + } + pthread_mutex_unlock(&_res_cache_list_lock); } +static int +_resolv_is_nameservers_equal_locked(struct resolv_cache_info* cache_info, + char** servers, int numservers) +{ + int i; + char** ns; + int equal = 1; + + // compare each name server against current name servers + if (numservers > MAXNS) numservers = MAXNS; + for (i = 0; i < numservers && equal; i++) { + ns = cache_info->nameservers; + equal = 0; + while(*ns) { + if (strcmp(*ns, servers[i]) == 0) { + equal = 1; + break; + } + ns++; + } + } + + return equal; +} + static void _free_nameservers_locked(struct resolv_cache_info* cache_info) { @@ -2168,3 +2314,196 @@ _get_addr_locked(const char * ifname) } return NULL; } + +static void +_remove_pidiface_info_locked(int pid) { + struct resolv_pidiface_info* result = &_res_pidiface_list; + struct resolv_pidiface_info* prev = NULL; + + while (result != NULL && result->pid != pid) { + prev = result; + result = result->next; + } + if (prev != NULL && result != NULL) { + prev->next = result->next; + free(result); + } +} + +static struct resolv_pidiface_info* +_get_pid_iface_info_locked(int pid) +{ + struct resolv_pidiface_info* result = &_res_pidiface_list; + while (result != NULL && result->pid != pid) { + result = result->next; + } + + return result; +} + +void +_resolv_set_iface_for_pid(const char* ifname, int pid) +{ + // make sure the pid iface list is created + pthread_once(&_res_cache_once, _res_cache_init); + pthread_mutex_lock(&_res_pidiface_list_lock); + + struct resolv_pidiface_info* pidiface_info = _get_pid_iface_info_locked(pid); + if (!pidiface_info) { + pidiface_info = calloc(sizeof(*pidiface_info), 1); + if (pidiface_info) { + pidiface_info->pid = pid; + int len = sizeof(pidiface_info->ifname); + strncpy(pidiface_info->ifname, ifname, len - 1); + pidiface_info->ifname[len - 1] = '\0'; + + pidiface_info->next = _res_pidiface_list.next; + _res_pidiface_list.next = pidiface_info; + + XLOG("_resolv_set_iface_for_pid: pid %d , iface %s\n", pid, ifname); + } else { + XLOG("_resolv_set_iface_for_pid failing calloc"); + } + } + + pthread_mutex_unlock(&_res_pidiface_list_lock); +} + +void +_resolv_clear_iface_for_pid(int pid) +{ + pthread_once(&_res_cache_once, _res_cache_init); + pthread_mutex_lock(&_res_pidiface_list_lock); + + _remove_pidiface_info_locked(pid); + + XLOG("_resolv_clear_iface_for_pid: pid %d\n", pid); + + pthread_mutex_unlock(&_res_pidiface_list_lock); +} + +int +_resolv_get_pids_associated_interface(int pid, char* buff, int buffLen) +{ + int len = 0; + + if (!buff) { + return -1; + } + + pthread_once(&_res_cache_once, _res_cache_init); + pthread_mutex_lock(&_res_pidiface_list_lock); + + struct resolv_pidiface_info* pidiface_info = _get_pid_iface_info_locked(pid); + buff[0] = '\0'; + if (pidiface_info) { + len = strlen(pidiface_info->ifname); + if (len < buffLen) { + strncpy(buff, pidiface_info->ifname, len); + buff[len] = '\0'; + } + } + + XLOG("_resolv_get_pids_associated_interface buff: %s\n", buff); + + pthread_mutex_unlock(&_res_pidiface_list_lock); + + return len; +} + +int +_resolv_get_default_iface(char* buff, int buffLen) +{ + char* ifname; + int len = 0; + + if (!buff || buffLen == 0) { + return -1; + } + + pthread_once(&_res_cache_once, _res_cache_init); + pthread_mutex_lock(&_res_cache_list_lock); + + ifname = _get_default_iface_locked(); // never null, but may be empty + + // if default interface not set. Get first cache with an interface + if (ifname[0] == '\0') { + ifname = _find_any_iface_name_locked(); // may be null + } + + // if we got the default iface or if (no-default) the find_any call gave an answer + if (ifname) { + len = strlen(ifname); + if (len < buffLen) { + strncpy(buff, ifname, len); + buff[len] = '\0'; + } + } else { + buff[0] = '\0'; + } + + pthread_mutex_unlock(&_res_cache_list_lock); + + return len; +} + +int +_resolv_populate_res_for_iface(res_state statp) +{ + int nserv; + struct resolv_cache_info* info = NULL; + + if (statp) { + struct addrinfo* ai; + + if (statp->iface[0] == '\0') { // no interface set assign default + _resolv_get_default_iface(statp->iface, sizeof(statp->iface)); + } + + pthread_once(&_res_cache_once, _res_cache_init); + pthread_mutex_lock(&_res_cache_list_lock); + info = _find_cache_info_locked(statp->iface); + + if (info == NULL) { + pthread_mutex_unlock(&_res_cache_list_lock); + return 0; + } + + XLOG("_resolv_populate_res_for_iface: %s\n", statp->iface); + for (nserv = 0; nserv < MAXNS; nserv++) { + ai = info->nsaddrinfo[nserv]; + if (ai == NULL) { + break; + } + + if ((size_t) ai->ai_addrlen <= sizeof(statp->_u._ext.ext->nsaddrs[0])) { + if (statp->_u._ext.ext != NULL) { + memcpy(&statp->_u._ext.ext->nsaddrs[nserv], ai->ai_addr, ai->ai_addrlen); + statp->nsaddr_list[nserv].sin_family = AF_UNSPEC; + } else { + if ((size_t) ai->ai_addrlen + <= sizeof(statp->nsaddr_list[0])) { + memcpy(&statp->nsaddr_list[nserv], ai->ai_addr, + ai->ai_addrlen); + } else { + statp->nsaddr_list[nserv].sin_family = AF_UNSPEC; + } + } + } else { + XLOG("_resolv_populate_res_for_iface found too long addrlen"); + } + } + statp->nscount = nserv; + // now do search domains. Note that we cache the offsets as this code runs alot + // but the setting/offset-computer only runs when set/changed + strlcpy(statp->defdname, info->defdname, sizeof(statp->defdname)); + register char **pp = statp->dnsrch; + register int *p = info->dnsrch_offset; + while (pp < statp->dnsrch + MAXDNSRCH && *p != -1) { + *pp++ = &statp->defdname + *p++; + } + + pthread_mutex_unlock(&_res_cache_list_lock); + } + return nserv; +} diff --git a/libc/netbsd/resolv/res_data.c b/libc/netbsd/resolv/res_data.c index 014c99b..7e5a308 100644 --- a/libc/netbsd/resolv/res_data.c +++ b/libc/netbsd/resolv/res_data.c @@ -82,13 +82,7 @@ extern struct __res_state _nres; int res_ourserver_p(const res_state, const struct sockaddr *); -#ifdef ANDROID_CHANGES -static int res_need_init() { - return ((_nres.options & RES_INIT) == 0U) || res_get_dns_changed(); -} -#else #define res_need_init() ((_nres.options & RES_INIT) == 0U) -#endif int res_init(void) { diff --git a/libc/netbsd/resolv/res_init.c b/libc/netbsd/resolv/res_init.c index 56a25af..ff65299 100644 --- a/libc/netbsd/resolv/res_init.c +++ b/libc/netbsd/resolv/res_init.c @@ -111,13 +111,6 @@ __RCSID("$NetBSD: res_init.c,v 1.8 2006/03/19 03:10:08 christos Exp $"); /* ensure that sockaddr_in6 and IN6ADDR_ANY_INIT are declared / defined */ #ifdef ANDROID_CHANGES #include "resolv_private.h" -#define MAX_DNS_PROPERTIES 8 -#define DNS_PROP_NAME_PREFIX "net.dns" -#define DNS_CHANGE_PROP_NAME "net.dnschange" -#define DNS_SEARCH_PROP_NAME "net.dns.search" -static const prop_info *dns_change_prop; -static int dns_last_change_counter; -static int _get_dns_change_count(); #else #include <resolv.h> #endif @@ -171,41 +164,6 @@ res_ninit(res_state statp) { return (__res_vinit(statp, 0)); } -#ifdef ANDROID_CHANGES -static int load_domain_search_list(res_state statp) { - char propvalue[PROP_VALUE_MAX]; - register char *cp, **pp; - - if(__system_property_get(DNS_SEARCH_PROP_NAME, propvalue) >= 1) { - strlcpy(statp->defdname, propvalue, sizeof(statp->defdname)); - if ((cp = strchr(statp->defdname, '\n')) != NULL) - *cp = '\0'; - cp = statp->defdname; - pp = statp->dnsrch; - while ( pp < statp->dnsrch + MAXDNSRCH ) { - while (*cp == ' ' || *cp == '\t') /* skip leading white space */ - cp++; - if (*cp == '\0') /* stop if nothing more */ - break; - *pp++ = cp; /* record this search domain */ - while (*cp) { /* zero-terminate it */ - if (*cp == ' ' || *cp == '\t') { - *cp++ = '\0'; - break; - } - cp++; - } - } - *pp = NULL; /* statp->dnsrch has MAXDNSRCH+1 items */ - if (pp > statp->dnsrch) - return 1; - } - statp->defdname[0] = '\0'; /* no default domain name on Android */ - statp->dnsrch[0] = NULL; - return 0; -} -#endif - /* This function has to be reachable by res_data.c but not publicly. */ int __res_vinit(res_state statp, int preinit) { @@ -220,12 +178,6 @@ __res_vinit(res_state statp, int preinit) { char *net; int dots; union res_sockaddr_union u[2]; -#ifdef ANDROID_CHANGES - pid_t mypid = getpid(); - int use_proc_props = 0; - int found_prop; - char dnsProperty[PROP_VALUE_MAX]; -#endif if ((statp->options & RES_INIT) != 0U) res_ndestroy(statp); @@ -318,74 +270,8 @@ __res_vinit(res_state statp, int preinit) { if (nserv > 0) statp->nscount = nserv; #endif -#ifdef ANDROID_CHANGES /* READ FROM SYSTEM PROPERTIES */ - dns_last_change_counter = _get_dns_change_count(); - nserv = 0; - for(n = 1; n <= MAX_DNS_PROPERTIES && nserv < MAXNS; n++) { - char propname[PROP_NAME_MAX]; - char propvalue[PROP_VALUE_MAX]; - - struct addrinfo hints, *ai; - char sbuf[NI_MAXSERV]; - const size_t minsiz = sizeof(statp->_u._ext.ext->nsaddrs[0]); - - /* - * Check first for process-specific properties, and if those don't - * exist, try the generic properties. - */ - found_prop = 0; - if (n == 1 || use_proc_props) { - snprintf(propname, sizeof(propname), "%s%d.%d", DNS_PROP_NAME_PREFIX, n, mypid); - if(__system_property_get(propname, propvalue) < 1) { - if (use_proc_props) { - break; - } - } else { - found_prop = 1; - use_proc_props = 1; - } - } - if (!found_prop) { - snprintf(propname, sizeof(propname), "%s%d", DNS_PROP_NAME_PREFIX, n); - if(__system_property_get(propname, propvalue) < 1) { - break; - } - } - - cp = propvalue; - - while (*cp == ' ' || *cp == '\t') - cp++; - cp[strcspn(cp, ";# \t\n")] = '\0'; - if ((*cp != '\0') && (*cp != '\n')) { - memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_UNSPEC; - hints.ai_socktype = SOCK_DGRAM; /*dummy*/ - hints.ai_flags = AI_NUMERICHOST; - sprintf(sbuf, "%u", NAMESERVER_PORT); - if (getaddrinfo(cp, sbuf, &hints, &ai) == 0 && - (size_t)ai->ai_addrlen <= minsiz) { - if (statp->_u._ext.ext != NULL) { - memcpy(&statp->_u._ext.ext->nsaddrs[nserv], - ai->ai_addr, ai->ai_addrlen); - } - if ((size_t)ai->ai_addrlen <= - sizeof(statp->nsaddr_list[nserv])) { - memcpy(&statp->nsaddr_list[nserv], - ai->ai_addr, ai->ai_addrlen); - } else { - statp->nsaddr_list[nserv].sin_family = 0; - } - freeaddrinfo(ai); - nserv++; - } - } - } - - /* Add the domain search list */ - havesearch = load_domain_search_list(statp); -#else /* !ANDROID_CHANGES - IGNORE resolv.conf in Android */ +#ifndef ANDROID_CHANGES /* !ANDROID_CHANGES - IGNORE resolv.conf in Android */ #define MATCH(line, name) \ (!strncmp(line, name, sizeof(name) - 1) && \ (line[sizeof(name) - 1] == ' ' || \ @@ -907,32 +793,17 @@ res_getservers(res_state statp, union res_sockaddr_union *set, int cnt) { } #ifdef ANDROID_CHANGES -static int _get_dns_change_count() +void res_setiface(res_state statp, const char* iface) { - if (dns_change_prop == NULL) { - dns_change_prop = __system_property_find(DNS_CHANGE_PROP_NAME); - } - if (dns_change_prop != NULL) { - char propvalue[PROP_VALUE_MAX]; - if (__system_property_read(dns_change_prop, NULL, propvalue) >= 1) { - return atoi(propvalue); - } - } - return -1; -} - -int res_get_dns_changed() -{ - int change_count; - - change_count = _get_dns_change_count(); - if (change_count != dns_last_change_counter) { - if (change_count != -1) { - dns_last_change_counter = change_count; + if (statp != NULL) { + // set interface + if (iface && iface[0] != '\0') { + int len = sizeof(statp->iface); + strncpy(statp->iface, iface, len - 1); + statp->iface[len - 1] = '\0'; + } else { + statp->iface[0] = '\0'; } - return 1; - } else { - return 0; } } #endif /* ANDROID_CHANGES */ diff --git a/libc/netbsd/resolv/res_send.c b/libc/netbsd/resolv/res_send.c index c6c863b..d407ac8 100644 --- a/libc/netbsd/resolv/res_send.c +++ b/libc/netbsd/resolv/res_send.c @@ -370,10 +370,13 @@ res_nsend(res_state statp, ResolvCacheStatus cache_status = RESOLV_CACHE_UNSUPPORTED; #endif +#if !USE_RESOLV_CACHE if (statp->nscount == 0) { errno = ESRCH; return (-1); } +#endif + if (anssiz < HFIXEDSZ) { errno = EINVAL; return (-1); @@ -385,17 +388,27 @@ res_nsend(res_state statp, terrno = ETIMEDOUT; #if USE_RESOLV_CACHE - cache = __get_res_cache(); - if (cache != NULL) { - int anslen = 0; - cache_status = _resolv_cache_lookup( - cache, buf, buflen, - ans, anssiz, &anslen); - - if (cache_status == RESOLV_CACHE_FOUND) { - return anslen; - } - } + // get the cache associated with the interface + cache = __get_res_cache(statp->iface); + if (cache != NULL) { + int anslen = 0; + cache_status = _resolv_cache_lookup( + cache, buf, buflen, + ans, anssiz, &anslen); + + if (cache_status == RESOLV_CACHE_FOUND) { + return anslen; + } else { + // had a cache miss for a known interface, so populate the thread private + // data so the normal resolve path can do its thing + _resolv_populate_res_for_iface(statp); + } + } + + if (statp->nscount == 0) { + errno = ESRCH; + return (-1); + } #endif /* diff --git a/libc/netbsd/resolv/res_state.c b/libc/netbsd/resolv/res_state.c index 3e1f67b..32ffdca 100644 --- a/libc/netbsd/resolv/res_state.c +++ b/libc/netbsd/resolv/res_state.c @@ -50,7 +50,7 @@ #endif static pthread_key_t _res_key; -static pthread_once_t _res_once; +static pthread_once_t _res_once = PTHREAD_ONCE_INIT; typedef struct { int _h_errno; diff --git a/libc/private/resolv_cache.h b/libc/private/resolv_cache.h index 1dcc53f..4f32fb7 100644 --- a/libc/private/resolv_cache.h +++ b/libc/private/resolv_cache.h @@ -28,13 +28,13 @@ #ifndef _RESOLV_CACHE_H_ #define _RESOLV_CACHE_H_ +struct __res_state; struct resolv_cache; /* forward */ -/* gets the cache for the default interface. Might be NULL*/ -extern struct resolv_cache* __get_res_cache(void); - -/* get the cache for a specified interface. Can be NULL*/ -extern struct resolv_cache* __get_res_cache_for_iface(const char* ifname); +/* gets the cache for an interface. Set ifname argument to NULL or + * empty buffer ('\0') to get cache for default interface. + * returned cache might be NULL*/ +extern struct resolv_cache* __get_res_cache(const char* ifname); /* this gets called everytime we detect some changes in the DNS configuration * and will flush the cache */ @@ -67,8 +67,14 @@ extern struct in_addr* _resolv_get_addr_of_default_iface(); /* gets the address associated with the specified interface */ extern struct in_addr* _resolv_get_addr_of_iface(const char* ifname); -/* Get name of default interface */ -extern char* _resolv_get_default_iface(); +/* Copy the name of the default interface to provided buffer. + * Return length of buffer on success on failure -1 is returned */ +extern int _resolv_get_default_iface(char* buff, int buffLen); + +/* sets the name server addresses to the provided res_state structure. The + * name servers are retrieved from the cache which is associated + * with the interface to which the res_state structure is associated */ +extern int _resolv_populate_res_for_iface(struct __res_state* statp); typedef enum { RESOLV_CACHE_UNSUPPORTED, /* the cache can't handle that kind of queries */ diff --git a/libc/private/resolv_iface.h b/libc/private/resolv_iface.h index f562687..bf5abad 100644 --- a/libc/private/resolv_iface.h +++ b/libc/private/resolv_iface.h @@ -48,7 +48,8 @@ __BEGIN_DECLS extern void _resolv_set_default_iface(const char* ifname); /* set name servers for an interface */ -extern void _resolv_set_nameservers_for_iface(const char* ifname, char** servers, int numservers); +extern void _resolv_set_nameservers_for_iface(const char* ifname, char** servers, int numservers, + const char *domains); /* tell resolver of the address of an interface */ extern void _resolv_set_addr_of_iface(const char* ifname, struct in_addr* addr); @@ -59,6 +60,21 @@ extern void _resolv_flush_cache_for_default_iface(); /* flush the cache associated with a certain interface */ extern void _resolv_flush_cache_for_iface(const char* ifname); +/* set a pid to use the name servers of the specified interface */ +extern void _resolv_set_iface_for_pid(const char* ifname, int pid); + +/* clear pid from being associated with an interface */ +extern void _resolv_clear_iface_for_pid(int pid); + +/** Gets the name of the interface to which the pid is attached. + * On error, -1 is returned. + * If no interface is found, 0 is returned and buff is set to empty ('\0'). + * If an interface is found, the name is copied to buff and the length of the name is returned. + * Arguments: pid The pid to find an interface for + * buff A buffer to copy the result to + * buffLen Length of buff. An interface is at most IF_NAMESIZE in length */ +extern int _resolv_get_pids_associated_interface(int pid, char* buff, int buffLen); + #endif /* _BIONIC_RESOLV_IFACE_FUNCTIONS_DECLARED */ __END_DECLS diff --git a/libc/private/resolv_private.h b/libc/private/resolv_private.h index 0f3c6c0..1c3c1a2 100644 --- a/libc/private/resolv_private.h +++ b/libc/private/resolv_private.h @@ -56,6 +56,7 @@ #include <resolv.h> #include "resolv_static.h" +#include <net/if.h> /* * Revision information. This is the release date in YYYYMMDD format. @@ -139,6 +140,7 @@ struct res_sym { struct __res_state_ext; struct __res_state { + char iface[IF_NAMESIZE+1]; int retrans; /* retransmission time interval */ int retry; /* number of times to retransmit */ #ifdef sun @@ -491,7 +493,7 @@ void res_setservers(res_state, int res_getservers(res_state, union res_sockaddr_union *, int); -int res_get_dns_changed(); +void res_setiface(); u_int res_randomid(void); __END_DECLS diff --git a/linker/Android.mk b/linker/Android.mk index 5a18f6a..d1773a8 100644 --- a/linker/Android.mk +++ b/linker/Android.mk @@ -60,6 +60,9 @@ LOCAL_MODULE_SUFFIX := $(TARGET_EXECUTABLE_SUFFIX) # just for this module LOCAL_NO_CRT := true +# TODO: split out the asflags. +LOCAL_ASFLAGS := $(LOCAL_CFLAGS) + include $(BUILD_SYSTEM)/dynamic_binary.mk # See build/core/executable.mk |