# The ALSA Driver API

This document is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

## Management of Cards and Devices

### Card Management

!Esound/core/init.c

### Device Components

!Esound/core/device.c

### Module requests and Device File Entries

!Esound/core/sound.c

### Memory Management Helpers

!Esound/core/memory.c !Esound/core/memalloc.c

## PCM API

### PCM Core

!Esound/core/pcm.c !Esound/core/pcm_lib.c !Esound/core/pcm_native.c !Iinclude/sound/pcm.h

### PCM Format Helpers

!Esound/core/pcm_misc.c

### PCM Memory Management

!Esound/core/pcm_memory.c

### PCM DMA Engine API

!Esound/core/pcm_dmaengine.c !Iinclude/sound/dmaengine_pcm.h

## Control/Mixer API

### General Control Interface

!Esound/core/control.c

### AC97 Codec API

!Esound/pci/ac97/ac97_codec.c !Esound/pci/ac97/ac97_pcm.c

### Virtual Master Control API

!Esound/core/vmaster.c !Iinclude/sound/control.h

## MIDI API

### Raw MIDI API

!Esound/core/rawmidi.c

### MPU401-UART API

!Esound/drivers/mpu401/mpu401_uart.c

## Proc Info API

### Proc Info Interface

!Esound/core/info.c

## Compress Offload

### Compress Offload API

!Esound/core/compress_offload.c !Iinclude/uapi/sound/compress_offload.h !Iinclude/uapi/sound/compress_params.h !Iinclude/sound/compress_driver.h

## ASoC

### ASoC Core API

!Iinclude/sound/soc.h !Esound/soc/soc-core.c !Esound/soc/soc-devres.c !Esound/soc/soc-io.c !Esound/soc/soc-pcm.c

### ASoC DAPM API

!Esound/soc/soc-dapm.c

### ASoC DMA Engine API

!Esound/soc/soc-generic-dmaengine-pcm.c

## Miscellaneous Functions

### Hardware-Dependent Devices API

!Esound/core/hwdep.c

### Jack Abstraction Layer API

!Iinclude/sound/jack.h !Esound/core/jack.c !Esound/soc/soc-jack.c

### ISA DMA Helpers

!Esound/core/isadma.c

### Other Helper Macros

!Iinclude/sound/core.h