Get information about a PCM channel's current capabilities
Synopsis:
#include <sys/asoundlib.h>
int snd_pcm_channel_info(
       snd_pcm_t *handle, 
       snd_pcm_channel_info_t *info );
Arguments:
- handle
- The handle for the PCM device, which you must have opened by calling
  snd_pcm_open_name(),
  snd_pcm_open(),
  or
  snd_pcm_open_preferred().
- info
- A pointer to a
  snd_pcm_channel_info_t
  structure that snd_pcm_channel_info() fills with information
  about the PCM channel.
  
  Before calling this function, set the info structure's
  channel member to specify the direction. 
  This function sets all the other members.
   
Library:
libasound.so
Use the -l asound option to
qcc
to link against this library.
Description:
The snd_pcm_channel_info() function 
fills the info structure with the current capabilities of
the PCM channel selected by handle.
Note: 
This function and the plugin-aware version,
snd_pcm_plugin_info(),
get a dynamic 
"snapshot" of the system's
current capabilities, which can shrink and grow as subchannels are allocated and freed.
They're similar to
snd_ctl_pcm_channel_info(),
which gets information about the 
complete capabilities of the system.
 
Returns:
EOK on success, a negative errno upon failure. The
errno values are available in the errno.h
file.
Errors:
Additional information for common error values:
- -EINVAL
- The state of handle is
invalid, an invalid params was provided as
input, or an invalid state change occurred. You can call 
snd_pcm_channel_status() to check if the state
change was invalid and if you want to recover from the error.
Classification:
QNX Neutrino
| Safety: |  | 
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | Yes | 
| Thread | Read the Caveats | 
Caveats:
This function is not thread safe if handle (snd_pcm_t)
is used across multiple threads.