diff options
author | Jaroslav Kysela <perex@suse.cz> | 2006-06-01 12:34:01 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-09-23 04:36:42 -0400 |
commit | 42750b04c5baa7c5ffdf0a8be2b9b320efdf069f (patch) | |
tree | 52aea8f1eeb44405b67bc5b381cce6bc20e2bff6 /include/sound/asound.h | |
parent | 3eeab61aa3ddd3c0bedb7449ada1599de22fdb5a (diff) |
[ALSA] Control API - TLV implementation for additional information like dB scale
This patch implements a TLV mechanism to transfer an additional information
like dB scale to the user space. The types might be extended in future.
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'include/sound/asound.h')
-rw-r--r-- | include/sound/asound.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/sound/asound.h b/include/sound/asound.h index 41885f48ad91..76a20406bd18 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h | |||
@@ -688,7 +688,7 @@ struct snd_timer_tread { | |||
688 | * * | 688 | * * |
689 | ****************************************************************************/ | 689 | ****************************************************************************/ |
690 | 690 | ||
691 | #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 3) | 691 | #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 4) |
692 | 692 | ||
693 | struct snd_ctl_card_info { | 693 | struct snd_ctl_card_info { |
694 | int card; /* card number */ | 694 | int card; /* card number */ |
@@ -818,6 +818,12 @@ struct snd_ctl_elem_value { | |||
818 | unsigned char reserved[128-sizeof(struct timespec)]; | 818 | unsigned char reserved[128-sizeof(struct timespec)]; |
819 | }; | 819 | }; |
820 | 820 | ||
821 | struct snd_ctl_tlv { | ||
822 | unsigned int numid; /* control element numeric identification */ | ||
823 | unsigned int length; /* in bytes aligned to 4 */ | ||
824 | unsigned int tlv[0]; /* first TLV */ | ||
825 | }; | ||
826 | |||
821 | enum { | 827 | enum { |
822 | SNDRV_CTL_IOCTL_PVERSION = _IOR('U', 0x00, int), | 828 | SNDRV_CTL_IOCTL_PVERSION = _IOR('U', 0x00, int), |
823 | SNDRV_CTL_IOCTL_CARD_INFO = _IOR('U', 0x01, struct snd_ctl_card_info), | 829 | SNDRV_CTL_IOCTL_CARD_INFO = _IOR('U', 0x01, struct snd_ctl_card_info), |
@@ -831,6 +837,7 @@ enum { | |||
831 | SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR('U', 0x17, struct snd_ctl_elem_info), | 837 | SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR('U', 0x17, struct snd_ctl_elem_info), |
832 | SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR('U', 0x18, struct snd_ctl_elem_info), | 838 | SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR('U', 0x18, struct snd_ctl_elem_info), |
833 | SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR('U', 0x19, struct snd_ctl_elem_id), | 839 | SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR('U', 0x19, struct snd_ctl_elem_id), |
840 | SNDRV_CTL_IOCTL_TLV_READ = _IOWR('U', 0x1a, struct snd_ctl_tlv), | ||
834 | SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE = _IOWR('U', 0x20, int), | 841 | SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE = _IOWR('U', 0x20, int), |
835 | SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR('U', 0x21, struct snd_hwdep_info), | 842 | SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR('U', 0x21, struct snd_hwdep_info), |
836 | SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE = _IOR('U', 0x30, int), | 843 | SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE = _IOR('U', 0x30, int), |