Package org.lwjgl.system.linux
Class DynamicLinkLoader
- java.lang.Object
-
- org.lwjgl.system.linux.DynamicLinkLoader
-
public class DynamicLinkLoader extends java.lang.Object
Native bindings to.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
RTLD_BINDING_MASK
RTLD_DEEPBINDThemode
argument toDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
contains one of the following.static int
RTLD_GLOBAL
If the following bit is set in themode
argument toDynamicLinkLoader.dlopen(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 int
RTLD_LAZY
Themode
argument toDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
contains one of the following.static int
RTLD_LOCAL
Unix98 demands the following flag which is the inverse toDynamicLinkLoader.RTLD_GLOBAL
.static int
RTLD_NODELETE
Do not delete object when closed.static int
RTLD_NOLOAD
RTLD_NOWThemode
argument toDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
contains one of the following.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static int
dlclose(long handle)
Decrements the reference count on the dynamic library handle handle.static java.lang.String
dlerror()
Returns a human readable string describing the most recent error that occurred fromDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
,DynamicLinkLoader.dlsym(long, java.nio.ByteBuffer)
orDynamicLinkLoader.dlclose(long)
since the last call todlerror()
.static long
dlopen(java.nio.ByteBuffer filename, int mode)
Loads the dynamic library file named by the null-terminated stringfilename
and returns an opaque "handle" for the dynamic library.static long
dlopen(java.lang.CharSequence filename, int mode)
Loads the dynamic library file named by the null-terminated stringfilename
and returns an opaque "handle" for the dynamic library.static long
dlsym(long handle, java.nio.ByteBuffer name)
Takes a "handle" of a dynamic library returned byDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
and the null-terminated symbol name, returning the address where that symbol is loaded into memory.static long
dlsym(long handle, java.lang.CharSequence name)
Takes a "handle" of a dynamic library returned byDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
and the null-terminated symbol name, returning the address where that symbol is loaded into memory.
-
-
-
Field Detail
-
RTLD_LAZY, RTLD_NOW, RTLD_BINDING_MASK, RTLD_NOLOAD, RTLD_DEEPBIND
Themode
argument toDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
contains one of the following.
-
RTLD_GLOBAL
If the following bit is set in themode
argument toDynamicLinkLoader.dlopen(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 toDynamicLinkLoader.RTLD_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
-
dlopen
public static long dlopen(java.nio.ByteBuffer filename, int mode) public static long dlopen(java.lang.CharSequence filename, int mode)
Loads the dynamic library file named by the null-terminated stringfilename
and returns an opaque "handle" for the dynamic library. Iffilename
isNULL
, then the returned handle is for the main program.- Parameters:
filename
- the name of the dynamic library to open, orNULL
mode
- a bitfield. One or more of:
-
dlerror
public static java.lang.String dlerror()
Returns a human readable string describing the most recent error that occurred fromDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
,DynamicLinkLoader.dlsym(long, java.nio.ByteBuffer)
orDynamicLinkLoader.dlclose(long)
since the last call todlerror()
. It returnsNULL
if no errors have occurred since initialization or since it was last called.
-
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 byDynamicLinkLoader.dlopen(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 byDynamicLinkLoader.dlopen(java.nio.ByteBuffer, int)
when that library was loaded,dlsym()
returnsNULL
.- Parameters:
handle
- the dynamic library handlename
- the symbol name
-
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
-
-