Create a PCM audio device
#include <audio_driver.h>
int32_t ado_pcm_create (
    ado_card_t *card,
    char *name,
    uint32_t flags,
    char *id,
    uint32_t play_subchns,
    ado_pcm_cap_t *play_cap,
    ado_pcm_hw_t *play_hw,
    uint32_t cap_subchns,
    ado_pcm_cap_t *cap_cap,
    ado_pcm_hw_t *cap_hw,
    ado_pcm_t **rpcm );
- card
 
- The card argument that io-audio passed to your
  Audio HW DLL's
  ctrl_init()
  function (see the Organization of a Driver chapter).
 
- name
 
- The name of the new device.
  This is usually a variation of the card name, and is
  used only for information display by client applications.
 
- flags
 
- Capability flags for the device; one of
  the SND_PCM_INFO_* flags defined in asound.h.
  For more information, see
  snd_pcm_info()
  in the QNX Audio Developer's Guide.
  | 
These flags are used to identify device capabilities only. | 
 
 
- id
 
- The name of the new device.
 
- play_subchns
 
- The maximum number of simultaneous playback subchannels
that the new device can support.
 
- play_cap
 
- A pointer to a static
  ado_pcm_cap_t
  structure that describes the static capabilities of the playback portion
  of the device.
  These are the capabilities that the first subchannel opened could use.
  As more subchannels are opened, the device capabilities may decrease and
  become unavailable.
 
- play_hw
 
- A pointer to a
  ado_pcm_hw_t
  structure that specifies all of the callbacks for the playback portion
  of the PCM device.
  The io-audio manager invokes these callbacks when something
  needs to be done with respect to the PCM device.
 
- cap_subchns
 
- The maximum number of simultaneous capture subchannels that the new
  device can support.
 
- cap_cap
 
- A pointer to a static
  ado_pcm_cap_t
  structure that describes the static capabilities of the capture portion
  of the device.
  These are the capabilities that the first subchannel opened could use.
  As more subchannels are opened, the device capabilities may decrease and
  become unavailable.
 
- cap_hw
 
- A pointer to a
  ado_pcm_hw_t
  structure that specifies all of the callbacks for the capture portion
  of the PCM device.
  The io-audio manager invokes these callbacks when something
  needs to be done with respect to the PCM device.
 
- rpcm
 
- A pointer to a memory location where ado_pcm_create() can
  store a pointer to the new PCM device.
  You'll need this address for additional API calls.
 
The ado_pcm_create() function creates a PCM audio device and
attaches it to the given card.
Zero on success, or -1 on failure
(errno
is set).
- ENOMEM
 
- Memory couldn't be allocated to hold the device structures.
 
- EINVAL
 
- One or more of the function's arguments are invalid.
 
QNX Neutrino
| Safety: |  | 
| Cancellation point | 
    No | 
| Interrupt handler | 
    No | 
| Signal handler | 
    No | 
| Thread | 
    No | 
ado_pcm_cap_t,
ado_pcm_hw_t
ctrl_init()
in the Organization of a Driver chapter,
Handling PCM Audio Data
chapter
snd_pcm_info()
in the QNX Audio Developer's Guide