Name

waffle_dl, waffle_dl_can_open, waffle_dl_sym — platform-independent interface to dynamic libraries

Synopsis

#include <waffle.h>
bool waffle_dl_can_open( int32_t dl);
 
void* waffle_dl_sym( int32_t dl,
  const char* symbol);
 

Description

The waffle_dl functions provide a platform-independent interface for dynamic OpenGL libraries. For each function, the parameter dl must be one of:

WAFFLE_DL_OPENGL
WAFFLE_DL_OPENGL_ES1
WAFFLE_DL_OPENGL_ES2
WAFFLE_DL_OPENGL_ES3

For example, on Linux, the WAFFLE_DL_* enums map to libGL.so.1, libGLESv1_CM.so.1, libGLESv2.so.2, and libGLESv2.so.2, respectively.

waffle_dl_can_open()

Test if a dynamic library can be opened.

waffle_dl_sym()

Get a symbol from a dynamic library.

Return Value

Functions whose return type is bool return true on success and false on failure. Functions whose return type is a pointer return NULL on failure. Use waffle_error_get_info(3) to get information about any errors.

Errors

If waffle fails to find the requested library on the system, then WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM is emitted.

See waffle_error(3) for the complete list of waffle's error codes.

Issues

Please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues.

See Also

waffle(7), waffle_get_proc_address(3)