blob: d9df82fce0514e77c83fc30f85c5d18e36fabb57 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris05d08e92016-02-04 13:16:38 -08007#ifndef __UAPI_SOUND_TLV_H
8#define __UAPI_SOUND_TLV_H
9#define SNDRV_CTL_TLVT_CONTAINER 0
10#define SNDRV_CTL_TLVT_DB_SCALE 1
Christopher Ferris05d08e92016-02-04 13:16:38 -080011#define SNDRV_CTL_TLVT_DB_LINEAR 2
12#define SNDRV_CTL_TLVT_DB_RANGE 3
13#define SNDRV_CTL_TLVT_DB_MINMAX 4
14#define SNDRV_CTL_TLVT_DB_MINMAX_MUTE 5
Christopher Ferris05d08e92016-02-04 13:16:38 -080015#define SNDRV_CTL_TLVT_CHMAP_FIXED 0x101
16#define SNDRV_CTL_TLVT_CHMAP_VAR 0x102
17#define SNDRV_CTL_TLVT_CHMAP_PAIRED 0x103
Christopher Ferris6a9755d2017-01-13 14:09:31 -080018#define SNDRV_CTL_TLVD_ITEM(type,...) (type), SNDRV_CTL_TLVD_LENGTH(__VA_ARGS__), __VA_ARGS__
Christopher Ferris6a9755d2017-01-13 14:09:31 -080019#define SNDRV_CTL_TLVD_LENGTH(...) ((unsigned int) sizeof((const unsigned int[]) { __VA_ARGS__ }))
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070020#define SNDRV_CTL_TLVO_TYPE 0
21#define SNDRV_CTL_TLVO_LEN 1
Christopher Ferris6a9755d2017-01-13 14:09:31 -080022#define SNDRV_CTL_TLVD_CONTAINER_ITEM(...) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_CONTAINER, __VA_ARGS__)
23#define SNDRV_CTL_TLVD_DECLARE_CONTAINER(name,...) unsigned int name[] = { SNDRV_CTL_TLVD_CONTAINER_ITEM(__VA_ARGS__) }
24#define SNDRV_CTL_TLVD_DB_SCALE_MASK 0xffff
Christopher Ferris6a9755d2017-01-13 14:09:31 -080025#define SNDRV_CTL_TLVD_DB_SCALE_MUTE 0x10000
26#define SNDRV_CTL_TLVD_DB_SCALE_ITEM(min,step,mute) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_SCALE, (min), ((step) & SNDRV_CTL_TLVD_DB_SCALE_MASK) | ((mute) ? SNDRV_CTL_TLVD_DB_SCALE_MUTE : 0))
27#define SNDRV_CTL_TLVD_DECLARE_DB_SCALE(name,min,step,mute) unsigned int name[] = { SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) }
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070028#define SNDRV_CTL_TLVO_DB_SCALE_MIN 2
29#define SNDRV_CTL_TLVO_DB_SCALE_MUTE_AND_STEP 3
Christopher Ferris6a9755d2017-01-13 14:09:31 -080030#define SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB,max_dB) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX, (min_dB), (max_dB))
Christopher Ferris6a9755d2017-01-13 14:09:31 -080031#define SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB,max_dB) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX_MUTE, (min_dB), (max_dB))
32#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(name,min_dB,max_dB) unsigned int name[] = { SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) }
33#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX_MUTE(name,min_dB,max_dB) unsigned int name[] = { SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) }
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070034#define SNDRV_CTL_TLVO_DB_MINMAX_MIN 2
35#define SNDRV_CTL_TLVO_DB_MINMAX_MAX 3
Christopher Ferris6a9755d2017-01-13 14:09:31 -080036#define SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB,max_dB) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_LINEAR, (min_dB), (max_dB))
Christopher Ferris6a9755d2017-01-13 14:09:31 -080037#define SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(name,min_dB,max_dB) unsigned int name[] = { SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) }
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070038#define SNDRV_CTL_TLVO_DB_LINEAR_MIN 2
39#define SNDRV_CTL_TLVO_DB_LINEAR_MAX 3
Christopher Ferris6a9755d2017-01-13 14:09:31 -080040#define SNDRV_CTL_TLVD_DB_RANGE_ITEM(...) SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_RANGE, __VA_ARGS__)
41#define SNDRV_CTL_TLVD_DECLARE_DB_RANGE(name,...) unsigned int name[] = { SNDRV_CTL_TLVD_DB_RANGE_ITEM(__VA_ARGS__) }
42#define SNDRV_CTL_TLVD_DB_GAIN_MUTE - 9999999
Christopher Ferris6a9755d2017-01-13 14:09:31 -080043#endif