WAFFLE_DL(3)

πŸ’– WAFFLE_DL β€” the Waffle Manual, section 3 πŸ’–

okay bestie, so waffle_dl, waffle_dl_can_open, and waffle_dl_sym are literally your platform-independent interface to dynamic libraries ✨ no cap, they're the moment 🫢


🌸 NAME 🌸

waffle_dl, waffle_dl_can_open, waffle_dl_sym β€” the platform-independent interface to dynamic libraries, aka the glow-up that lets you stop caring which OS you're on πŸ’…


πŸŽ€ 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 are giving ✨platform-independent interface✨ for dynamic OpenGL libraries. For each function, the parameter dl has to be one of these icons, no substitutes:

  • 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. Yes, the last two are literally twins. That's just how it is. πŸ™ˆ

🌈 waffle_dl_can_open()

Test if a dynamic library can be opened. It's giving vibe check for libraries πŸ’€

🌈 waffle_dl_sym()

Get a symbol from a dynamic library. Shoutout to the main characters inside πŸ”₯


⭐ 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 β€” like, if something went wrong, that's where the receipts are 🧾


πŸ’€ ERRORS πŸ’€

If waffle fails to find the requested library on the system, then WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM is emitted. Not me getting that error at 3am 😭

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. The maintainers want your thoughts bestie, don't gatekeep πŸ’œ


πŸ‘‘ SEE ALSO πŸ‘‘

waffle(7), waffle_get_proc_address(3) β€” the whole friend group, iykyk πŸŽ€


πŸ’œ AUTHOR πŸ’œ

Chad Versace <chad.versace@linux.intel.com>

  • Former maintainer

Copyright Β© 2013 Intel

This manual page is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License (CC BY-SA 3.0). To view a copy of this license, visit http://creativecommons.org.license/by-sa/3.0/us.


and that's the whole page bestie!! this was waffle manual action from 07/06/2026, section 3 of the Waffle Manual, and honestly? iconic. slay, read the docs, hydrate, and go call waffle_dl_sym on something πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from