Timer Interface

Overview

Timer Interface. Moreā€¦

// typedefs

typedef struct _snd_timer_id snd_timer_id_t;
typedef struct _snd_timer_ginfo snd_timer_ginfo_t;
typedef struct _snd_timer_gparams snd_timer_gparams_t;
typedef struct _snd_timer_gstatus snd_timer_gstatus_t;
typedef struct _snd_timer_info snd_timer_info_t;
typedef struct _snd_timer_params snd_timer_params_t;
typedef struct _snd_timer_status snd_timer_status_t;
typedef struct _snd_timer_query snd_timer_query_t;
typedef struct _snd_timer snd_timer_t;

// enums

enum snd_timer_class_t;
enum snd_timer_event_t;
enum snd_timer_slave_class_t;
enum snd_timer_type_t;

// structs

struct snd_timer_read_t;
struct snd_timer_tread_t;

// global functions

int
snd_timer_query_open(
    snd_timer_query_t** handle,
    const char* name,
    int mode
);

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

int
snd_timer_query_close(snd_timer_query_t* handle);

int
snd_timer_query_next_device(
    snd_timer_query_t* handle,
    snd_timer_id_t* tid
);

int
snd_timer_query_info(
    snd_timer_query_t* handle,
    snd_timer_ginfo_t* info
);

int
snd_timer_query_params(
    snd_timer_query_t* handle,
    snd_timer_gparams_t* params
);

int
snd_timer_query_status(
    snd_timer_query_t* handle,
    snd_timer_gstatus_t* status
);

int
snd_timer_open(
    snd_timer_t** handle,
    const char* name,
    int mode
);

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

int
snd_timer_close(snd_timer_t* handle);

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

snd_timer_t*
snd_async_handler_get_timer(snd_async_handler_t* handler);

int
snd_timer_poll_descriptors_count(snd_timer_t* handle);

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

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

int
snd_timer_info(
    snd_timer_t* handle,
    snd_timer_info_t* timer
);

int
snd_timer_params(
    snd_timer_t* handle,
    snd_timer_params_t* params
);

int
snd_timer_status(
    snd_timer_t* handle,
    snd_timer_status_t* status
);

int
snd_timer_start(snd_timer_t* handle);

int
snd_timer_stop(snd_timer_t* handle);

int
snd_timer_continue(snd_timer_t* handle);

ssize_t
snd_timer_read(
    snd_timer_t* handle,
    void* buffer,
    size_t size
);

size_t
snd_timer_id_sizeof(void);

int
snd_timer_id_malloc(snd_timer_id_t** ptr);

void
snd_timer_id_free(snd_timer_id_t* obj);

void
snd_timer_id_copy(
    snd_timer_id_t* dst,
    const snd_timer_id_t* src
);

void
snd_timer_id_set_class(
    snd_timer_id_t* id,
    int dev_class
);

int
snd_timer_id_get_class(snd_timer_id_t* id);

void
snd_timer_id_set_sclass(
    snd_timer_id_t* id,
    int dev_sclass
);

int
snd_timer_id_get_sclass(snd_timer_id_t* id);

void
snd_timer_id_set_card(
    snd_timer_id_t* id,
    int card
);

int
snd_timer_id_get_card(snd_timer_id_t* id);

void
snd_timer_id_set_device(
    snd_timer_id_t* id,
    int device
);

int
snd_timer_id_get_device(snd_timer_id_t* id);

void
snd_timer_id_set_subdevice(
    snd_timer_id_t* id,
    int subdevice
);

int
snd_timer_id_get_subdevice(snd_timer_id_t* id);

size_t
snd_timer_ginfo_sizeof(void);

int
snd_timer_ginfo_malloc(snd_timer_ginfo_t** ptr);

void
snd_timer_ginfo_free(snd_timer_ginfo_t* obj);

void
snd_timer_ginfo_copy(
    snd_timer_ginfo_t* dst,
    const snd_timer_ginfo_t* src
);

int
snd_timer_ginfo_set_tid(
    snd_timer_ginfo_t* obj,
    snd_timer_id_t* tid
);

snd_timer_id_t*
snd_timer_ginfo_get_tid(snd_timer_ginfo_t* obj);

unsigned int
snd_timer_ginfo_get_flags(snd_timer_ginfo_t* obj);

