Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
snd_ctl_callbacks_t
Control callback functions
Synopsis:
typedef struct snd_ctl_callbacks {
void *private_data; /* should be used by an application */
void (*rebuild) (void *private_data);
void (*xswitch) (void *private_data, int cmd,
int iface, snd_switch_list_item_t *item);
void *reserved[29]; /* reserved for the future use - must be NULL!!! */
} snd_ctl_callbacks_t;
Description:
Use the snd_ctl_callbacks_t structure to define the callback functions that you need to handle control events. Pass a pointer to an instance of this structure to snd_ctl_read().
The members of the snd_ctl_callbacks_t structure include:
- private_data, a pointer to arbitrary data that you want to pass to the callbacks
- pointers to the callbacks, which are described below.
![]() |
Make sure that you zero-fill any members that you aren't interested in. You can zero-fill the entire snd_ctl_callbacks_t structure if you aren't interested in tracking any of these events. |
rebuild callback
The rebuild callback is called whenever the control device is rebuilt. Its only argument is the private_data that you specified in this structure.
xswitch callback
The xswitch callback is called whenever a switch changes. Its arguments are:
- private_data
- A pointer to the arbitrary data that you specified in this structure.
- cmd
- One of:
- SND_CTL_READ_SWITCH_VALUE
- SND_CTL_READ_SWITCH_CHANGE
- SND_CTL_READ_SWITCH_ADD
- SND_CTL_READ_SWITCH_REMOVE
- iface
- The device interface the switch is natively associated with.
The possible values are (from <sys/asound.h>):
- SND_CTL_IFACE_CONTROL
- SND_CTL_IFACE_MIXER
- SND_CTL_IFACE_PCM_PLAYBACK
- SND_CTL_IFACE_PCM_CAPTURE
- item
- A pointer to a snd_switch_list_item_t structure that identifies the specific switch that's been changed. This structure has only a name member.
Classification:
QNX Neutrino
See also:
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
