ALSA project - the C library reference
Loading...
Searching...
No Matches
hwdep.c File Reference

HwDep Interface (hardware dependent) More...

Functions

int snd_hwdep_open (snd_hwdep_t **hwdep, const char *name, int mode)
 Opens a new connection to the HwDep interface.
 
int snd_hwdep_open_lconf (snd_hwdep_t **hwdep, const char *name, int mode, snd_config_t *lconf)
 Opens a new connection to the HwDep interface using local configuration.
 
int snd_hwdep_close (snd_hwdep_t *hwdep)
 close HwDep handle
 
const char * snd_hwdep_name (snd_hwdep_t *hwdep)
 get identifier of HwDep handle
 
snd_hwdep_type_t snd_hwdep_type (snd_hwdep_t *hwdep)
 get type of HwDep handle
 
int snd_hwdep_poll_descriptors_count (snd_hwdep_t *hwdep)
 get count of poll descriptors for HwDep handle
 
int snd_hwdep_poll_descriptors (snd_hwdep_t *hwdep, struct pollfd *pfds, unsigned int space)
 get poll descriptors
 
int snd_hwdep_poll_descriptors_revents (snd_hwdep_t *hwdep, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors
 
int snd_hwdep_nonblock (snd_hwdep_t *hwdep, int nonblock)
 set nonblock mode
 
size_t snd_hwdep_info_sizeof ()
 get size of the snd_hwdep_info_t structure in bytes
 
int snd_hwdep_info_malloc (snd_hwdep_info_t **info)
 allocate a new snd_hwdep_info_t structure
 
void snd_hwdep_info_free (snd_hwdep_info_t *info)
 frees the snd_hwdep_info_t structure
 
void snd_hwdep_info_copy (snd_hwdep_info_t *dst, const snd_hwdep_info_t *src)
 copy one snd_hwdep_info_t structure to another
 
int snd_hwdep_info_get_card (const snd_hwdep_info_t *obj)
 get hwdep card number
 
unsigned int snd_hwdep_info_get_device (const snd_hwdep_info_t *info)
 get hwdep device number
 
const char * snd_hwdep_info_get_id (const snd_hwdep_info_t *obj)
 get hwdep driver identifier
 
const char * snd_hwdep_info_get_name (const snd_hwdep_info_t *obj)
 get hwdep driver name
 
snd_hwdep_iface_t snd_hwdep_info_get_iface (const snd_hwdep_info_t *obj)
 get hwdep protocol interface
 
void snd_hwdep_info_set_device (snd_hwdep_info_t *obj, unsigned int val)
 set hwdep device number
 
int snd_hwdep_info (snd_hwdep_t *hwdep, snd_hwdep_info_t *info)
 get information about HwDep handle
 
int snd_hwdep_ioctl (snd_hwdep_t *hwdep, unsigned int request, void *arg)
 do hardware dependent ioctl
 
ssize_t snd_hwdep_write (snd_hwdep_t *hwdep, const void *buffer, size_t size)
 write bytes using HwDep handle
 
ssize_t snd_hwdep_read (snd_hwdep_t *hwdep, void *buffer, size_t size)
 read bytes using HwDep handle
 
int snd_hwdep_dsp_status (snd_hwdep_t *hwdep, snd_hwdep_dsp_status_t *info)
 get the DSP status information
 
int snd_hwdep_dsp_load (snd_hwdep_t *hwdep, snd_hwdep_dsp_image_t *block)
 load the DSP block
 
size_t snd_hwdep_dsp_status_sizeof ()
 get size of the snd_hwdep_dsp_status_t structure in bytes
 
int snd_hwdep_dsp_status_malloc (snd_hwdep_dsp_status_t **info)
 allocate a new snd_hwdep_dsp_status_t structure
 
void snd_hwdep_dsp_status_free (snd_hwdep_dsp_status_t *info)
 frees the snd_hwdep_dsp_status_t structure
 
void snd_hwdep_dsp_status_copy (snd_hwdep_dsp_status_t *dst, const snd_hwdep_dsp_status_t *src)
 copy one snd_hwdep_dsp_status_t structure to another
 
unsigned int snd_hwdep_dsp_status_get_version (const snd_hwdep_dsp_status_t *obj)
 get the driver version of dsp loader
 
const char * snd_hwdep_dsp_status_get_id (const snd_hwdep_dsp_status_t *obj)
 get the driver id of dsp loader
 
unsigned int snd_hwdep_dsp_status_get_num_dsps (const snd_hwdep_dsp_status_t *obj)
 get number of dsp blocks
 
unsigned int snd_hwdep_dsp_status_get_dsp_loaded (const snd_hwdep_dsp_status_t *info)
 get the bit flags of the loaded dsp blocks
 
unsigned int snd_hwdep_dsp_status_get_chip_ready (const snd_hwdep_dsp_status_t *obj)
 get the chip status of dsp loader
 
size_t snd_hwdep_dsp_image_sizeof ()
 get size of the snd_hwdep_dsp_image_t structure in bytes
 
int snd_hwdep_dsp_image_malloc (snd_hwdep_dsp_image_t **info)
 allocate a new snd_hwdep_dsp_image_t structure
 
void snd_hwdep_dsp_image_free (snd_hwdep_dsp_image_t *info)
 frees the snd_hwdep_dsp_image_t structure
 
void snd_hwdep_dsp_image_copy (snd_hwdep_dsp_image_t *dst, const snd_hwdep_dsp_image_t *src)
 copy one snd_hwdep_dsp_image_t structure to another
 
unsigned int snd_hwdep_dsp_image_get_index (const snd_hwdep_dsp_image_t *obj)
 get the DSP block index
 
const char * snd_hwdep_dsp_image_get_name (const snd_hwdep_dsp_image_t *obj)
 get the name of the DSP block
 
size_t snd_hwdep_dsp_image_get_length (const snd_hwdep_dsp_image_t *obj)
 get the length of the DSP block
 
const void * snd_hwdep_dsp_image_get_image (const snd_hwdep_dsp_image_t *obj)
 get the image pointer of the DSP block
 
void snd_hwdep_dsp_image_set_index (snd_hwdep_dsp_image_t *obj, unsigned int index)
 set the DSP block index
 
void snd_hwdep_dsp_image_set_name (snd_hwdep_dsp_image_t *obj, const char *name)
 set the name of the DSP block
 
void snd_hwdep_dsp_image_set_length (snd_hwdep_dsp_image_t *obj, size_t length)
 set the DSP block length
 
void snd_hwdep_dsp_image_set_image (snd_hwdep_dsp_image_t *obj, void *image)
 set the DSP block image pointer
 

Detailed Description

HwDep Interface (hardware dependent)

Author
Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
Date
2000-2001

HwDep (hardware dependent) Interface is designed for individual hardware access. This interface does not cover any API specification.

Function Documentation

◆ snd_hwdep_close()

int snd_hwdep_close ( snd_hwdep_t * hwdep)

close HwDep handle

Parameters
hwdepHwDep handle
Returns
0 on success otherwise a negative error code

Closes the specified HwDep handle and frees all associated resources.

◆ snd_hwdep_dsp_image_copy()

void snd_hwdep_dsp_image_copy ( snd_hwdep_dsp_image_t * dst,
const snd_hwdep_dsp_image_t * src )

copy one snd_hwdep_dsp_image_t structure to another

Parameters
dstdestination snd_hwdep_dsp_image_t structure
srcsource snd_hwdep_dsp_image_t structure

◆ snd_hwdep_dsp_image_free()

void snd_hwdep_dsp_image_free ( snd_hwdep_dsp_image_t * info)

frees the snd_hwdep_dsp_image_t structure

Parameters
infopointer to the snd_hwdep_dsp_image_t structure to free

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

◆ snd_hwdep_dsp_image_get_image()

const void * snd_hwdep_dsp_image_get_image ( const snd_hwdep_dsp_image_t * obj)

get the image pointer of the DSP block

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
Returns
the image pointer of the DSP block

◆ snd_hwdep_dsp_image_get_index()

unsigned int snd_hwdep_dsp_image_get_index ( const snd_hwdep_dsp_image_t * obj)

get the DSP block index

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
Returns
the index of the DSP block

◆ snd_hwdep_dsp_image_get_length()

size_t snd_hwdep_dsp_image_get_length ( const snd_hwdep_dsp_image_t * obj)

get the length of the DSP block

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
Returns
the length of the DSP block in bytes

◆ snd_hwdep_dsp_image_get_name()

const char * snd_hwdep_dsp_image_get_name ( const snd_hwdep_dsp_image_t * obj)

get the name of the DSP block

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
Returns
the name string of the DSP block

◆ snd_hwdep_dsp_image_malloc()

int snd_hwdep_dsp_image_malloc ( snd_hwdep_dsp_image_t ** info)

allocate a new snd_hwdep_dsp_image_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

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

◆ snd_hwdep_dsp_image_set_image()

void snd_hwdep_dsp_image_set_image ( snd_hwdep_dsp_image_t * obj,
void * image )

set the DSP block image pointer

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
imagethe DSP image pointer

◆ snd_hwdep_dsp_image_set_index()

void snd_hwdep_dsp_image_set_index ( snd_hwdep_dsp_image_t * obj,
unsigned int index )

set the DSP block index

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
indexthe index value to set

◆ snd_hwdep_dsp_image_set_length()

void snd_hwdep_dsp_image_set_length ( snd_hwdep_dsp_image_t * obj,
size_t length )

set the DSP block length

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
lengththe length of the DSP block

◆ snd_hwdep_dsp_image_set_name()

void snd_hwdep_dsp_image_set_name ( snd_hwdep_dsp_image_t * obj,
const char * name )

set the name of the DSP block

Parameters
objpointer to a snd_hwdep_dsp_image_t structure
namethe name string

◆ snd_hwdep_dsp_image_sizeof()

size_t snd_hwdep_dsp_image_sizeof ( )

get size of the snd_hwdep_dsp_image_t structure in bytes

Returns
size of the snd_hwdep_dsp_image_t structure in bytes

◆ snd_hwdep_dsp_load()

int snd_hwdep_dsp_load ( snd_hwdep_t * hwdep,
snd_hwdep_dsp_image_t * block )

load the DSP block

Parameters
hwdepHwDep handle
blockpointer to a snd_hwdep_dsp_image_t structure to transfer
Returns
0 on success otherwise a negative error code

◆ snd_hwdep_dsp_status()

int snd_hwdep_dsp_status ( snd_hwdep_t * hwdep,
snd_hwdep_dsp_status_t * info )

get the DSP status information

Parameters
hwdepHwDep handle
infopointer to a snd_hwdep_dsp_status_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_hwdep_dsp_status_copy()

void snd_hwdep_dsp_status_copy ( snd_hwdep_dsp_status_t * dst,
const snd_hwdep_dsp_status_t * src )

copy one snd_hwdep_dsp_status_t structure to another

Parameters
dstdestination snd_hwdep_dsp_status_t structure
srcsource snd_hwdep_dsp_status_t structure

◆ snd_hwdep_dsp_status_free()

void snd_hwdep_dsp_status_free ( snd_hwdep_dsp_status_t * info)

frees the snd_hwdep_dsp_status_t structure

Parameters
infopointer to the snd_hwdep_dsp_status_t structure to free

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

◆ snd_hwdep_dsp_status_get_chip_ready()

unsigned int snd_hwdep_dsp_status_get_chip_ready ( const snd_hwdep_dsp_status_t * obj)

get the chip status of dsp loader

Parameters
objpointer to a snd_hwdep_dsp_status_t structure
Returns
non-zero if all DSP blocks are loaded and the chip is ready

◆ snd_hwdep_dsp_status_get_dsp_loaded()

unsigned int snd_hwdep_dsp_status_get_dsp_loaded ( const snd_hwdep_dsp_status_t * info)

get the bit flags of the loaded dsp blocks

Parameters
infopointer to a snd_hwdep_dsp_status_t structure
Returns
the big flags of the loaded dsp blocks

◆ snd_hwdep_dsp_status_get_id()

const char * snd_hwdep_dsp_status_get_id ( const snd_hwdep_dsp_status_t * obj)

get the driver id of dsp loader

Parameters
objpointer to a snd_hwdep_dsp_status_t structure
Returns
the driver id string

◆ snd_hwdep_dsp_status_get_num_dsps()

unsigned int snd_hwdep_dsp_status_get_num_dsps ( const snd_hwdep_dsp_status_t * obj)

get number of dsp blocks

Parameters
objpointer to a snd_hwdep_dsp_status_t structure
Returns
number of dsp blocks

◆ snd_hwdep_dsp_status_get_version()

unsigned int snd_hwdep_dsp_status_get_version ( const snd_hwdep_dsp_status_t * obj)

get the driver version of dsp loader

Parameters
objpointer to a snd_hwdep_dsp_status_t structure
Returns
the driver version

◆ snd_hwdep_dsp_status_malloc()

int snd_hwdep_dsp_status_malloc ( snd_hwdep_dsp_status_t ** info)

allocate a new snd_hwdep_dsp_status_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

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

◆ snd_hwdep_dsp_status_sizeof()

size_t snd_hwdep_dsp_status_sizeof ( )

get size of the snd_hwdep_dsp_status_t structure in bytes

Returns
size of the snd_hwdep_dsp_status_t structure in bytes

◆ snd_hwdep_info()

int snd_hwdep_info ( snd_hwdep_t * hwdep,
snd_hwdep_info_t * info )

get information about HwDep handle

Parameters
hwdepHwDep handle
infopointer to a snd_hwdep_info_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_hwdep_info_copy()

void snd_hwdep_info_copy ( snd_hwdep_info_t * dst,
const snd_hwdep_info_t * src )

copy one snd_hwdep_info_t structure to another

Parameters
dstdestination snd_hwdep_info_t structure
srcsource snd_hwdep_info_t structure

◆ snd_hwdep_info_free()

void snd_hwdep_info_free ( snd_hwdep_info_t * info)

frees the snd_hwdep_info_t structure

Parameters
infopointer to the snd_hwdep_info_t structure to free

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

◆ snd_hwdep_info_get_card()

int snd_hwdep_info_get_card ( const snd_hwdep_info_t * obj)

get hwdep card number

Parameters
objpointer to a snd_hwdep_info_t structure
Returns
hwdep card number

◆ snd_hwdep_info_get_device()

unsigned int snd_hwdep_info_get_device ( const snd_hwdep_info_t * info)

get hwdep device number

Parameters
infopointer to a snd_hwdep_info_t structure
Returns
hwdep device number

◆ snd_hwdep_info_get_id()

const char * snd_hwdep_info_get_id ( const snd_hwdep_info_t * obj)

get hwdep driver identifier

Parameters
objpointer to a snd_hwdep_info_t structure
Returns
hwdep driver identifier

◆ snd_hwdep_info_get_iface()

snd_hwdep_iface_t snd_hwdep_info_get_iface ( const snd_hwdep_info_t * obj)

get hwdep protocol interface

Parameters
objpointer to a snd_hwdep_info_t structure
Returns
hwdep protocol interface

◆ snd_hwdep_info_get_name()

const char * snd_hwdep_info_get_name ( const snd_hwdep_info_t * obj)

get hwdep driver name

Parameters
objpointer to a snd_hwdep_info_t structure
Returns
hwdep driver name

◆ snd_hwdep_info_malloc()

int snd_hwdep_info_malloc ( snd_hwdep_info_t ** info)

allocate a new snd_hwdep_info_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

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

◆ snd_hwdep_info_set_device()

void snd_hwdep_info_set_device ( snd_hwdep_info_t * obj,
unsigned int val )

set hwdep device number

Parameters
objpointer to a snd_hwdep_info_t structure
valhwdep device

◆ snd_hwdep_info_sizeof()

size_t snd_hwdep_info_sizeof ( )

get size of the snd_hwdep_info_t structure in bytes

Returns
size of the snd_hwdep_info_t structure in bytes

◆ snd_hwdep_ioctl()

int snd_hwdep_ioctl ( snd_hwdep_t * hwdep,
unsigned int request,
void * arg )

do hardware dependent ioctl

Parameters
hwdepHwDep handle
requestioctl command
argioctl argument
Returns
0 on success otherwise a negative error code

◆ snd_hwdep_name()

const char * snd_hwdep_name ( snd_hwdep_t * hwdep)

get identifier of HwDep handle

Parameters
hwdepa Hwdep handle
Returns
ascii identifier of HwDep handle

Returns the ASCII identifier of given HwDep handle. It's the same identifier specified in snd_hwdep_open().

◆ snd_hwdep_nonblock()

int snd_hwdep_nonblock ( snd_hwdep_t * hwdep,
int nonblock )

set nonblock mode

Parameters
hwdepHwDep handle
nonblock0 = block, 1 = nonblock mode
Returns
0 on success otherwise a negative error code

◆ snd_hwdep_open()

int snd_hwdep_open ( snd_hwdep_t ** hwdep,
const char * name,
int mode )

Opens a new connection to the HwDep interface.

Parameters
hwdepReturned handle (NULL if not wanted)
nameASCII identifier of the HwDep handle
modeOpen mode
Returns
0 on success otherwise a negative error code

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

◆ snd_hwdep_open_lconf()

int snd_hwdep_open_lconf ( snd_hwdep_t ** hwdep,
const char * name,
int mode,
snd_config_t * lconf )

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

Parameters
hwdepReturned handle (NULL if not wanted)
nameASCII identifier of the HwDep handle
modeOpen mode
lconfThe local configuration tree
Returns
0 on success otherwise a negative error code

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

◆ snd_hwdep_poll_descriptors()

int snd_hwdep_poll_descriptors ( snd_hwdep_t * hwdep,
struct pollfd * pfds,
unsigned int space )

get poll descriptors

Parameters
hwdepHwDep handle
pfdsarray of poll descriptors
spacespace in the poll descriptor array
Returns
count of filled descriptors

◆ snd_hwdep_poll_descriptors_count()

int snd_hwdep_poll_descriptors_count ( snd_hwdep_t * hwdep)

get count of poll descriptors for HwDep handle

Parameters
hwdepHwDep handle
Returns
count of poll descriptors

◆ snd_hwdep_poll_descriptors_revents()

int snd_hwdep_poll_descriptors_revents ( snd_hwdep_t * hwdep,
struct pollfd * pfds,
unsigned int nfds,
unsigned short * revents )

get returned events from poll descriptors

Parameters
hwdepHwDep handle
pfdsarray of poll descriptors
nfdscount of poll descriptors
reventsreturned events
Returns
zero if success, otherwise a negative error code

◆ snd_hwdep_read()

ssize_t snd_hwdep_read ( snd_hwdep_t * hwdep,
void * buffer,
size_t size )

read bytes using HwDep handle

Parameters
hwdepHwDep handle
bufferbuffer to store the input bytes
sizeinput buffer size in bytes

◆ snd_hwdep_type()

snd_hwdep_type_t snd_hwdep_type ( snd_hwdep_t * hwdep)

get type of HwDep handle

Parameters
hwdepa HwDep handle
Returns
type of HwDep handle

Returns the type #snd_hwdep_type_t of given HwDep handle.

◆ snd_hwdep_write()

ssize_t snd_hwdep_write ( snd_hwdep_t * hwdep,
const void * buffer,
size_t size )

write bytes using HwDep handle

Parameters
hwdepHwDep handle
bufferbuffer containing bytes to write
sizeoutput buffer size in bytes