Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

Hardware Dependant Interface


Defines

#define SND_HWDEP_DLSYM_VERSION   _dlsym_hwdep_001
#define SND_HWDEP_OPEN_READ   (O_RDONLY)
#define SND_HWDEP_OPEN_WRITE   (O_WRONLY)
#define SND_HWDEP_OPEN_DUPLEX   (O_RDWR)
#define SND_HWDEP_OPEN_NONBLOCK   (O_NONBLOCK)
#define snd_hwdep_info_alloca(ptr)   do { assert(ptr); *ptr = (snd_hwdep_info_t *) alloca(snd_hwdep_info_sizeof()); memset(*ptr, 0, snd_hwdep_info_sizeof()); } while (0)
#define snd_hwdep_dsp_status_alloca(ptr)   do { assert(ptr); *ptr = (snd_hwdep_dsp_status_t *) alloca(snd_hwdep_dsp_status_sizeof()); memset(*ptr, 0, snd_hwdep_dsp_status_sizeof()); } while (0)
#define snd_hwdep_dsp_image_alloca(ptr)   do { assert(ptr); *ptr = (snd_hwdep_dsp_image_t *) alloca(snd_hwdep_dsp_image_sizeof()); memset(*ptr, 0, snd_hwdep_dsp_image_sizeof()); } while (0)

Typedefs

typedef _snd_hwdep_info snd_hwdep_info_t
typedef _snd_hwdep_dsp_status snd_hwdep_dsp_status_t
typedef _snd_hwdep_dsp_image snd_hwdep_dsp_image_t
typedef enum _snd_hwdep_iface snd_hwdep_iface_t
typedef enum _snd_hwdep_type snd_hwdep_type_t
typedef _snd_hwdep snd_hwdep_t

Enumerations

enum  _snd_hwdep_iface {
  SND_HWDEP_IFACE_OPL2 = 0, SND_HWDEP_IFACE_OPL3, SND_HWDEP_IFACE_OPL4, SND_HWDEP_IFACE_SB16CSP,
  SND_HWDEP_IFACE_EMU10K1, SND_HWDEP_IFACE_YSS225, SND_HWDEP_IFACE_ICS2115, SND_HWDEP_IFACE_SSCAPE,
  SND_HWDEP_IFACE_VX, SND_HWDEP_IFACE_MIXART, SND_HWDEP_IFACE_USX2Y, SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_USX2Y
}
enum  _snd_hwdep_type { SND_HWDEP_TYPE_HW, SND_HWDEP_TYPE_SHM, SND_HWDEP_TYPE_INET }

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_close (snd_hwdep_t *hwdep)
 close 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

int snd_hwdep_info (snd_hwdep_t *hwdep, snd_hwdep_info_t *info)
 get information about HwDep handle

int snd_hwdep_dsp_status (snd_hwdep_t *hwdep, snd_hwdep_dsp_status_t *status)
 get the DSP status information

int snd_hwdep_dsp_load (snd_hwdep_t *hwdep, snd_hwdep_dsp_image_t *block)
 load the DSP block

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

size_t snd_hwdep_info_sizeof (void)
 get size of the snd_hwdep_info_t structure in bytes

int snd_hwdep_info_malloc (snd_hwdep_info_t **ptr)
 allocate a new snd_hwdep_info_t structure

void snd_hwdep_info_free (snd_hwdep_info_t *obj)
 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

unsigned int snd_hwdep_info_get_device (const snd_hwdep_info_t *obj)
 get hwdep device number

int snd_hwdep_info_get_card (const snd_hwdep_info_t *obj)
 get hwdep card 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

size_t snd_hwdep_dsp_status_sizeof (void)
 get size of the snd_hwdep_dsp_status_t structure in bytes

int snd_hwdep_dsp_status_malloc (snd_hwdep_dsp_status_t **ptr)
 allocate a new snd_hwdep_dsp_status_t structure

void snd_hwdep_dsp_status_free (snd_hwdep_dsp_status_t *obj)
 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 *obj)
 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 (void)
 get size of the snd_hwdep_dsp_image_t structure in bytes

