Class DynLoad
- java.lang.Object
-
- org.lwjgl.system.dyncall.DynLoad
-
public class DynLoad extends java.lang.Object
Native bindings to \"dynload.h\".The dynload library provides an interface to load foreign dynamic libraries and access to their symbols.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
dlFindSymbol(long pLib, java.lang.CharSequence pSymbolName)
Returns a pointer to a symbol with namepSymbolName
in the library with handlepLib
, or returns a null pointer if the symbol cannot be found.static long
dlFindSymbol(long pLib, java.nio.ByteBuffer pSymbolName)
Returns a pointer to a symbol with namepSymbolName
in the library with handlepLib
, or returns a null pointer if the symbol cannot be found.static void
dlFreeLibrary(long pLib)
Frees a loaded library.static java.lang.String
dlGetLibraryPath(long pLib, int bufSize)
Gets a copy of the path to the library loaded with handlepLib
.static int
dlGetLibraryPath(long pLib, java.nio.ByteBuffer sOut)
Gets a copy of the path to the library loaded with handlepLib
.static long
dlLoadLibrary(java.lang.CharSequence libpath)
Loads a dynamic library atlibpath
and returns a handle to it.static long
dlLoadLibrary(java.nio.ByteBuffer libpath)
Loads a dynamic library atlibpath
and returns a handle to it.static void
dlSymsCleanup(long pSyms)
Frees the specifiedDLSyms
object.static int
dlSymsCount(long pSyms)
Returns the number of symbols exported by the specified library.static long
dlSymsInit(java.lang.CharSequence libPath)
Creates a newDLSyms
object.static long
dlSymsInit(java.nio.ByteBuffer libPath)
Creates a newDLSyms
object.static java.lang.String
dlSymsName(long pSyms, int index)
Returns the symbol name exported by the specified library at the specified index.static java.lang.String
dlSymsNameFromValue(long pSyms, long value)
Returns the symbol name exported by the specified library at the specified address.static long
ndlFindSymbol(long pLib, long pSymbolName)
Unsafe version of:FindSymbol
static void
ndlFreeLibrary(long pLib)
Unsafe version of:FreeLibrary
static int
ndlGetLibraryPath(long pLib, long sOut, int bufSize)
Unsafe version of:GetLibraryPath
static long
ndlLoadLibrary(long libpath)
Unsafe version of:LoadLibrary
static void
ndlSymsCleanup(long pSyms)
Unsafe version of:SymsCleanup
static int
ndlSymsCount(long pSyms)
Unsafe version of:SymsCount
static long
ndlSymsInit(long libPath)
Unsafe version of:SymsInit
static long
ndlSymsName(long pSyms, int index)
Unsafe version of:SymsName
static long
ndlSymsNameFromValue(long pSyms, long value)
Unsafe version of:SymsNameFromValue
-
-
-
Method Detail
-
ndlLoadLibrary
public static long ndlLoadLibrary(long libpath)
Unsafe version of:LoadLibrary
-
dlLoadLibrary
public static long dlLoadLibrary(java.nio.ByteBuffer libpath) public static long dlLoadLibrary(java.lang.CharSequence libpath)
Loads a dynamic library atlibpath
and returns a handle to it.- Parameters:
libpath
- the dynamic library path
-
ndlFreeLibrary
public static void ndlFreeLibrary(long pLib)
Unsafe version of:FreeLibrary
-
dlFreeLibrary
public static void dlFreeLibrary(long pLib)
Frees a loaded library.- Parameters:
pLib
- the dynamic library to free
-
ndlFindSymbol
public static long ndlFindSymbol(long pLib, long pSymbolName)
Unsafe version of:FindSymbol
-
dlFindSymbol
public static long dlFindSymbol(long pLib, java.nio.ByteBuffer pSymbolName) public static long dlFindSymbol(long pLib, java.lang.CharSequence pSymbolName)
Returns a pointer to a symbol with namepSymbolName
in the library with handlepLib
, or returns a null pointer if the symbol cannot be found.- Parameters:
pLib
- the dynamic librarypSymbolName
- the symbol name
-
ndlGetLibraryPath
public static int ndlGetLibraryPath(long pLib, long sOut, int bufSize)
Unsafe version of:GetLibraryPath
- Parameters:
bufSize
- the size ofsOut
, in bytes
-
dlGetLibraryPath
public static int dlGetLibraryPath(long pLib, java.nio.ByteBuffer sOut)
Gets a copy of the path to the library loaded with handlepLib
.The parameter
sOut
is a pointer to a buffer of sizebufSize
(in bytes), to hold the output string. The return value is the size of the buffer (in bytes) needed to hold the null-terminated string, or 0 if it can't be looked up. IfbufSize >= return value > 1
, a null-terminated string with the path to the library should be insOut
. If it returns 0, the library name wasn't able to be found. Please note that this might happen in some rare cases, so make sure to always check.- Parameters:
pLib
- the dynamic librarysOut
- pointer to a buffer where the library path will be stored
-
dlGetLibraryPath
public static java.lang.String dlGetLibraryPath(long pLib, int bufSize)
Gets a copy of the path to the library loaded with handlepLib
.The parameter
sOut
is a pointer to a buffer of sizebufSize
(in bytes), to hold the output string. The return value is the size of the buffer (in bytes) needed to hold the null-terminated string, or 0 if it can't be looked up. IfbufSize >= return value > 1
, a null-terminated string with the path to the library should be insOut
. If it returns 0, the library name wasn't able to be found. Please note that this might happen in some rare cases, so make sure to always check.- Parameters:
pLib
- the dynamic librarybufSize
- the size ofsOut
, in bytes
-
ndlSymsInit
public static long ndlSymsInit(long libPath)
Unsafe version of:SymsInit
-
dlSymsInit
public static long dlSymsInit(java.nio.ByteBuffer libPath) public static long dlSymsInit(java.lang.CharSequence libPath)
Creates a newDLSyms
object.- Parameters:
libPath
- the dynamic library path
-
ndlSymsCleanup
public static void ndlSymsCleanup(long pSyms)
Unsafe version of:SymsCleanup
-
dlSymsCleanup
public static void dlSymsCleanup(long pSyms)
Frees the specifiedDLSyms
object.- Parameters:
pSyms
- theDLSyms
object to free
-
ndlSymsCount
public static int ndlSymsCount(long pSyms)
Unsafe version of:SymsCount
-
dlSymsCount
public static int dlSymsCount(long pSyms)
Returns the number of symbols exported by the specified library.- Parameters:
pSyms
- aDLSyms
object
-
ndlSymsName
public static long ndlSymsName(long pSyms, int index)
Unsafe version of:SymsName
-
dlSymsName
@Nullable public static java.lang.String dlSymsName(long pSyms, int index)
Returns the symbol name exported by the specified library at the specified index.- Parameters:
pSyms
- aDLSyms
object
-
ndlSymsNameFromValue
public static long ndlSymsNameFromValue(long pSyms, long value)
Unsafe version of:SymsNameFromValue
-
dlSymsNameFromValue
@Nullable public static java.lang.String dlSymsNameFromValue(long pSyms, long value)
Returns the symbol name exported by the specified library at the specified address.- Parameters:
pSyms
- aDLSyms
objectvalue
- the symbol address
-
-