alSetErrorHandler(3dm) alSetErrorHandler(3dm) NAME alSetErrorHandler - establish an alternate audio error handling routine SYNOPSIS #include <dmedia/audio.h> ALerrfunc alSetErrorHandler(ALerrfunc efunc) PARAMETER efunc expects a pointer to an error handling routine declared as void errorfunc(int, const char*, ...) DESCRIPTION By default, the Audio Library handles errors silently, returning a failure code to the caller. alSetErrorHandler(3dm) allows you to install an error handling routine which is called in the event of an error in an Audio Library call. This error handler can be a function in the application or a default error handler provided by the AL. Two special values are accepted for efunc. If efunc is 0, errors are handled silently and no error handler is called. This is the default behavior. If efunc is AL_PRINT_ERRORS, the AL installs a simple internal error handler which prints a message to stderr. This was the default behavior in older versions of the AL. If efunc is neither of these values, it is assumed to be a pointer to a function provided by the caller. The arguments that are passed to the error handling routine are an error code and a printf-like string perhaps followed with printf-like arguments. The returned value is a pointer to the previous value of efunc. EXAMPLE #include <dmedia/audio.h> static void myerror(int code, const char* fmt, ...) { /* do something with code */ } void example() { ALerrfunc originalErrorHandler; ... /* set up myerror as the error handler */ originalErrorHandler = alSetErrorHandler(myerror); /* do some audio stuff here */ /* back to normal behavior: errors are ignored */ ... } SEE ALSO stdarg(5) Page 2