int snd_hwdep_dsp_image_malloc (snd_hwdep_dsp_image_t **ptr)
 allocate a new snd_hwdep_dsp_image_t structure

void snd_hwdep_dsp_image_free (snd_hwdep_dsp_image_t *obj)
 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

const void * snd_hwdep_dsp_image_get_image (const snd_hwdep_dsp_image_t *obj)
 get the image pointer 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

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_image (snd_hwdep_dsp_image_t *obj, void *buffer)
 set the DSP block image pointer

void snd_hwdep_dsp_image_set_length (snd_hwdep_dsp_image_t *obj, size_t length)
 set the DSP block length


Detailed Description

The Hardware Dependant Interface.

Define Documentation

#define SND_HWDEP_DLSYM_VERSION   _dlsym_hwdep_001
 

dlsym version for interface entry callback

#define snd_hwdep_dsp_image_alloca ptr   )     do { assert(ptr); *ptr = (snd_hwdep_dsp_image_t *) alloca(snd_hwdep_dsp_image_sizeof()); memset(*ptr, 0, snd_hwdep_dsp_image_sizeof()); } while (0)
 

allocate snd_hwdep_dsp_image_t container on stack

#define snd_hwdep_dsp_status_alloca ptr   )     do { assert(ptr); *ptr = (snd_hwdep_dsp_status_t *) alloca(snd_hwdep_dsp_status_sizeof()); memset(*ptr, 0, snd_hwdep_dsp_status_sizeof()); } while (0)
 

allocate snd_hwdep_dsp_status_t container on stack

#define snd_hwdep_info_alloca ptr   )     do { assert(ptr); *ptr = (snd_hwdep_info_t *) alloca(snd_hwdep_info_sizeof()); memset(*ptr, 0, snd_hwdep_info_sizeof()); } while (0)
 

allocate snd_hwdep_info_t container on stack

#define SND_HWDEP_OPEN_DUPLEX   (O_RDWR)
 

open for reading and writing

#define SND_HWDEP_OPEN_NONBLOCK   (O_NONBLOCK)
 

open mode flag: open in nonblock mode

#define SND_HWDEP_OPEN_READ   (O_RDONLY)
 

open for reading

#define SND_HWDEP_OPEN_WRITE   (O_WRONLY)
 

open for writing


Typedef Documentation

typedef struct _snd_hwdep_dsp_image snd_hwdep_dsp_image_t
 

HwDep DSP image container

typedef struct _snd_hwdep_dsp_status snd_hwdep_dsp_status_t
 

HwDep DSP status container

typedef enum _snd_hwdep_iface snd_hwdep_iface_t
 

HwDep interface

typedef struct _snd_hwdep_info snd_hwdep_info_t
 

HwDep information container

typedef struct _snd_hwdep snd_hwdep_t
 

HwDep handle

typedef enum _snd_hwdep_type snd_hwdep_type_t
 

HwDep handle type


Enumeration Type Documentation

enum _snd_hwdep_iface
 

HwDep interface

Enumeration values:
SND_HWDEP_IFACE_OPL2  OPL2 raw driver
SND_HWDEP_IFACE_OPL3  OPL3 raw driver
SND_HWDEP_IFACE_OPL4  OPL4 raw driver
SND_HWDEP_IFACE_SB16CSP  SB16CSP driver
SND_HWDEP_IFACE_EMU10K1  EMU10K1 driver
SND_HWDEP_IFACE_YSS225  YSS225 driver
SND_HWDEP_IFACE_ICS2115  ICS2115 driver
SND_HWDEP_IFACE_SSCAPE  Ensoniq SoundScape ISA card (MC68EC000)
SND_HWDEP_IFACE_VX  Digigram VX cards
SND_HWDEP_IFACE_MIXART  Digigram miXart cards
SND_HWDEP_IFACE_USX2Y  Tascam US122, US224 & US428 usb
SND_HWDEP_IFACE_LAST  last know hwdep interface

