Open-source multiplayer game server compatible with the RuneScape client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openrs2/gl-dri-natives/src/main/c/jaggl_dri.c

30 lines
703 B

#include "jaggl_X11_dri.h"
#include <dlfcn.h>
#include <stddef.h>
static void *jaggl_dri_handle;
JNIEXPORT jboolean JNICALL Java_jaggl_X11_dri_open(JNIEnv *env, jclass cls, jstring path) {
if (jaggl_dri_handle) {
dlclose(jaggl_dri_handle);
jaggl_dri_handle = NULL;
}
const char *path_str = (*env)->GetStringUTFChars(env, path, NULL);
jaggl_dri_handle = dlopen(path_str, RTLD_LAZY | RTLD_GLOBAL);
(*env)->ReleaseStringUTFChars(env, path, path_str);
return jaggl_dri_handle != NULL;
}
JNIEXPORT jboolean JNICALL Java_jaggl_X11_dri_close(JNIEnv *env, jclass cls) {
if (jaggl_dri_handle) {
dlclose(jaggl_dri_handle);
jaggl_dri_handle = NULL;
return JNI_TRUE;
}
return JNI_FALSE;
}