15d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/**************************************************************************** 25d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin **************************************************************************** 35d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** 45d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** This header was automatically generated from a Linux kernel header 55d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** of the same name, to make information necessary for userspace to 65d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** call into the kernel available to libc. It contains only constants, 75d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** structures, and macros generated from the original header, and thus, 85d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** contains no copyrightable information. 95d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** 105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** To edit the content of this header, modify the corresponding 115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** source file (e.g. under external/kernel-headers/original/) then 125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** run bionic/libc/kernel/tools/update_all.py 135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** 145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** Any manual change here will be lost the next time this script will 155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** be run. You've been warned! 165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin *** 175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin **************************************************************************** 185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin ****************************************************************************/ 195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#ifndef __COMPRESS_OFFLOAD_H 205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define __COMPRESS_OFFLOAD_H 215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <linux/types.h> 225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <sound/asound.h> 235d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#include <sound/compress_params.h> 255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2) 265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compressed_buffer { 275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 fragment_size; 285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 fragments; 305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_params { 325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct snd_compressed_buffer buffer; 335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct snd_codec codec; 355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u8 no_wake_mode; 365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_tstamp { 385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 byte_offset; 405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u64 copied_total; 415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 pcm_frames; 425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 pcm_io_frames; 435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 sampling_rate; 455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint64_t timestamp; 465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_avail { 485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u64 avail; 505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct snd_compr_tstamp tstamp; 515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinenum snd_compr_direction { 535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SND_COMPRESS_PLAYBACK = 0, 555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SND_COMPRESS_CAPTURE 565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_caps { 585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 num_codecs; 605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 direction; 615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 min_fragment_size; 625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 max_fragment_size; 635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 min_fragments; 655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 max_fragments; 665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 codecs[MAX_NUM_CODECS]; 675d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 reserved[11]; 685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 705d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_codec_caps { 715d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 codec; 725d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 num_descriptors; 735d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 745d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin struct snd_codec_desc descriptor[MAX_NUM_CODEC_DESCRIPTORS]; 755d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 765d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_audio_info { 775d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t frame_size; 785d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 795d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t reserved[15]; 805d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 815d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinenum { 825d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SNDRV_COMPRESS_ENCODER_PADDING = 1, 835d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 845d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SNDRV_COMPRESS_ENCODER_DELAY = 2, 855d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SNDRV_COMPRESS_MIN_BLK_SIZE = 3, 865d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin SNDRV_COMPRESS_MAX_BLK_SIZE = 4, 875d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 885d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 895d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct snd_compr_metadata { 905d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 key; 915d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin __u32 value[8]; 925d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin} __attribute__((packed, aligned(4))); 935d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 945d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_IOCTL_VERSION _IOR('C', 0x00, int) 955d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_GET_CAPS _IOWR('C', 0x10, struct snd_compr_caps) 965d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_GET_CODEC_CAPS _IOWR('C', 0x11, struct snd_compr_codec_caps) 975d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_SET_PARAMS _IOW('C', 0x12, struct snd_compr_params) 985d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 995d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_GET_PARAMS _IOR('C', 0x13, struct snd_codec) 1005d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_SET_METADATA _IOW('C', 0x14, struct snd_compr_metadata) 1015d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_GET_METADATA _IOWR('C', 0x15, struct snd_compr_metadata) 1025d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_TSTAMP _IOR('C', 0x20, struct snd_compr_tstamp) 1035d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1045d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_AVAIL _IOR('C', 0x21, struct snd_compr_avail) 1055d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_PAUSE _IO('C', 0x30) 1065d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_RESUME _IO('C', 0x31) 1075d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_START _IO('C', 0x32) 1085d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1095d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_STOP _IO('C', 0x33) 1105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_DRAIN _IO('C', 0x34) 1115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_NEXT_TRACK _IO('C', 0x35) 1125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_PARTIAL_DRAIN _IO('C', 0x36) 1135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_SET_NEXT_TRACK_PARAM _IOW('C', 0x80, union snd_codec_options) 1154e5a1b379f3de5287e3d129e27df9a6b38653b1dSteve Pfetsch#define SNDRV_COMPRESS_ENABLE_EFFECT _IOW('C', 0x70, int) 1165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SND_COMPR_TRIGGER_DRAIN 7 1175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SND_COMPR_TRIGGER_NEXT_TRACK 8 1185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1194e5a1b379f3de5287e3d129e27df9a6b38653b1dSteve Pfetsch#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 9 1205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_COMPRESS_METADATA_MODE _IOW('C', 0x99, bool) 1215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#endif 1225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 123