The Advanced Linux Sound Architecture (ALSA) comes with a kernel API & library API. This document describes the library API and how it interfaces with the kernel API.
Application programmers should use the library API rather than kernel API. The Library offers 100% of the functionally of the kernel API, but add major improvements in usability, making the application code simpler and better looking. In addition, some of the some fixes/compatibility code may be placed in the library code instead of the kernel driver.
For a complete list of all variables and functions in the API you should look at the following header files:
/usr/include/sys/asoundlib.h
/usr/include/linux/asound.h
/usr/include/linux/asequencer.h
/usr/include/linux/asoundid.h