enum _snd_hwdep_type
 

HwDep handle type

Enumeration values:
SND_HWDEP_TYPE_HW  Kernel level HwDep
SND_HWDEP_TYPE_SHM  Shared memory client HwDep (not yet implemented)
SND_HWDEP_TYPE_INET  INET client HwDep (not yet implemented)


Function Documentation

int snd_hwdep_close snd_hwdep_t hwdep  ) 
 

close HwDep handle

Parameters:
hwdep HwDep handle
Returns:
0 on success otherwise a negative error code
Closes the specified HwDep handle and frees all associated resources.

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:
dst destination snd_hwdep_dsp_image_t structure
src source 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

Parameters:
info pointer 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.

const void* snd_hwdep_dsp_image_get_image const snd_hwdep_dsp_image_t obj  ) 
 

get the image pointer of the DSP block

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

unsigned int snd_hwdep_dsp_image_get_index const snd_hwdep_dsp_image_t obj  ) 
 

get the DSP block index

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
Returns:
the index 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

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
Returns:
the length of the DSP block in bytes

const char* snd_hwdep_dsp_image_get_name const snd_hwdep_dsp_image_t obj  ) 
 

get the name of the DSP block

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
Returns:
the name string of the DSP block

int snd_hwdep_dsp_image_malloc snd_hwdep_dsp_image_t **  info  ) 
 

allocate a new snd_hwdep_dsp_image_t structure

Parameters:
ptr returned 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.

void snd_hwdep_dsp_image_set_image snd_hwdep_dsp_image_t obj,
void *  image
 

set the DSP block image pointer

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
image the DSP image pointer

void snd_hwdep_dsp_image_set_index snd_hwdep_dsp_image_t obj,
unsigned int  index
 

set the DSP block index

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
index the index value to set

void snd_hwdep_dsp_image_set_length snd_hwdep_dsp_image_t obj,
size_t  length
 

set the DSP block length

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
length the length of the DSP block

void snd_hwdep_dsp_image_set_name snd_hwdep_dsp_image_t obj,
const char *  name
 

set the name of the DSP block

Parameters:
info pointer to a snd_hwdep_dsp_image_t structure
name the name string

size_t snd_hwdep_dsp_image_sizeof void   ) 
 

get size of the snd_hwdep_dsp_image_t structure in bytes

Returns:
size of the snd_hwdep_dsp_image_t structure in bytes

int snd_hwdep_dsp_load snd_hwdep_t hwdep,
snd_hwdep_dsp_image_t block
 

load the DSP block

Parameters:
hwdep HwDep handle
block pointer to a snd_hwdep_dsp_image_t structure to transfer
Returns:
0 on success otherwise a negative error code

int snd_hwdep_dsp_status snd_hwdep_t hwdep,
snd_hwdep_dsp_status_t info
 

get the DSP status information

Parameters:
hwdep HwDep handle
info pointer to a snd_hwdep_dsp_status_t structure to be filled
Returns:
0 on success otherwise a negative error code

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:
dst destination snd_hwdep_dsp_status_t structure
src source 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

Parameters:
info pointer 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.

unsigned int snd_hwdep_dsp_status_get_chip_ready const snd_hwdep_dsp_status_t obj  ) 
 

get the chip status of dsp loader

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

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:
info pointer to a snd_hwdep_dsp_status_t structure
Returns:
the big flags of the loaded dsp blocks

const char* snd_hwdep_dsp_status_get_id const snd_hwdep_dsp_status_t obj  ) 
 

get the driver id of dsp loader

Parameters:
info pointer to a snd_hwdep_dsp_status_t structure
Returns:
the driver id string

unsigned int snd_hwdep_dsp_status_get_num_dsps const snd_hwdep_dsp_status_t obj  ) 
 

get number of dsp blocks

Parameters:
info pointer to a snd_hwdep_dsp_status_t structure
Returns:
number of dsp blocks

unsigned int snd_hwdep_dsp_status_get_version const snd_hwdep_dsp_status_t obj  ) 
 

