166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/****************************************************************************
266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ****************************************************************************
366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***
466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   This header was automatically generated from a Linux kernel header
566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   of the same name, to make information necessary for userspace to
666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   call into the kernel available to libc.  It contains only constants,
766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   structures, and macros generated from the original header, and thus,
866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   contains no copyrightable information.
966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***
1066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   To edit the content of this header, modify the corresponding
1166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   source file (e.g. under external/kernel-headers/original/) then
1266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   run bionic/libc/kernel/tools/update_all.py
1366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***
1466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   Any manual change here will be lost the next time this script will
1566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***   be run. You've been warned!
1666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ***
1766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ****************************************************************************
1866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava ****************************************************************************/
1966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#ifndef __COMPRESS_OFFLOAD_H
2066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define __COMPRESS_OFFLOAD_H
2166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#include <linux/types.h>
2266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#include <sound/asound.h>
2366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#include <sound/compress_params.h>
256780bd3d0ca0ddbf60778417fb09d3746a96b802Haynes Mathew George#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2)
2666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compressed_buffer {
2766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 fragment_size;
2866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 fragments;
3066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
3166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_params {
3266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava struct snd_compressed_buffer buffer;
3366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava struct snd_codec codec;
3566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u8 no_wake_mode;
3666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
3766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_tstamp {
3866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 byte_offset;
4066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 copied_total;
416780bd3d0ca0ddbf60778417fb09d3746a96b802Haynes Mathew George __u32 pcm_frames;
426780bd3d0ca0ddbf60778417fb09d3746a96b802Haynes Mathew George __u32 pcm_io_frames;
4366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 sampling_rate;
4566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava uint64_t timestamp;
4666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
4766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_avail {
4866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u64 avail;
5066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava struct snd_compr_tstamp tstamp;
5166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
5266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavaenum snd_compr_direction {
5366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava SND_COMPRESS_PLAYBACK = 0,
5566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava SND_COMPRESS_CAPTURE
5666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
5766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_caps {
5866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 num_codecs;
6066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 direction;
6166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 min_fragment_size;
6266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 max_fragment_size;
6366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 min_fragments;
6566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 max_fragments;
6666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 codecs[MAX_NUM_CODECS];
6766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 reserved[11];
6866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
7066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_codec_caps {
7166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 codec;
7266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 num_descriptors;
7366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava struct snd_codec_desc descriptor[MAX_NUM_CODEC_DESCRIPTORS];
7566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
7666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_audio_info {
7766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava uint32_t frame_size;
7866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava uint32_t reserved[15];
8066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
8166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavaenum {
8266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava SNDRV_COMPRESS_ENCODER_PADDING = 1,
8366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava SNDRV_COMPRESS_ENCODER_DELAY = 2,
8566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
8666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastavastruct snd_compr_metadata {
8766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 key;
8866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava __u32 value[8];
9066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava};
9166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_IOCTL_VERSION _IOR('C', 0x00, int)
9266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_GET_CAPS _IOWR('C', 0x10, struct snd_compr_caps)
9366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_GET_CODEC_CAPS _IOWR('C', 0x11,  struct snd_compr_codec_caps)
9566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_SET_PARAMS _IOW('C', 0x12, struct snd_compr_params)
9666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_GET_PARAMS _IOR('C', 0x13, struct snd_codec)
9766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_SET_METADATA _IOW('C', 0x14,  struct snd_compr_metadata)
9866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_GET_METADATA _IOWR('C', 0x15,  struct snd_compr_metadata)
10066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_TSTAMP _IOR('C', 0x20, struct snd_compr_tstamp)
10166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_AVAIL _IOR('C', 0x21, struct snd_compr_avail)
10266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_PAUSE _IO('C', 0x30)
10366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_RESUME _IO('C', 0x31)
10566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_START _IO('C', 0x32)
10666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_STOP _IO('C', 0x33)
10766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_DRAIN _IO('C', 0x34)
10866c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10966c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_NEXT_TRACK _IO('C', 0x35)
11066c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_PARTIAL_DRAIN _IO('C', 0x36)
11166c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SND_COMPR_TRIGGER_DRAIN 7
11266c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SND_COMPR_TRIGGER_NEXT_TRACK 8
11366c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11466c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 9
11566c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#define SNDRV_COMPRESS_METADATA_MODE _IOW('C', 0x99, bool)
11666c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava#endif
11766c9a6c49618660559b0ecee852718ca0548d32eVineeta Srivastava
118