Timer Interface


Data Structures

struct  _snd_timer_read
struct  _snd_timer_tread

Defines

#define SND_TIMER_DLSYM_VERSION   _dlsym_timer_001
#define SND_TIMER_QUERY_DLSYM_VERSION   _dlsym_timer_query_001
#define SND_TIMER_GLOBAL_SYSTEM   0
#define SND_TIMER_GLOBAL_RTC   1
#define SND_TIMER_GLOBAL_HPET   2
#define SND_TIMER_OPEN_NONBLOCK   (1<<0)
#define SND_TIMER_OPEN_TREAD   (1<<1)
#define snd_timer_id_alloca(ptr)   do { assert(ptr); *ptr = (snd_timer_id_t *) alloca(snd_timer_id_sizeof()); memset(*ptr, 0, snd_timer_id_sizeof()); } while (0)
#define snd_timer_ginfo_alloca(ptr)   do { assert(ptr); *ptr = (snd_timer_ginfo_t *) alloca(snd_timer_ginfo_sizeof()); memset(*ptr, 0, snd_timer_ginfo_sizeof()); } while (0)
#define snd_timer_info_alloca(ptr)   do { assert(ptr); *ptr = (snd_timer_info_t *) alloca(snd_timer_info_sizeof()); memset(*ptr, 0, snd_timer_info_sizeof()); } while (0)
#define snd_timer_params_alloca(ptr)   do { assert(ptr); *ptr = (snd_timer_params_t *) alloca(snd_timer_params_sizeof()); memset(*ptr, 0, snd_timer_params_sizeof()); } while (0)
#define snd_timer_status_alloca(ptr)   do { assert(ptr); *ptr = (snd_timer_status_t *) alloca(snd_timer_status_sizeof()); memset(*ptr, 0, snd_timer_status_sizeof()); } while (0)

Typedefs

typedef _snd_timer_id snd_timer_id_t
typedef _snd_timer_ginfo snd_timer_ginfo_t
typedef _snd_timer_gparams snd_timer_gparams_t
typedef _snd_timer_gstatus snd_timer_gstatus_t
typedef _snd_timer_info snd_timer_info_t
typedef _snd_timer_params snd_timer_params_t
typedef _snd_timer_status snd_timer_status_t
typedef enum _snd_timer_class snd_timer_class_t
typedef enum _snd_timer_slave_class snd_timer_slave_class_t
typedef enum _snd_timer_event snd_timer_event_t
typedef _snd_timer_read snd_timer_read_t
typedef _snd_timer_tread snd_timer_tread_t
typedef enum _snd_timer_type snd_timer_type_t
typedef _snd_timer_query snd_timer_query_t
typedef _snd_timer snd_timer_t

Enumerations

enum  _snd_timer_class {
  SND_TIMER_CLASS_NONE = -1, SND_TIMER_CLASS_SLAVE = 0, SND_TIMER_CLASS_GLOBAL, SND_TIMER_CLASS_CARD,
  SND_TIMER_CLASS_PCM, SND_TIMER_CLASS_LAST = SND_TIMER_CLASS_PCM
}
enum  _snd_timer_slave_class {
  SND_TIMER_SCLASS_NONE = 0, SND_TIMER_SCLASS_APPLICATION, SND_TIMER_SCLASS_SEQUENCER, SND_TIMER_SCLASS_OSS_SEQUENCER,
  SND_TIMER_SCLASS_LAST = SND_TIMER_SCLASS_OSS_SEQUENCER
}
enum  _snd_timer_event {
  SND_TIMER_EVENT_RESOLUTION = 0, SND_TIMER_EVENT_TICK, SND_TIMER_EVENT_START, SND_TIMER_EVENT_STOP,
  SND_TIMER_EVENT_CONTINUE, SND_TIMER_EVENT_PAUSE, SND_TIMER_EVENT_EARLY, SND_TIMER_EVENT_SUSPEND,
  SND_TIMER_EVENT_RESUME, SND_TIMER_EVENT_MSTART = SND_TIMER_EVENT_START + 10, SND_TIMER_EVENT_MSTOP = SND_TIMER_EVENT_STOP + 10, SND_TIMER_EVENT_MCONTINUE = SND_TIMER_EVENT_CONTINUE + 10,
  SND_TIMER_EVENT_MPAUSE = SND_TIMER_EVENT_PAUSE + 10, SND_TIMER_EVENT_MSUSPEND = SND_TIMER_EVENT_SUSPEND + 10, SND_TIMER_EVENT_MRESUME = SND_TIMER_EVENT_RESUME + 10
}
enum  _snd_timer_type { SND_TIMER_TYPE_HW = 0, SND_TIMER_TYPE_SHM, SND_TIMER_TYPE_INET }

Functions

int snd_timer_query_open (snd_timer_query_t **handle, const char *name, int mode)
 Opens a new connection to the timer query interface.
