Lines Matching refs:lib
30 static int uv__dlerror(uv_lib_t* lib);
33 int uv_dlopen(const char* filename, uv_lib_t* lib) {
35 lib->errmsg = NULL;
36 lib->handle = dlopen(filename, RTLD_LAZY);
37 return lib->handle ? 0 : uv__dlerror(lib);
41 void uv_dlclose(uv_lib_t* lib) {
42 uv__free(lib->errmsg);
43 lib->errmsg = NULL;
45 if (lib->handle) {
47 dlclose(lib->handle);
48 lib->handle = NULL;
53 int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr) {
55 *ptr = dlsym(lib->handle, name);
56 return *ptr ? 0 : uv__dlerror(lib);
60 const char* uv_dlerror(const uv_lib_t* lib) {
61 return lib->errmsg ? lib->errmsg : "no error";
65 static int uv__dlerror(uv_lib_t* lib) {
68 uv__free(lib->errmsg);
73 lib->errmsg = uv__strdup(errmsg);
77 lib->errmsg = NULL;