int
snd_timer_ginfo_get_card(snd_timer_ginfo_t* obj);

char*
snd_timer_ginfo_get_id(snd_timer_ginfo_t* obj);

char*
snd_timer_ginfo_get_name(snd_timer_ginfo_t* obj);

unsigned long
snd_timer_ginfo_get_resolution(snd_timer_ginfo_t* obj);

unsigned long
snd_timer_ginfo_get_resolution_min(snd_timer_ginfo_t* obj);

unsigned long
snd_timer_ginfo_get_resolution_max(snd_timer_ginfo_t* obj);

unsigned int
snd_timer_ginfo_get_clients(snd_timer_ginfo_t* obj);

size_t
snd_timer_info_sizeof(void);

int
snd_timer_info_malloc(snd_timer_info_t** ptr);

void
snd_timer_info_free(snd_timer_info_t* obj);

void
snd_timer_info_copy(
    snd_timer_info_t* dst,
    const snd_timer_info_t* src
);

int
snd_timer_info_is_slave(snd_timer_info_t* info);

int
snd_timer_info_get_card(snd_timer_info_t* info);

const char*
snd_timer_info_get_id(snd_timer_info_t* info);

const char*
snd_timer_info_get_name(snd_timer_info_t* info);

long
snd_timer_info_get_resolution(snd_timer_info_t* info);

size_t
snd_timer_params_sizeof(void);

int
snd_timer_params_malloc(snd_timer_params_t** ptr);

void
snd_timer_params_free(snd_timer_params_t* obj);

void
snd_timer_params_copy(
    snd_timer_params_t* dst,
    const snd_timer_params_t* src
);

int
snd_timer_params_set_auto_start(
    snd_timer_params_t* params,
    int auto_start
);

int
snd_timer_params_get_auto_start(snd_timer_params_t* params);

int
snd_timer_params_set_exclusive(
    snd_timer_params_t* params,
    int exclusive
);

int
snd_timer_params_get_exclusive(snd_timer_params_t* params);

int
snd_timer_params_set_early_event(
    snd_timer_params_t* params,
    int early_event
);

int
snd_timer_params_get_early_event(snd_timer_params_t* params);

void
snd_timer_params_set_ticks(
    snd_timer_params_t* params,
    long ticks
);

long
snd_timer_params_get_ticks(snd_timer_params_t* params);

void
snd_timer_params_set_queue_size(
    snd_timer_params_t* params,
    long queue_size
);

long
snd_timer_params_get_queue_size(snd_timer_params_t* params);

void
snd_timer_params_set_filter(
    snd_timer_params_t* params,
    unsigned int filter
);

unsigned int
snd_timer_params_get_filter(snd_timer_params_t* params);

size_t
snd_timer_status_sizeof(void);

int
snd_timer_status_malloc(snd_timer_status_t** ptr);

void
snd_timer_status_free(snd_timer_status_t* obj);

void
snd_timer_status_copy(
    snd_timer_status_t* dst,
    const snd_timer_status_t* src
);

snd_htimestamp_t
snd_timer_status_get_timestamp(snd_timer_status_t* status);

long
snd_timer_status_get_resolution(snd_timer_status_t* status);

long
snd_timer_status_get_lost(snd_timer_status_t* status);

long
snd_timer_status_get_overrun(snd_timer_status_t* status);

long
snd_timer_status_get_queue(snd_timer_status_t* status);

long
snd_timer_info_get_ticks(snd_timer_info_t* info);

// macros

#define SND_TIMER_DLSYM_VERSION
#define SND_TIMER_GLOBAL_HPET
#define SND_TIMER_GLOBAL_HRTIMER
#define SND_TIMER_GLOBAL_RTC
#define SND_TIMER_GLOBAL_SYSTEM
#define SND_TIMER_OPEN_NONBLOCK
#define SND_TIMER_OPEN_TREAD
#define SND_TIMER_QUERY_DLSYM_VERSION
#define snd_timer_ginfo_alloca(ptr)
#define snd_timer_id_alloca(ptr)
#define snd_timer_info_alloca(ptr)
#define snd_timer_params_alloca(ptr)
#define snd_timer_status_alloca(ptr)

Detailed Documentation

