ALSA project - the C library reference
Macros | Typedefs | Functions | Variables
Error handling

Macros

#define SND_ERROR_BEGIN   500000
 
#define SND_ERROR_INCOMPATIBLE_VERSION   (SND_ERROR_BEGIN+0)
 
#define SND_ERROR_ALISP_NIL   (SND_ERROR_BEGIN+1)
 
#define SNDERR(args...)   snd_lib_error(__FILE__, __LINE__, __func__, 0, ##args)
 
#define SYSERR(args...)   snd_lib_error(__FILE__, __LINE__, __func__, errno, ##args)
 

Typedefs

typedef void(* snd_lib_error_handler_t) (const char *file, int line, const char *function, int err, const char *fmt,...)
 Error handler callback. More...
 

Functions

const char * snd_strerror (int errnum)
 Returns the message for an error code. More...
 
int snd_lib_error_set_handler (snd_lib_error_handler_t handler)
 Sets the error handler. More...
 

Variables

snd_lib_error_handler_t snd_lib_error
 
snd_lib_error_handler_t snd_lib_error = snd_lib_error_default
 

Detailed Description

Error handling macros and functions.

Macro Definition Documentation

◆ SND_ERROR_ALISP_NIL

#define SND_ERROR_ALISP_NIL   (SND_ERROR_BEGIN+1)

Lisp encountered an error during acall.

◆ SND_ERROR_BEGIN

#define SND_ERROR_BEGIN   500000

Lower boundary of sound error codes.

◆ SND_ERROR_INCOMPATIBLE_VERSION

#define SND_ERROR_INCOMPATIBLE_VERSION   (SND_ERROR_BEGIN+0)

Kernel/library protocols are not compatible.

◆ SNDERR

#define SNDERR (   args...)    snd_lib_error(__FILE__, __LINE__, __func__, 0, ##args)

Shows a sound error message.

◆ SYSERR

#define SYSERR (   args...)    snd_lib_error(__FILE__, __LINE__, __func__, errno, ##args)

Shows a system error message (related to errno).

Typedef Documentation

◆ snd_lib_error_handler_t

typedef void(* snd_lib_error_handler_t) (const char *file, int line, const char *function, int err, const char *fmt,...)

Error handler callback.

Parameters
fileSource file name.
lineLine number.
functionFunction name.
errValue of errno, or 0 if not relevant.
fmtprintf(3) format.
...printf(3) arguments.

A function of this type is called by the ALSA library when an error occurs. This function usually shows the message on the screen, and/or logs it.

Function Documentation

◆ snd_lib_error_set_handler()

int snd_lib_error_set_handler ( snd_lib_error_handler_t  handler)

Sets the error handler.

Parameters
handlerThe pointer to the new error handler function.

This function sets a new error handler, or (if handler is NULL) the default one which prints the error messages to stderr.

◆ snd_strerror()

const char * snd_strerror ( int  errnum)

Returns the message for an error code.

Parameters
errnumThe error code number, which must be a system error code or an ALSA error code.
Returns
The ASCII description of the given numeric error code.
Examples
/test/latency.c, /test/pcm.c, /test/pcm_min.c, /test/rawmidi.c, and /test/timer.c.

Variable Documentation

◆ snd_lib_error [1/2]

snd_lib_error_handler_t snd_lib_error
extern

Pointer to the error handler function. For internal use only.

◆ snd_lib_error [2/2]

snd_lib_error_handler_t snd_lib_error = snd_lib_error_default

Pointer to the error handler function. For internal use only.