Package org.lwjgl.system.linux
Class DynamicLinkLoader
- java.lang.Object
-
- org.lwjgl.system.linux.DynamicLinkLoader
-
public class DynamicLinkLoader extends java.lang.ObjectNative bindings to <dlfcn.h>.
-
-
Field Summary
Fields Modifier and Type Field Description static intRTLD_BINDING_MASK
RTLD_DEEPBINDThemodeargument todlopen(java.nio.ByteBuffer, int)contains one of the following.static intRTLD_GLOBALIf the following bit is set in themodeargument todlopen(java.nio.ByteBuffer, int), the symbols of the loaded object and its dependencies are made visible as if the object were linked directly into the program.static intRTLD_LAZYThemodeargument todlopen(java.nio.ByteBuffer, int)contains one of the following.static intRTLD_LOCALUnix98 demands the following flag which is the inverse toRTLD_GLOBAL.static intRTLD_NODELETEDo not delete object when closed.static intRTLD_NOLOAD
RTLD_NOWThemodeargument todlopen(java.nio.ByteBuffer, int)contains one of the following.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intdlclose(long handle)Decrements the reference count on the dynamic library handle handle.static java.lang.Stringdlerror()Returns a human readable string describing the most recent error that occurred fromdlopen(java.nio.ByteBuffer, int),dlsym(long, java.nio.ByteBuffer)ordlclose(long)since the last call todlerror().static longdlopen(java.lang.CharSequence filename, int mode)Loads the dynamic library file named by the null-terminated stringfilenameand returns an opaque "handle" for the dynamic library.static longdlopen(java.nio.ByteBuffer filename, int mode)Loads the dynamic library file named by the null-terminated stringfilenameand returns an opaque "handle" for the dynamic library.static longdlsym(long handle, java.lang.CharSequence name)Takes a "handle" of a dynamic library returned bydlopen(java.nio.ByteBuffer, int)and the null-terminated symbol name, returning the address where that symbol is loaded into memory.static longdlsym(long handle, java.nio.ByteBuffer name)Takes a "handle" of a dynamic library returned bydlopen(java.nio.ByteBuffer, int)and the null-terminated symbol name, returning the address where that symbol is loaded into memory.static intndlclose(long handle)Unsafe version of:dlclose(long)static longndlerror()Unsafe version of:dlerror()static longndlopen(long filename, int mode)Unsafe version of:dlopen(java.nio.ByteBuffer, int)static longndlsym(long handle, long name)Unsafe version of:dlsym(long, java.nio.ByteBuffer)
-
-
-
Field Detail
-
RTLD_LAZY, RTLD_NOW, RTLD_BINDING_MASK, RTLD_NOLOAD, RTLD_DEEPBIND
Themodeargument todlopen(java.nio.ByteBuffer, int)contains one of the following.
-
RTLD_GLOBAL
If the following bit is set in themodeargument todlopen(java.nio.ByteBuffer, int), the symbols of the loaded object and its dependencies are made visible as if the object were linked directly into the program.
-
RTLD_LOCAL
Unix98 demands the following flag which is the inverse toRTLD_GLOBAL. The implementation does this by default and so we can define the value to zero.
-
RTLD_NODELETE
Do not delete object when closed.
-
-
Method Detail
-
ndlopen
public static long ndlopen(long filename, int mode)Unsafe version of:dlopen(java.nio.ByteBuffer, int)
-
dlopen
public static long dlopen(@Nullable java.nio.ByteBuffer filename, int mode) public static long dlopen(@Nullable java.lang.CharSequence filename, int mode)Loads the dynamic library file named by the null-terminated stringfilenameand returns an opaque "handle" for the dynamic library. IffilenameisNULL, then the returned handle is for the main program.- Parameters:
filename- the name of the dynamic library to open, orNULLmode- a bitfield. One or more of:RTLD_LAZYRTLD_NOWRTLD_BINDING_MASKRTLD_NOLOADRTLD_DEEPBINDRTLD_GLOBALRTLD_LOCALRTLD_NODELETE
-
ndlerror
public static long ndlerror()
Unsafe version of:dlerror()
-
dlerror
@Nullable public static java.lang.String dlerror()
Returns a human readable string describing the most recent error that occurred fromdlopen(java.nio.ByteBuffer, int),dlsym(long, java.nio.ByteBuffer)ordlclose(long)since the last call todlerror(). It returnsNULLif no errors have occurred since initialization or since it was last called.
-
ndlsym
public static long ndlsym(long handle, long name)Unsafe version of:dlsym(long, java.nio.ByteBuffer)
-
dlsym
public static long dlsym(long handle, java.nio.ByteBuffer name) public static long dlsym(long handle, java.lang.CharSequence name)Takes a "handle" of a dynamic library returned bydlopen(java.nio.ByteBuffer, int)and the null-terminated symbol name, returning the address where that symbol is loaded into memory. If the symbol is not found, in the specified library or any of the libraries that were automatically loaded bydlopen(java.nio.ByteBuffer, int)when that library was loaded,dlsym()returnsNULL.- Parameters:
handle- the dynamic library handlename- the symbol name
-
ndlclose
public static int ndlclose(long handle)
Unsafe version of:dlclose(long)
-
dlclose
public static int dlclose(long handle)
Decrements the reference count on the dynamic library handle handle. If the reference count drops to zero and no other loaded libraries use symbols in it, then the dynamic library is unloaded.- Parameters:
handle- the dynamic library to close
-
-