Timer Interface. See Timer interface page for more details.

Typedefs

typedef struct _snd_timer_id snd_timer_id_t

timer identification structure

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_info snd_timer_info_t

timer info structure

typedef struct _snd_timer_params snd_timer_params_t

timer params structure

typedef struct _snd_timer_status snd_timer_status_t

timer status structure

typedef struct _snd_timer_query snd_timer_query_t

timer query handle

typedef struct _snd_timer snd_timer_t

timer handle

Global 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.

Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.

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

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.

Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.

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

int
snd_timer_query_close(snd_timer_query_t* handle)

close timer query handle

Closes the specified timer handle and frees all associated resources.

Parameters:

timer

timer handle

Returns:

0 on success otherwise a negative error code

int
snd_timer_query_next_device(
    snd_timer_query_t* handle,
    snd_timer_id_t* tid
)

obtain the next timer identification

if tid->dev_class is -1, then the first device is returned if result tid->dev_class is -1, no more devices are left

Parameters:

timer

timer handle

tid

timer identification

Returns:

0 on success otherwise a negative error code

int
snd_timer_query_info(
    snd_timer_query_t* handle,
    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_params(
    snd_timer_query_t* handle,
    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* handle,
    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

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

Opens a new connection to the timer interface.

Opens a new connection to the timer interface specified with an ASCII identifier and mode.

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

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.

Opens a new connection to the timer interface specified with an ASCII identifier and mode.

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

int
snd_timer_close(snd_timer_t* handle)

close timer handle

Closes the specified timer handle and frees all associated resources.

Parameters:

timer

timer handle

Returns:

0 on success otherwise a negative error code

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.

The asynchronous callback is called when new timer event occurs.

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

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

int
snd_timer_poll_descriptors_count(snd_timer_t* handle)

get count of poll descriptors for timer handle

Parameters:

timer

timer handle

Returns:

count of poll descriptors

int
snd_timer_poll_descriptors(
    snd_timer_t* handle,
    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

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_info(
    snd_timer_t* handle,
    snd_timer_info_t* timer
)

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

int
snd_timer_params(
    snd_timer_t* handle,
    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

int
snd_timer_status(
    snd_timer_t* handle,
    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

int
snd_timer_start(snd_timer_t* handle)

start the timer

Parameters:

timer

timer handle

Returns:

0 on success otherwise a negative error code

int
snd_timer_stop(snd_timer_t* handle)

stop the timer

Parameters:

timer

timer handle

Returns:

0 on success otherwise a negative error code

int
snd_timer_continue(snd_timer_t* handle)

continue the timer

Parameters:

timer

timer handle

Returns:

0 on success otherwise a negative error code

ssize_t
snd_timer_read(
    snd_timer_t* handle,
    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

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_id_malloc(snd_timer_id_t** ptr)

allocate a new snd_timer_id_t structure

Allocates a new snd_timer_id_t structure using the standard malloc C library function.

Parameters:

info

returned pointer

Returns:

0 on success otherwise a negative error code if fails

void
snd_timer_id_free(snd_timer_id_t* obj)

frees the snd_timer_id_t structure

Frees the given snd_timer_id_t structure using the standard free C library function.

Parameters:

info

pointer to the snd_timer_id_t structure to free

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_set_class(
    snd_timer_id_t* id,
    int dev_class
)

set timer class

Parameters:

tid

pointer to snd_timer_id_t structure

dev_class

class of timer device

int
snd_timer_id_get_class(snd_timer_id_t* id)

get timer class

Parameters:

tid

pointer to snd_timer_id_t structure

Returns:

timer class

void
snd_timer_id_set_sclass(
    snd_timer_id_t* id,
    int dev_sclass
)

set timer sub-class

Parameters:

tid

pointer to snd_timer_id_t structure

dev_sclass

sub-class of timer device

int
snd_timer_id_get_sclass(snd_timer_id_t* id)

get timer sub-class

Parameters:

tid

pointer to snd_timer_id_t structure

Returns:

timer sub-class

void
snd_timer_id_set_card(
    snd_timer_id_t* id,
    int card
)

set timer card

Parameters:

tid

pointer to snd_timer_id_t structure

card

card number

int
snd_timer_id_get_card(snd_timer_id_t* id)

get timer card

Parameters:

tid

pointer to snd_timer_id_t structure

Returns:

timer card number

void
snd_timer_id_set_device(
    snd_timer_id_t* id,
    int device
)

set timer device

Parameters:

tid

pointer to snd_timer_id_t structure

device

device number

int
snd_timer_id_get_device(snd_timer_id_t* id)

get timer device

Parameters:

tid

pointer to snd_timer_id_t structure

Returns:

timer device number

void
snd_timer_id_set_subdevice(
    snd_timer_id_t* id,
    int subdevice
)

set timer subdevice

Parameters:

tid

pointer to snd_timer_id_t structure

subdevice

subdevice number

int
snd_timer_id_get_subdevice(snd_timer_id_t* id)

get timer subdevice

Parameters:

tid

pointer to snd_timer_id_t structure

Returns:

timer subdevice 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

int
snd_timer_ginfo_malloc(snd_timer_ginfo_t** ptr)

allocate a new snd_timer_ginfo_t structure

Allocates a new snd_timer_info_t structure using the standard malloc C library function.

Parameters:

info

returned pointer

Returns:

0 on success otherwise a negative error code if fails

void
snd_timer_ginfo_free(snd_timer_ginfo_t* obj)

frees the snd_timer_ginfo_t structure

Frees the given snd_timer_info_t structure using the standard free C library function.

Parameters:

info

pointer to the snd_timer_ginfo_t structure to free

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

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

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

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

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

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_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

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 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

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_info_malloc(snd_timer_info_t** ptr)

allocate a new snd_timer_info_t structure

Allocates a new snd_timer_info_t structure using the standard malloc C library function.

Parameters:

info

returned pointer

Returns:

0 on success otherwise a negative error code if fails

void
snd_timer_info_free(snd_timer_info_t* obj)

frees the snd_timer_info_t structure

Frees the given snd_timer_info_t structure using the standard free C library function.

Parameters:

info

pointer to the snd_timer_info_t structure to free

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

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

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

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

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

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

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_params_malloc(snd_timer_params_t** ptr)

allocate a new snd_timer_params_t structure

Allocates a new snd_timer_params_t structure using the standard malloc C library function.

Parameters:

params

returned pointer

Returns:

0 on success otherwise a negative error code if fails

void
snd_timer_params_free(snd_timer_params_t* obj)

frees the snd_timer_params_t structure

Frees the given snd_timer_params_t structure using the standard free C library function.

Parameters:

params

pointer to the snd_timer_params_t structure to free

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

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

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_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

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

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_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

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

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

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

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

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

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

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_status_malloc(snd_timer_status_t** ptr)

allocate a new snd_timer_status_t structure

Allocates a new snd_timer_status_t structure using the standard malloc C library function.

Parameters:

status

returned pointer

Returns:

0 on success otherwise a negative error code if fails

void
snd_timer_status_free(snd_timer_status_t* obj)

frees the snd_timer_status_t structure

Frees the given snd_timer_status_t structure using the standard free C library function.

Parameters:

status

pointer to the snd_timer_status_t structure to free

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

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

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

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

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

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

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

Macros

#define SND_TIMER_DLSYM_VERSION

dlsym version for interface entry callback

#define SND_TIMER_GLOBAL_HPET

global timer - HPET

#define SND_TIMER_GLOBAL_HRTIMER

global timer - HRTIMER

#define SND_TIMER_GLOBAL_RTC

global timer - RTC

#define SND_TIMER_GLOBAL_SYSTEM

global timer - system

#define SND_TIMER_OPEN_NONBLOCK

timer open mode flag - non-blocking behaviour

#define SND_TIMER_OPEN_TREAD

use timestamps and event notification - enhanced read

#define SND_TIMER_QUERY_DLSYM_VERSION

dlsym version for interface entry callback

#define snd_timer_ginfo_alloca(ptr)

allocate snd_timer_ginfo_t container on stack

#define snd_timer_id_alloca(ptr)

allocate snd_timer_id_t container on stack

#define snd_timer_info_alloca(ptr)

allocate snd_timer_info_t container on stack

#define snd_timer_params_alloca(ptr)

allocate snd_timer_params_t container on stack

#define snd_timer_status_alloca(ptr)

allocate snd_timer_status_t container on stack