GNU Info

Info Node: (openal.info)Making your own

(openal.info)Making your own


Prev: Built in Up: Extensions
Enter node , (file) or (file)node

   It is possible to extend the functionality of Loki's implementation
of OpenAL via plugins (combined with some configuration mojo).

   "Plugins" are actually just shared libraries which contain, as an
available symbol, a table which contains function name/address pairs.
Code necessary for library initialization and exit should be placed in
_init, _fini as described in dlopen(3).

   The table containing the function name/address pairs should
correspond to the following format:

     struct {
             ALubyte *name;
             void *addr;
     } alExtension_03282000 [] = {
         { "alutLoadGIF", (void *) alutLoadGIF },
         { NULL, NULL }
     };

   Right now, the end `{ NULL, NULL }' pair is needed, and the table
needs to be named `alExtension_03282000'.  This format is likely to
change in the future, in order to avoid a badly written plugin from
crashing each application linked against openal.

   In order to take advantage of the extension, openal will have to be
informed of its location via the configuration file Note:
Configuration.

   To avoid potential compatibility problems with initialization code,
Loki's OpenAL implementation checks for the presence of the functions
`alExtInit_03282000' and `alExtFini_03282000'.  These functions are
executed at dlopen and dlclose time, respectively.

Includes and typedefs
Basics
Getting symbol information
Adding Filters

automatically generated by info2www version 1.2.2.9