Copyright (C) 2000-2012 |
GNU Info (openal.info)Making your ownIt 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. automatically generated by info2www version 1.2.2.9 |