int glLoadFunctions(void) { open_libgl(); load_procs(); close_libgl(); return 1; }
int gleswInit(void) { open_libgl(); load_procs(); close_libgl(); return parse_version(); }
int gl3wInit(void) { int res = open_libgl(); if (res) return res; atexit(close_libgl); return gl3wInit2(get_proc); }
int gl3wInit2(GL3WGetProcAddressProc proc) { int res = open_libgl(); if (res) return res; atexit(close_libgl); load_procs(proc); return parse_version(); }
int glxwInitEGLCtx(struct glxw_egl *ctx) { void *libgl; if((libgl = open_libgl())) { load_procs(libgl, ctx); close_libgl(libgl); return 0; } return -1; }