int snd_timer_query_open_lconf (snd_timer_query_t **handle, const char *name, int mode, snd_config_t *lconf)
 Opens a new connection to the timer query interface using local configuration.
int snd_timer_query_close (snd_timer_query_t *handle)
 close timer query handle
int snd_timer_query_next_device (snd_timer_query_t *handle, snd_timer_id_t *tid)
 obtain the next timer identification
int snd_timer_query_info (snd_timer_query_t *handle, snd_timer_ginfo_t *info)
 obtain the timer global information
int snd_timer_query_params (snd_timer_query_t *handle, snd_timer_gparams_t *params)
 set the timer global parameters
int snd_timer_query_status (snd_timer_query_t *handle, snd_timer_gstatus_t *status)
 get the timer global status
int snd_timer_open (snd_timer_t **handle, const char *name, int mode)
 Opens a new connection to the timer interface.
int snd_timer_open_lconf (snd_timer_t **handle, const char *name, int mode, snd_config_t *lconf)
 Opens a new connection to the timer interface using local configuration.
int snd_timer_close (snd_timer_t *handle)
 close timer handle
int snd_async_add_timer_handler (snd_async_handler_t **handler, snd_timer_t *timer, snd_async_callback_t callback, void *private_data)
 Add an async handler for a timer.
snd_timer_tsnd_async_handler_get_timer (snd_async_handler_t *handler)
 Return timer handle related to an async handler.
int snd_timer_poll_descriptors_count (snd_timer_t *handle)
 get count of poll descriptors for timer handle
int snd_timer_poll_descriptors (snd_timer_t *handle, struct pollfd *pfds, unsigned int space)
 get poll descriptors
