ALSA project - the C library reference
Enumerations | Functions
pcm_hw.c File Reference

PCM HW Plugin Interface. More...

Enumerations

enum  {
  SND_SEQ_EVFLG_RESULT, SND_SEQ_EVFLG_NOTE, SND_SEQ_EVFLG_CONTROL, SND_SEQ_EVFLG_QUEUE,
  SND_SEQ_EVFLG_SYSTEM, SND_SEQ_EVFLG_MESSAGE, SND_SEQ_EVFLG_CONNECTION, SND_SEQ_EVFLG_SAMPLE,
  SND_SEQ_EVFLG_USERS, SND_SEQ_EVFLG_INSTR, SND_SEQ_EVFLG_QUOTE, SND_SEQ_EVFLG_NONE,
  SND_SEQ_EVFLG_RAW, SND_SEQ_EVFLG_FIXED, SND_SEQ_EVFLG_VARIABLE, SND_SEQ_EVFLG_VARUSR,
  SND_PCM_EXTPLUG_HW_FORMAT, SND_PCM_EXTPLUG_HW_CHANNELS, SND_PCM_EXTPLUG_HW_PARAMS, SND_PCM_IOPLUG_HW_ACCESS = 0,
  SND_PCM_IOPLUG_HW_FORMAT, SND_PCM_IOPLUG_HW_CHANNELS, SND_PCM_IOPLUG_HW_RATE, SND_PCM_IOPLUG_HW_PERIOD_BYTES,
  SND_PCM_IOPLUG_HW_BUFFER_BYTES, SND_PCM_IOPLUG_HW_PERIODS, SND_PCM_IOPLUG_HW_PARAMS, CHMAP_CTL_QUERY,
  CHMAP_CTL_GET, CHMAP_CTL_SET, SNDRV_TIMER_IOCTL_START_OLD = _IO('T', 0x20), SNDRV_TIMER_IOCTL_STOP_OLD = _IO('T', 0x21),
  SNDRV_TIMER_IOCTL_CONTINUE_OLD = _IO('T', 0x22), SNDRV_TIMER_IOCTL_PAUSE_OLD = _IO('T', 0x23)
}
 

Functions

snd_pcm_chmap_query_t ** snd_pcm_query_chmaps_from_hw (int card, int dev, int subdev, snd_pcm_stream_t stream)
 
int snd_pcm_hw_open_fd (snd_pcm_t **pcmp, const char *name, int fd, int sync_ptr_ioctl)
 Creates a new hw PCM. More...
 
int snd_pcm_hw_open (snd_pcm_t **pcmp, const char *name, int card, int device, int subdevice, snd_pcm_stream_t stream, int mode, int mmap_emulation, int sync_ptr_ioctl)
 Creates a new hw PCM. More...
 
int _snd_pcm_hw_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new hw PCM. More...
 

Detailed Description

PCM HW Plugin Interface.

Author
Abramo Bagnara abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org
Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
Date
2000-2001

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SND_PCM_EXTPLUG_HW_FORMAT 

format

SND_PCM_EXTPLUG_HW_CHANNELS 

channels

SND_PCM_EXTPLUG_HW_PARAMS 

max number of hw constraints

SND_PCM_IOPLUG_HW_ACCESS 

access type

SND_PCM_IOPLUG_HW_FORMAT 

format

SND_PCM_IOPLUG_HW_CHANNELS 

channels

SND_PCM_IOPLUG_HW_RATE 

rate

SND_PCM_IOPLUG_HW_PERIOD_BYTES 

period bytes

SND_PCM_IOPLUG_HW_BUFFER_BYTES 

buffer bytes

SND_PCM_IOPLUG_HW_PERIODS 

number of periods

SND_PCM_IOPLUG_HW_PARAMS 

max number of hw constraints

Function Documentation

◆ _snd_pcm_hw_open()

int _snd_pcm_hw_open ( snd_pcm_t **  pcmp,
const char *  name,
snd_config_t root,
snd_config_t conf,
snd_pcm_stream_t  stream,
int  mode 
)

Creates a new hw PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with hw PCM description
streamPCM Stream
modePCM Mode
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_hw_open()

int snd_pcm_hw_open ( snd_pcm_t **  pcmp,
const char *  name,
int  card,
int  device,
int  subdevice,
snd_pcm_stream_t  stream,
int  mode,
int  mmap_emulation,
int  sync_ptr_ioctl 
)

Creates a new hw PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
cardNumber of card
deviceNumber of device
subdeviceNumber of subdevice
streamPCM Stream
modePCM Mode
mmap_emulationObsoleted parameter
sync_ptr_ioctlUse SYNC_PTR ioctl rather than mmap for control structures
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_hw_open_fd()

int snd_pcm_hw_open_fd ( snd_pcm_t **  pcmp,
const char *  name,
int  fd,
int  sync_ptr_ioctl 
)

Creates a new hw PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
fdFile descriptor
sync_ptr_ioctlBoolean flag for sync_ptr ioctl
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.