/* SPDX-License-Identifier: BSD-3-Clause */ /* * Copyright (C) 2021 OpenSynergy GmbH */ #ifndef VIRTIO_SND_IF_H #define VIRTIO_SND_IF_H #include <linux/virtio_types.h> /******************************************************************************* * FEATURE BITS */ enum { … }; /******************************************************************************* * CONFIGURATION SPACE */ struct virtio_snd_config { … }; enum { … }; /******************************************************************************* * COMMON DEFINITIONS */ /* supported dataflow directions */ enum { … }; enum { … }; /* common header */ struct virtio_snd_hdr { … }; /* event notification */ struct virtio_snd_event { … }; /* common control request to query an item information */ struct virtio_snd_query_info { … }; /* common item information header */ struct virtio_snd_info { … }; /******************************************************************************* * JACK CONTROL MESSAGES */ struct virtio_snd_jack_hdr { … }; /* supported jack features */ enum { … }; struct virtio_snd_jack_info { … }; /* jack remapping control request */ struct virtio_snd_jack_remap { … }; /******************************************************************************* * PCM CONTROL MESSAGES */ struct virtio_snd_pcm_hdr { … }; /* supported PCM stream features */ enum { … }; /* supported PCM sample formats */ enum { … }; /* supported PCM frame rates */ enum { … }; struct virtio_snd_pcm_info { … }; /* set PCM stream format */ struct virtio_snd_pcm_set_params { … }; /******************************************************************************* * PCM I/O MESSAGES */ /* I/O request header */ struct virtio_snd_pcm_xfer { … }; /* I/O request status */ struct virtio_snd_pcm_status { … }; /******************************************************************************* * CHANNEL MAP CONTROL MESSAGES */ struct virtio_snd_chmap_hdr { … }; /* standard channel position definition */ enum { … }; /* maximum possible number of channels */ #define VIRTIO_SND_CHMAP_MAX_SIZE … struct virtio_snd_chmap_info { … }; /******************************************************************************* * CONTROL ELEMENTS MESSAGES */ struct virtio_snd_ctl_hdr { … }; /* supported roles for control elements */ enum { … }; /* supported value types for control elements */ enum { … }; /* supported access rights for control elements */ enum { … }; struct virtio_snd_ctl_info { … }; struct virtio_snd_ctl_enum_item { … }; struct virtio_snd_ctl_iec958 { … }; struct virtio_snd_ctl_value { … }; /* supported event reason types */ enum { … }; struct virtio_snd_ctl_event { … }; #endif /* VIRTIO_SND_IF_H */