include/uapi/sound/asound.h
Source file repositories/reference/linux-study-clean/include/uapi/sound/asound.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/sound/asound.h- Extension
.h- Size
- 56186 bytes
- Lines
- 1273
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hasm/byteorder.hendian.hsys/ioctl.hstdlib.htime.h
Detected Declarations
struct snd_aes_iec958struct snd_cea_861_aud_ifstruct snd_hwdep_infostruct snd_hwdep_dsp_statusstruct snd_hwdep_dsp_imagestruct snd_pcm_infostruct snd_intervalstruct snd_maskstruct snd_pcm_hw_paramsstruct snd_pcm_sw_paramsstruct snd_pcm_channel_infostruct snd_pcm_statusstruct __snd_timespecstruct __snd_timespec64struct __snd_pcm_mmap_statusstruct __snd_pcm_mmap_controlstruct __snd_pcm_sync_ptrstruct __snd_pcm_mmap_status64struct __snd_pcm_mmap_control64struct __snd_pcm_sync_ptr64struct snd_xferistruct snd_xfernstruct snd_rawmidi_infostruct snd_rawmidi_framing_tstampstruct snd_rawmidi_paramsstruct snd_rawmidi_statusstruct snd_ump_endpoint_infostruct snd_ump_block_infostruct snd_timer_idstruct snd_timer_ginfostruct snd_timer_gparamsstruct snd_timer_gstatusstruct snd_timer_selectstruct snd_timer_infostruct snd_timer_paramsstruct snd_timer_statusstruct snd_timer_uinfostruct snd_timer_readstruct snd_timer_treadstruct snd_ctl_card_infostruct snd_ctl_elem_idstruct snd_ctl_elem_liststruct snd_ctl_elem_infostruct snd_ctl_elem_valuestruct snd_ctl_tlvstruct snd_ctl_eventenum sndrv_ctl_event_type
Annotated Snippet
struct snd_aes_iec958 {
unsigned char status[AES_IEC958_STATUS_SIZE]; /* AES/IEC958 channel status bits */
unsigned char subcode[147]; /* AES/IEC958 subcode bits */
unsigned char pad; /* nothing */
unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
};
/****************************************************************************
* *
* CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
* *
****************************************************************************/
struct snd_cea_861_aud_if {
unsigned char db1_ct_cc; /* coding type and channel count */
unsigned char db2_sf_ss; /* sample frequency and size */
unsigned char db3; /* not used, all zeros */
unsigned char db4_ca; /* channel allocation code */
unsigned char db5_dminh_lsv; /* downmix inhibit & level-shift values */
};
/****************************************************************************
* *
* Section for driver hardware dependent interface - /dev/snd/hw? *
* *
****************************************************************************/
#define SNDRV_HWDEP_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1)
enum {
SNDRV_HWDEP_IFACE_OPL2 = 0,
SNDRV_HWDEP_IFACE_OPL3,
SNDRV_HWDEP_IFACE_OPL4,
SNDRV_HWDEP_IFACE_SB16CSP, /* Creative Signal Processor */
SNDRV_HWDEP_IFACE_EMU10K1, /* FX8010 processor in EMU10K1 chip */
SNDRV_HWDEP_IFACE_YSS225, /* Yamaha FX processor */
SNDRV_HWDEP_IFACE_ICS2115, /* Wavetable synth */
SNDRV_HWDEP_IFACE_SSCAPE, /* Ensoniq SoundScape ISA card (MC68EC000) */
SNDRV_HWDEP_IFACE_VX, /* Digigram VX cards */
SNDRV_HWDEP_IFACE_MIXART, /* Digigram miXart cards */
SNDRV_HWDEP_IFACE_USX2Y, /* Tascam US122, US224 & US428 usb */
SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, /* EmuX wavetable */
SNDRV_HWDEP_IFACE_BLUETOOTH, /* Bluetooth audio */
SNDRV_HWDEP_IFACE_USX2Y_PCM, /* Tascam US122, US224 & US428 rawusb pcm */
SNDRV_HWDEP_IFACE_PCXHR, /* Digigram PCXHR */
SNDRV_HWDEP_IFACE_SB_RC, /* SB Extigy/Audigy2NX remote control */
SNDRV_HWDEP_IFACE_HDA, /* HD-audio */
SNDRV_HWDEP_IFACE_USB_STREAM, /* direct access to usb stream */
SNDRV_HWDEP_IFACE_FW_DICE, /* TC DICE FireWire device */
SNDRV_HWDEP_IFACE_FW_FIREWORKS, /* Echo Audio Fireworks based device */
SNDRV_HWDEP_IFACE_FW_BEBOB, /* BridgeCo BeBoB based device */
SNDRV_HWDEP_IFACE_FW_OXFW, /* Oxford OXFW970/971 based device */
SNDRV_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */
SNDRV_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */
SNDRV_HWDEP_IFACE_LINE6, /* Line6 USB processors */
SNDRV_HWDEP_IFACE_FW_MOTU, /* MOTU FireWire series */
SNDRV_HWDEP_IFACE_FW_FIREFACE, /* RME Fireface series */
/* Don't forget to change the following: */
SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_FW_FIREFACE
};
struct snd_hwdep_info {
unsigned int device; /* WR: device number */
int card; /* R: card number */
unsigned char id[64]; /* ID (user selectable) */
unsigned char name[80]; /* hwdep name */
int iface; /* hwdep interface */
unsigned char reserved[64]; /* reserved for future */
};
/* generic DSP loader */
struct snd_hwdep_dsp_status {
unsigned int version; /* R: driver-specific version */
unsigned char id[32]; /* R: driver-specific ID string */
unsigned int num_dsps; /* R: number of DSP images to transfer */
unsigned int dsp_loaded; /* R: bit flags indicating the loaded DSPs */
unsigned int chip_ready; /* R: 1 = initialization finished */
unsigned char reserved[16]; /* reserved for future use */
};
struct snd_hwdep_dsp_image {
unsigned int index; /* W: DSP index */
unsigned char name[64]; /* W: ID (e.g. file name) */
unsigned char __user *image; /* W: binary image */
size_t length; /* W: size of image in bytes */
unsigned long driver_data; /* W: driver-specific data */
};
#define SNDRV_HWDEP_IOCTL_PVERSION _IOR ('H', 0x00, int)
Annotation
- Immediate include surface: `linux/types.h`, `asm/byteorder.h`, `endian.h`, `sys/ioctl.h`, `stdlib.h`, `time.h`.
- Detected declarations: `struct snd_aes_iec958`, `struct snd_cea_861_aud_if`, `struct snd_hwdep_info`, `struct snd_hwdep_dsp_status`, `struct snd_hwdep_dsp_image`, `struct snd_pcm_info`, `struct snd_interval`, `struct snd_mask`, `struct snd_pcm_hw_params`, `struct snd_pcm_sw_params`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.