get the driver version of dsp loader

Parameters:
info pointer to a snd_hwdep_dsp_status_t structure
Returns:
the driver version

int snd_hwdep_dsp_status_malloc snd_hwdep_dsp_status_t **  info  ) 
 

allocate a new snd_hwdep_dsp_status_t structure

Parameters:
ptr returned 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.

size_t snd_hwdep_dsp_status_sizeof void   ) 
 

get size of the snd_hwdep_dsp_status_t structure in bytes

Returns:
size of the snd_hwdep_dsp_status_t structure in bytes

int snd_hwdep_info snd_hwdep_t hwdep,
snd_hwdep_info_t info
 

get information about HwDep handle

Parameters:
hwdep HwDep handle
info pointer to a snd_hwdep_info_t structure to be filled
Returns:
0 on success otherwise a negative error code

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:
dst destination snd_hwdep_info_t structure
src source snd_hwdep_info_t structure

void snd_hwdep_info_free snd_hwdep_info_t info  ) 
 

frees the snd_hwdep_info_t structure

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

int snd_hwdep_info_get_card const snd_hwdep_info_t obj  ) 
 

get hwdep card number

Parameters:
info pointer to a snd_hwdep_info_t structure
Returns:
hwdep card number

unsigned int snd_hwdep_info_get_device const snd_hwdep_info_t info  ) 
 

get hwdep device number

Parameters:
info pointer to a snd_hwdep_info_t structure
Returns:
hwdep device number

const char* snd_hwdep_info_get_id const snd_hwdep_info_t obj  ) 
 

get hwdep driver identifier

Parameters:
info pointer to a snd_hwdep_info_t structure
Returns:
hwdep driver identifier

snd_hwdep_iface_t snd_hwdep_info_get_iface const snd_hwdep_info_t obj  ) 
 

get hwdep protocol interface

Parameters:
info pointer to a snd_hwdep_info_t structure
Returns:
hwdep protocol interface

const char* snd_hwdep_info_get_name const snd_hwdep_info_t obj  ) 
 

get hwdep driver name

Parameters:
info pointer to a snd_hwdep_info_t structure
Returns:
hwdep driver name

int snd_hwdep_info_malloc snd_hwdep_info_t **  info  ) 
 

allocate a new snd_hwdep_info_t structure

Parameters:
ptr returned 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.

void snd_hwdep_info_set_device snd_hwdep_info_t obj,
unsigned int  val
 

set hwdep device number

Parameters:
info pointer to a snd_hwdep_info_t structure
val hwdep device

size_t snd_hwdep_info_sizeof void   ) 
 

get size of the snd_hwdep_info_t structure in bytes

Returns:
size of the snd_hwdep_info_t structure in bytes

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

do hardware dependent ioctl

Parameters:
hwdep HwDep handle
request ioctl command
arg ioctl argument
Returns:
0 on success otherwise a negative error code

int snd_hwdep_nonblock snd_hwdep_t hwdep,
int  nonblock
 

set nonblock mode

Parameters:
hwdep HwDep handle
nonblock 0 = block, 1 = nonblock mode
Returns:
0 on success otherwise a negative error code

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

Opens a new connection to the HwDep interface.

Parameters:
hwdep Returned handle (NULL if not wanted)
name ASCII identifier of the HwDep handle
mode Open 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.

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

get poll descriptors

Parameters:
hwdep HwDep handle
pfds array of poll descriptors
space space in the poll descriptor array
Returns:
count of filled 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

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

ssize_t snd_hwdep_read snd_hwdep_t hwdep,
void *  buffer,
size_t  size
 

read bytes using HwDep handle

Parameters:
hwdep HwDep handle
buffer buffer to store the input bytes
size input buffer size in bytes

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

write bytes using HwDep handle

Parameters:
hwdep HwDep handle
buffer buffer containing bytes to write
size output buffer size in bytes


Generated on Mon May 3 16:15:23 2004 for ALSA project - the C library reference by doxygen 1.3.6