int snd_timer_poll_descriptors_revents (snd_timer_t *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors
int snd_timer_info (snd_timer_t *handle, snd_timer_info_t *timer)
 get information about timer handle
int snd_timer_params (snd_timer_t *handle, snd_timer_params_t *params)
 set parameters for timer handle
int snd_timer_status (snd_timer_t *handle, snd_timer_status_t *status)
 get status from timer handle
int snd_timer_start (snd_timer_t *handle)
 start the timer
int snd_timer_stop (snd_timer_t *handle)
 stop the timer
int snd_timer_continue (snd_timer_t *handle)
 continue the timer
ssize_t snd_timer_read (snd_timer_t *handle, void *buffer, size_t size)
 read bytes using timer handle
size_t snd_timer_id_sizeof (void)
 get size of the snd_timer_id_t structure in bytes
int snd_timer_id_malloc (snd_timer_id_t **ptr)
 allocate a new snd_timer_id_t structure
void snd_timer_id_free (snd_timer_id_t *obj)
 frees the snd_timer_id_t structure
void snd_timer_id_copy (snd_timer_id_t *dst, const snd_timer_id_t *src)
 copy one snd_timer_id_t structure to another
void snd_timer_id_set_class (snd_timer_id_t *id, int dev_class)
 set timer class
int snd_timer_id_get_class (snd_timer_id_t *id)
 get timer class
void snd_timer_id_set_sclass (snd_timer_id_t *id, int dev_sclass)
 set timer sub-class
int snd_timer_id_get_sclass (snd_timer_id_t *id)
 get timer sub-class
void snd_timer_id_set_card (snd_timer_id_t *id, int card)
 set timer card
int snd_timer_id_get_card (snd_timer_id_t *id)
 get timer card
void snd_timer_id_set_device (snd_timer_id_t *id, int device)
 set timer device
int snd_timer_id_get_device (snd_timer_id_t *id)
 get timer device
void snd_timer_id_set_subdevice (snd_timer_id_t *id, int subdevice)
 set timer subdevice
int snd_timer_id_get_subdevice (snd_timer_id_t *id)
 get timer subdevice
size_t snd_timer_ginfo_sizeof (void)
 get size of the snd_timer_ginfo_t structure in bytes
int snd_timer_ginfo_malloc (snd_timer_ginfo_t **ptr)
 allocate a new snd_timer_ginfo_t structure
void snd_timer_ginfo_free (snd_timer_ginfo_t *obj)
 frees the snd_timer_ginfo_t structure
void snd_timer_ginfo_copy (snd_timer_ginfo_t *dst, const snd_timer_ginfo_t *src)
 copy one snd_timer_info_t structure to another
int snd_timer_ginfo_set_tid (snd_timer_ginfo_t *obj, snd_timer_id_t *tid)
 set timer identification
snd_timer_id_tsnd_timer_ginfo_get_tid (snd_timer_ginfo_t *obj)
 get timer identification
unsigned int snd_timer_ginfo_get_flags (snd_timer_ginfo_t *obj)
 get timer flags
int snd_timer_ginfo_get_card (snd_timer_ginfo_t *obj)
 get associated card with timer
char * snd_timer_ginfo_get_id (snd_timer_ginfo_t *obj)
 get timer identification
char * snd_timer_ginfo_get_name (snd_timer_ginfo_t *obj)
 get timer name
unsigned long snd_timer_ginfo_get_resolution (snd_timer_ginfo_t *obj)
 get timer resolution in ns
unsigned long snd_timer_ginfo_get_resolution_min (snd_timer_ginfo_t *obj)
 get timer minimal resolution in ns
unsigned long snd_timer_ginfo_get_resolution_max (snd_timer_ginfo_t *obj)
 get timer maximal resolution in ns
unsigned int snd_timer_ginfo_get_clients (snd_timer_ginfo_t *obj)
 get current timer clients
size_t snd_timer_info_sizeof (void)
 get size of the snd_timer_info_t structure in bytes
int snd_timer_info_malloc (snd_timer_info_t **ptr)
 allocate a new snd_timer_info_t structure
void snd_timer_info_free (snd_timer_info_t *obj)
 frees the snd_timer_info_t structure
void snd_timer_info_copy (snd_timer_info_t *dst, const snd_timer_info_t *src)
 copy one snd_timer_info_t structure to another
int snd_timer_info_is_slave (snd_timer_info_t *info)
 determine, if timer is slave
int snd_timer_info_get_card (snd_timer_info_t *info)
 get timer card
const char * snd_timer_info_get_id (snd_timer_info_t *info)
 get timer id
const char * snd_timer_info_get_name (snd_timer_info_t *info)
 get timer name
long snd_timer_info_get_resolution (snd_timer_info_t *info)
 get timer resolution in us
size_t snd_timer_params_sizeof (void)
 get size of the snd_timer_params_t structure in bytes
int snd_timer_params_malloc (snd_timer_params_t **ptr)
 allocate a new snd_timer_params_t structure
void snd_timer_params_free (snd_timer_params_t *obj)
 frees the snd_timer_params_t structure
void snd_timer_params_copy (snd_timer_params_t *dst, const snd_timer_params_t *src)
 copy one snd_timer_params_t structure to another
int snd_timer_params_set_auto_start (snd_timer_params_t *params, int auto_start)
 set timer auto start
int snd_timer_params_get_auto_start (snd_timer_params_t *params)
 determine if timer has auto start flag
int snd_timer_params_set_exclusive (snd_timer_params_t *params, int exclusive)
 set timer exclusive use
int snd_timer_params_get_exclusive (snd_timer_params_t *params)
 determine if timer has exclusive flag
int snd_timer_params_set_early_event (snd_timer_params_t *params, int early_event)
 set timer early event
int snd_timer_params_get_early_event (snd_timer_params_t *params)
 determine if timer has early event flag
void snd_timer_params_set_ticks (snd_timer_params_t *params, long ticks)
 set timer ticks
long snd_timer_params_get_ticks (snd_timer_params_t *params)
 get timer ticks
void snd_timer_params_set_queue_size (snd_timer_params_t *params, long queue_size)
 set timer queue size (32-1024)
long snd_timer_params_get_queue_size (snd_timer_params_t *params)
 get queue size
void snd_timer_params_set_filter (snd_timer_params_t *params, unsigned int filter)
 set timer event filter
unsigned int snd_timer_params_get_filter (snd_timer_params_t *params)
 get timer event filter
size_t snd_timer_status_sizeof (void)
 get size of the snd_timer_status_t structure in bytes
int snd_timer_status_malloc (snd_timer_status_t **ptr)
 allocate a new snd_timer_status_t structure
void snd_timer_status_free (snd_timer_status_t *obj)
 frees the snd_timer_status_t structure
void snd_timer_status_copy (snd_timer_status_t *dst, const snd_timer_status_t *src)
 copy one snd_timer_status_t structure to another
snd_htimestamp_t snd_timer_status_get_timestamp (snd_timer_status_t *status)
 get timestamp
long snd_timer_status_get_resolution (snd_timer_status_t *status)
 get resolution in us
long snd_timer_status_get_lost (snd_timer_status_t *status)
 get master tick lost count
long snd_timer_status_get_overrun (snd_timer_status_t *status)
 get overrun count
long snd_timer_status_get_queue (snd_timer_status_t *status)
 get count of used queue elements
long snd_timer_info_get_ticks (snd_timer_info_t *info)
 (DEPRECATED) get maximum timer ticks

Detailed Description

Timer Interface. See Timer interface page for more details.

Define Documentation

#define SND_TIMER_DLSYM_VERSION   _dlsym_timer_001

dlsym version for interface entry callback

#define snd_timer_ginfo_alloca ( ptr   )     do { assert(ptr); *ptr = (snd_timer_ginfo_t *) alloca(snd_timer_ginfo_sizeof()); memset(*ptr, 0, snd_timer_ginfo_sizeof()); } while (0)

allocate snd_timer_ginfo_t container on stack

#define SND_TIMER_GLOBAL_HPET   2

global timer - HPET

#define SND_TIMER_GLOBAL_RTC   1

global timer - RTC

#define SND_TIMER_GLOBAL_SYSTEM   0

global timer - system

Examples:
/test/timer.c.

#define snd_timer_id_alloca ( ptr   )     do { assert(ptr); *ptr = (snd_timer_id_t *) alloca(snd_timer_id_sizeof()); memset(*ptr, 0, snd_timer_id_sizeof()); } while (0)

allocate snd_timer_id_t container on stack

Examples:
/test/timer.c.

#define snd_timer_info_alloca ( ptr   )     do { assert(ptr); *ptr = (snd_timer_info_t *) alloca(snd_timer_info_sizeof()); memset(*ptr, 0, snd_timer_info_sizeof()); } while (0)

allocate snd_timer_info_t container on stack

Examples:
/test/timer.c.

#define SND_TIMER_OPEN_NONBLOCK   (1<<0)

timer open mode flag - non-blocking behaviour

Examples:
/test/timer.c.

#define SND_TIMER_OPEN_TREAD   (1<<1)

use timestamps and event notification - enhanced read

#define snd_timer_params_alloca ( ptr   )     do { assert(ptr); *ptr = (snd_timer_params_t *) alloca(snd_timer_params_sizeof()); memset(*ptr, 0, snd_timer_params_sizeof()); } while (0)

allocate snd_timer_params_t container on stack

Examples:
/test/timer.c.

#define SND_TIMER_QUERY_DLSYM_VERSION   _dlsym_timer_query_001

dlsym version for interface entry callback

#define snd_timer_status_alloca ( ptr   )     do { assert(ptr); *ptr = (snd_timer_status_t *) alloca(snd_timer_status_sizeof()); memset(*ptr, 0, snd_timer_status_sizeof()); } while (0)

allocate snd_timer_status_t container on stack

Examples:
/test/timer.c.


Typedef Documentation

typedef enum _snd_timer_class snd_timer_class_t

timer master class

typedef enum _snd_timer_event snd_timer_event_t

timer read event identification

typedef struct _snd_timer_ginfo snd_timer_ginfo_t

timer global info structure

typedef struct _snd_timer_gparams snd_timer_gparams_t

timer global params structure

typedef struct _snd_timer_gstatus snd_timer_gstatus_t

timer global status structure

typedef struct _snd_timer_id snd_timer_id_t

timer identification structure

Examples:
/test/timer.c.

typedef struct _snd_timer_info snd_timer_info_t

timer info structure

Examples:
/test/timer.c.

typedef struct _snd_timer_params snd_timer_params_t

timer params structure

Examples:
/test/timer.c.

typedef struct _snd_timer_query snd_timer_query_t

timer query handle

Examples:
/test/timer.c.

typedef struct _snd_timer_read snd_timer_read_t

timer read structure

typedef enum _snd_timer_slave_class snd_timer_slave_class_t

timer slave class

typedef struct _snd_timer_status snd_timer_status_t

timer status structure

Examples:
/test/timer.c.

typedef struct _snd_timer snd_timer_t

timer handle

Examples:
/test/timer.c.

typedef struct _snd_timer_tread snd_timer_tread_t

timer tstamp + event read structure

typedef enum _snd_timer_type snd_timer_type_t

timer handle type


Enumeration Type Documentation

enum _snd_timer_class

timer master class

Enumerator:
SND_TIMER_CLASS_NONE  invalid
SND_TIMER_CLASS_SLAVE  slave timer
SND_TIMER_CLASS_GLOBAL  global timer
SND_TIMER_CLASS_CARD  card timer
SND_TIMER_CLASS_PCM  PCM timer
SND_TIMER_CLASS_LAST  last timer

enum _snd_timer_event

timer read event identification

enum _snd_timer_slave_class

timer slave class

Enumerator:
SND_TIMER_SCLASS_NONE  none
SND_TIMER_SCLASS_APPLICATION  for internal use
SND_TIMER_SCLASS_SEQUENCER  sequencer timer
SND_TIMER_SCLASS_OSS_SEQUENCER  OSS sequencer timer
SND_TIMER_SCLASS_LAST  last slave timer

enum _snd_timer_type

timer handle type

Enumerator:
SND_TIMER_TYPE_HW  Kernel level HwDep
SND_TIMER_TYPE_SHM  Shared memory client timer (not yet implemented)
SND_TIMER_TYPE_INET  INET client timer (not yet implemented)


Function Documentation

int snd_async_add_timer_handler ( snd_async_handler_t **  handler,
snd_timer_t timer,
snd_async_callback_t  callback,
void *  private_data 
)

Add an async handler for a timer.

Parameters:
handler Returned handler handle
timer timer handle
callback Callback function
private_data Callback private data
Returns:
0 otherwise a negative error code on failure
The asynchronous callback is called when new timer event occurs.
Examples:
/test/timer.c.

snd_timer_t* snd_async_handler_get_timer ( snd_async_handler_t handler  ) 

Return timer handle related to an async handler.

Parameters:
handler Async handler handle
Returns:
timer handle
Examples:
/test/timer.c.

int snd_timer_close ( snd_timer_t timer  ) 

close timer handle

Parameters:
timer timer handle
Returns:
0 on success otherwise a negative error code
Closes the specified timer handle and frees all associated resources.
Examples:
/test/timer.c.

int snd_timer_continue ( snd_timer_t timer  ) 

continue the timer

Parameters:
timer timer handle
Returns:
0 on success otherwise a negative error code

void snd_timer_ginfo_copy ( snd_timer_ginfo_t dst,
const snd_timer_ginfo_t src 
)

copy one snd_timer_info_t structure to another

Parameters:
dst destination snd_timer_info_t structure
src source snd_timer_info_t structure

void snd_timer_ginfo_free ( snd_timer_ginfo_t info  ) 

frees the snd_timer_ginfo_t structure

Parameters:
info pointer to the snd_timer_ginfo_t structure to free
Frees the given snd_timer_info_t structure using the standard free C library function.

int snd_timer_ginfo_get_card ( snd_timer_ginfo_t obj  ) 

get associated card with timer

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
associated card

unsigned int snd_timer_ginfo_get_clients ( snd_timer_ginfo_t obj  ) 

get current timer clients

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
current timer clients

unsigned int snd_timer_ginfo_get_flags ( snd_timer_ginfo_t obj  ) 

get timer flags

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer flags

char* snd_timer_ginfo_get_id ( snd_timer_ginfo_t obj  ) 

get timer identification

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer identification

char* snd_timer_ginfo_get_name ( snd_timer_ginfo_t obj  ) 

get timer name

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer name

unsigned long snd_timer_ginfo_get_resolution ( snd_timer_ginfo_t obj  ) 

get timer resolution in ns

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer resolution in ns

unsigned long snd_timer_ginfo_get_resolution_max ( snd_timer_ginfo_t obj  ) 

get timer maximal resolution in ns

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer maximal resolution in ns

unsigned long snd_timer_ginfo_get_resolution_min ( snd_timer_ginfo_t obj  ) 

get timer minimal resolution in ns

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
timer minimal resolution in ns

snd_timer_id_t* snd_timer_ginfo_get_tid ( snd_timer_ginfo_t obj  ) 

get timer identification

Parameters:
obj pointer to snd_timer_ginfo_t structure
Returns:
pointer to snd_timer_id_t

int snd_timer_ginfo_malloc ( snd_timer_ginfo_t **  info  ) 

allocate a new snd_timer_ginfo_t structure

Parameters:
info returned pointer
Returns:
0 on success otherwise a negative error code if fails
Allocates a new snd_timer_info_t structure using the standard malloc C library function.

int snd_timer_ginfo_set_tid ( snd_timer_ginfo_t obj,
snd_timer_id_t tid 
)

set timer identification

Parameters:
obj pointer to snd_timer_ginfo_t structure
tid pointer to snd_timer_id_t structure
Returns:
zero on success otherwise a negative error number

size_t snd_timer_ginfo_sizeof ( void   ) 

get size of the snd_timer_ginfo_t structure in bytes

Returns:
size of the snd_timer_ginfo_t structure in bytes

void snd_timer_id_copy ( snd_timer_id_t dst,
const snd_timer_id_t src 
)

copy one snd_timer_id_t structure to another

Parameters:
dst destination snd_timer_id_t structure
src source snd_timer_id_t structure

void snd_timer_id_free ( snd_timer_id_t info  ) 

frees the snd_timer_id_t structure

Parameters:
info pointer to the snd_timer_id_t structure to free
Frees the given snd_timer_id_t structure using the standard free C library function.

int snd_timer_id_get_card ( snd_timer_id_t tid  ) 

get timer card

Parameters:
tid pointer to snd_timer_id_t structure
Returns:
timer card number
Examples:
/test/timer.c.

int snd_timer_id_get_class ( snd_timer_id_t tid  ) 

get timer class

Parameters:
tid pointer to snd_timer_id_t structure
Returns:
timer class
Examples:
/test/timer.c.

int snd_timer_id_get_device ( snd_timer_id_t tid  ) 

get timer device

Parameters:
tid pointer to snd_timer_id_t structure
Returns:
timer device number
Examples:
/test/timer.c.

int snd_timer_id_get_sclass ( snd_timer_id_t tid  ) 

get timer sub-class

Parameters:
tid pointer to snd_timer_id_t structure
Returns:
timer sub-class
Examples:
/test/timer.c.

int snd_timer_id_get_subdevice ( snd_timer_id_t tid  ) 

get timer subdevice

Parameters:
tid pointer to snd_timer_id_t structure
Returns:
timer subdevice number
Examples:
/test/timer.c.

int snd_timer_id_malloc ( snd_timer_id_t **  info  ) 

allocate a new snd_timer_id_t structure

Parameters:
info returned pointer
Returns:
0 on success otherwise a negative error code if fails
Allocates a new snd_timer_id_t structure using the standard malloc C library function.

void snd_timer_id_set_card ( snd_timer_id_t tid,
int  card 
)

set timer card

Parameters:
tid pointer to snd_timer_id_t structure
card card number

void snd_timer_id_set_class ( snd_timer_id_t tid,
int  dev_class 
)

set timer class

Parameters:
tid pointer to snd_timer_id_t structure
dev_class class of timer device
Examples:
/test/timer.c.

void snd_timer_id_set_device ( snd_timer_id_t tid,
int  device 
)

set timer device

Parameters:
tid pointer to snd_timer_id_t structure
device device number

void snd_timer_id_set_sclass ( snd_timer_id_t tid,
int  dev_sclass 
)

set timer sub-class

Parameters:
tid pointer to snd_timer_id_t structure
dev_sclass sub-class of timer device

void snd_timer_id_set_subdevice ( snd_timer_id_t tid,
int  subdevice 
)

set timer subdevice

Parameters:
tid pointer to snd_timer_id_t structure
subdevice subdevice number

size_t snd_timer_id_sizeof ( void   ) 

get size of the snd_timer_id_t structure in bytes

Returns:
size of the snd_timer_id_t structure in bytes

int snd_timer_info ( snd_timer_t timer,
snd_timer_info_t info 
)

get information about timer handle

Parameters:
timer timer handle
info pointer to a snd_timer_info_t structure to be filled
Returns:
0 on success otherwise a negative error code
Examples:
/test/timer.c.

void snd_timer_info_copy ( snd_timer_info_t dst,
const snd_timer_info_t src 
)

copy one snd_timer_info_t structure to another

Parameters:
dst destination snd_timer_info_t structure
src source snd_timer_info_t structure

void snd_timer_info_free ( snd_timer_info_t info  ) 

frees the snd_timer_info_t structure

Parameters:
info pointer to the snd_timer_info_t structure to free
Frees the given snd_timer_info_t structure using the standard free C library function.

int snd_timer_info_get_card ( snd_timer_info_t info  ) 

get timer card

Parameters:
info pointer to snd_timer_info_t structure
Returns:
timer card number
Examples:
/test/timer.c.

const char* snd_timer_info_get_id ( snd_timer_info_t info  ) 

get timer id

Parameters:
info pointer to snd_timer_info_t structure
Returns:
timer id
Examples:
/test/timer.c.

const char* snd_timer_info_get_name ( snd_timer_info_t info  ) 

get timer name

Parameters:
info pointer to snd_timer_info_t structure
Returns:
timer name
Examples:
/test/timer.c.

long snd_timer_info_get_resolution ( snd_timer_info_t info  ) 

get timer resolution in us

Parameters:
info pointer to snd_timer_info_t structure
Returns:
timer resolution
Examples:
/test/timer.c.

long snd_timer_info_get_ticks ( snd_timer_info_t info  ) 

(DEPRECATED) get maximum timer ticks

Parameters:
info pointer to snd_timer_info_t structure
Returns:
maximum timer ticks

int snd_timer_info_is_slave ( snd_timer_info_t info  ) 

determine, if timer is slave

Parameters:
info pointer to snd_timer_info_t structure
Returns:
nonzero if timer is slave
Examples:
/test/timer.c.

int snd_timer_info_malloc ( snd_timer_info_t **  info  ) 

allocate a new snd_timer_info_t structure

Parameters:
info returned pointer
Returns:
0 on success otherwise a negative error code if fails
Allocates a new snd_timer_info_t structure using the standard malloc C library function.

size_t snd_timer_info_sizeof ( void   ) 

get size of the snd_timer_info_t structure in bytes

Returns:
size of the snd_timer_info_t structure in bytes

int snd_timer_open ( snd_timer_t **  timer,
const char *  name,
int  mode 
)

Opens a new connection to the timer interface.

Parameters:
timer Returned handle (NULL if not wanted)
name ASCII identifier of the timer handle
mode Open mode
Returns:
0 on success otherwise a negative error code
Opens a new connection to the timer interface specified with an ASCII identifier and mode.
Examples:
/test/timer.c.

int snd_timer_open_lconf ( snd_timer_t **  timer,
const char *  name,
int  mode,
snd_config_t lconf 
)

Opens a new connection to the timer interface using local configuration.

Parameters:
timer Returned handle (NULL if not wanted)
name ASCII identifier of the timer handle
mode Open mode
lconf Local configuration
Returns:
0 on success otherwise a negative error code
Opens a new connection to the timer interface specified with an ASCII identifier and mode.

int snd_timer_params ( snd_timer_t timer,
snd_timer_params_t params 
)

set parameters for timer handle

Parameters:
timer timer handle
params pointer to a snd_timer_params_t structure
Returns:
0 on success otherwise a negative error code
Examples:
/test/timer.c.

void snd_timer_params_copy ( snd_timer_params_t dst,
const snd_timer_params_t src 
)

copy one snd_timer_params_t structure to another

Parameters:
dst destination snd_timer_params_t structure
src source snd_timer_params_t structure

void snd_timer_params_free ( snd_timer_params_t params  ) 

frees the snd_timer_params_t structure

Parameters:
params pointer to the snd_timer_params_t structure to free
Frees the given snd_timer_params_t structure using the standard free C library function.

int snd_timer_params_get_auto_start ( snd_timer_params_t params  ) 

determine if timer has auto start flag

Parameters:
params pointer to snd_timer_params_t structure
Returns:
nonzero if timer has auto start flag

int snd_timer_params_get_early_event ( snd_timer_params_t params  ) 

determine if timer has early event flag

Parameters:
params pointer to snd_timer_params_t structure
Returns:
nonzero if timer has early event flag set

int snd_timer_params_get_exclusive ( snd_timer_params_t params  ) 

determine if timer has exclusive flag

Parameters:
params pointer to snd_timer_params_t structure
Returns:
nonzero if timer has exclusive flag

unsigned int snd_timer_params_get_filter ( snd_timer_params_t params  ) 

get timer event filter

Parameters:
params pointer to snd_timer_params_t structure
Returns:
timer event filter

long snd_timer_params_get_queue_size ( snd_timer_params_t params  ) 

get queue size

Parameters:
params pointer to snd_timer_params_t structure
Returns:
queue size

long snd_timer_params_get_ticks ( snd_timer_params_t params  ) 

get timer ticks

Parameters:
params pointer to snd_timer_params_t structure
Returns:
timer ticks
Examples:
/test/timer.c.

int snd_timer_params_malloc ( snd_timer_params_t **  params  ) 

allocate a new snd_timer_params_t structure

Parameters:
params returned pointer
Returns:
0 on success otherwise a negative error code if fails
Allocates a new snd_timer_params_t structure using the standard malloc C library function.

int snd_timer_params_set_auto_start ( snd_timer_params_t params,
int  auto_start 
)

set timer auto start

Parameters:
params pointer to snd_timer_params_t structure
auto_start The boolean value to set
Examples:
/test/timer.c.

int snd_timer_params_set_early_event ( snd_timer_params_t params,
int  early_event 
)

set timer early event

Parameters:
params pointer to snd_timer_params_t structure
early_event The boolean value to set

int snd_timer_params_set_exclusive ( snd_timer_params_t params,
int  exclusive 
)

set timer exclusive use

Parameters:
params pointer to snd_timer_params_t structure
exclusive The boolean value to set

void snd_timer_params_set_filter ( snd_timer_params_t params,
unsigned int  filter 
)

set timer event filter

Parameters:
params pointer to snd_timer_params_t structure
filter The event filter bits to set

void snd_timer_params_set_queue_size ( snd_timer_params_t params,
long  queue_size 
)

set timer queue size (32-1024)

Parameters:
params pointer to snd_timer_params_t structure
queue_size The queue size to set

void snd_timer_params_set_ticks ( snd_timer_params_t params,
long  ticks 
)

set timer ticks

Parameters:
params pointer to snd_timer_params_t structure
ticks Ticks to set
Examples:
/test/timer.c.

size_t snd_timer_params_sizeof ( void   ) 

get size of the snd_timer_params_t structure in bytes

Returns:
size of the snd_timer_params_t structure in bytes

int snd_timer_poll_descriptors ( snd_timer_t timer,
struct pollfd *  pfds,
unsigned int  space 
)

get poll descriptors

Parameters:
timer timer handle
pfds array of poll descriptors
space space in the poll descriptor array
Returns:
count of filled descriptors
Examples:
/test/timer.c.

int snd_timer_poll_descriptors_count ( snd_timer_t timer  ) 

get count of poll descriptors for timer handle

Parameters:
timer timer handle
Returns:
count of poll descriptors
Examples:
/test/timer.c.

int snd_timer_poll_descriptors_revents ( snd_timer_t timer,
struct pollfd *  pfds,
unsigned int  nfds,
unsigned short *  revents 
)

get returned events from poll descriptors

Parameters:
timer timer handle
pfds array of poll descriptors
nfds count of poll descriptors
revents returned events
Returns:
zero if success, otherwise a negative error code

int snd_timer_query_close ( snd_timer_query_t timer  ) 

close timer query handle

Parameters:
timer timer handle
Returns:
0 on success otherwise a negative error code
Closes the specified timer handle and frees all associated resources.
Examples:
/test/timer.c.

int snd_timer_query_info ( snd_timer_query_t timer,
snd_timer_ginfo_t info 
)

obtain the timer global information

Parameters:
timer timer handle
info timer information
Returns:
0 on success otherwise a negative error code

int snd_timer_query_next_device ( snd_timer_query_t timer,
snd_timer_id_t tid 
)

obtain the next timer identification

Parameters:
timer timer handle
tid timer identification
Returns:
0 on success otherwise a negative error code
if tid->dev_class is -1, then the first device is returned if result tid->dev_class is -1, no more devices are left
Examples:
/test/timer.c.

int snd_timer_query_open ( snd_timer_query_t **  timer,
const char *  name,
int  mode 
)

Opens a new connection to the timer query interface.

Parameters:
timer Returned handle (NULL if not wanted)
name ASCII identifier of the RawMidi handle
mode Open mode
Returns:
0 on success otherwise a negative error code
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.
Examples:
/test/timer.c.

int snd_timer_query_open_lconf ( snd_timer_query_t **  timer,
const char *  name,
int  mode,
snd_config_t lconf 
)

Opens a new connection to the timer query interface using local configuration.

Parameters:
timer Returned handle (NULL if not wanted)
name ASCII identifier of the RawMidi handle
mode Open mode
lconf Local configuration
Returns:
0 on success otherwise a negative error code
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.

int snd_timer_query_params ( snd_timer_query_t timer,
snd_timer_gparams_t params 
)

set the timer global parameters

Parameters:
timer timer handle
params timer parameters
Returns:
0 on success otherwise a negative error code

int snd_timer_query_status ( snd_timer_query_t timer,
snd_timer_gstatus_t status 
)

get the timer global status

Parameters:
timer timer handle
status timer status
Returns:
0 on success otherwise a negative error code

ssize_t snd_timer_read ( snd_timer_t timer,
void *  buffer,
size_t  size 
)

read bytes using timer handle

Parameters:
timer timer handle
buffer buffer to store the input bytes
size input buffer size in bytes
Examples:
/test/timer.c.

int snd_timer_start ( snd_timer_t timer  ) 

start the timer

Parameters:
timer timer handle
Returns:
0 on success otherwise a negative error code
Examples:
/test/timer.c.

int snd_timer_status ( snd_timer_t timer,
snd_timer_status_t status 
)

get status from timer handle

Parameters:
timer timer handle
status pointer to a snd_timer_status_t structure to be filled
Returns:
0 on success otherwise a negative error code
Examples:
/test/timer.c.

void snd_timer_status_copy ( snd_timer_status_t dst,
const snd_timer_status_t src 
)

copy one snd_timer_status_t structure to another

Parameters:
dst destination snd_timer_status_t structure
src source snd_timer_status_t structure

void snd_timer_status_free ( snd_timer_status_t status  ) 

frees the snd_timer_status_t structure

Parameters:
status pointer to the snd_timer_status_t structure to free
Frees the given snd_timer_status_t structure using the standard free C library function.

long snd_timer_status_get_lost ( snd_timer_status_t status  ) 

get master tick lost count

Parameters:
status pointer to snd_timer_status_t structure
Returns:
master tick lost count
Examples:
/test/timer.c.

long snd_timer_status_get_overrun ( snd_timer_status_t status  ) 

get overrun count

Parameters:
status pointer to snd_timer_status_t structure
Returns:
overrun count
Examples:
/test/timer.c.

long snd_timer_status_get_queue ( snd_timer_status_t status  ) 

get count of used queue elements

Parameters:
status pointer to snd_timer_status_t structure
Returns:
count of used queue elements
Examples:
/test/timer.c.

long snd_timer_status_get_resolution ( snd_timer_status_t status  ) 

get resolution in us

Parameters:
status pointer to snd_timer_status_t structure
Returns:
resolution
Examples:
/test/timer.c.

snd_htimestamp_t snd_timer_status_get_timestamp ( snd_timer_status_t status  ) 

get timestamp

Parameters:
status pointer to snd_timer_status_t structure
Returns:
timestamp

int snd_timer_status_malloc ( snd_timer_status_t **  status  ) 

allocate a new snd_timer_status_t structure

Parameters:
status returned pointer
Returns:
0 on success otherwise a negative error code if fails
Allocates a new snd_timer_status_t structure using the standard malloc C library function.

size_t snd_timer_status_sizeof ( void   ) 

get size of the snd_timer_status_t structure in bytes

Returns:
size of the snd_timer_status_t structure in bytes

int snd_timer_stop ( snd_timer_t timer  ) 

stop the timer

Parameters:
timer timer handle
Returns:
0 on success otherwise a negative error code
Examples:
/test/timer.c.


Generated on Sun Apr 1 18:36:46 2007 for ALSA project - the C library reference by  doxygen 1.5.1