Some structures have pointers on private data and values. These variables aren't used with abstract layers and use is intended for low-level code.
snd_card_t -> private_data snd_card_t -> private_free (called from snd_card_free if not NULL)
struct snd_stru_pcm_hardware -> private_data struct snd_stru_pcm_hardware -> private_free (called from snd_pcm_free if not NULL) snd_pcm_t -> private_data snd_pcm_t -> private_free (called from snd_pcm_free if not NULL)
struct snd_stru_mixer_channel_hw -> private_value snd_kmixer_channel_t -> private_data snd_kmixer_channel_t -> private_free (called from snd_mixer_free if not NULL) snd_kmixer_t -> private_value snd_kmixer_t -> private_data snd_kmixer_t -> private_free (called from snd_mixer_free if not NULL)