Closeable
, AutoCloseable
Provides management of native library resources. One instance of this class corresponds to a single loaded native library. May also be used to map to the current process (see
getProcess()
).
Library Search Paths A search for a given library will scan the following locations:
jna.library.path
User-customizable pathjna.platform.library.path
Platform-specific paths~/Library/Frameworks
, /Library/Frameworks
, and /System/Library/Frameworks
will be searched for a framework with a name corresponding to that requested. Absolute paths to frameworks are also accepted, either ending at the framework name (sans ".framework") or the full path to the framework shared library (e.g. CoreServices.framework/CoreServices).${os-prefix}/LIBRARY_FILENAME
, where ${os-prefix}
is the OS/Arch prefix returned by Platform.getNativeLibraryResourcePrefix()
. If bundled in a jar file, the resource will be extracted to jna.tmpdir
for loading, and later removed (but only if jna.nounpack
is false or not set).You may set the system property
jna.debug_load=true
to make JNA print the steps of its library search to the console.
static final void
Add a path to search for the specified library, ahead of any system paths.
void
Close the native library we're mapped to.
void
(Package privat) static void
Close all open native libraries.
Returns the file on disk corresponding to this NativeLibrary instance.
Create a new
Function
that is linked with a native function that follows the NativeLibrary's calling convention.
Create a new
Function
that is linked with a native function that follows a given calling flags.
Create a new
Function
that is linked with a native function that follows a given calling flags.
Create a new
Function
that is linked with a native function that follows the NativeLibrary's calling convention.
Look up the given global variable within this library.
Returns an instance of NativeLibrary for the specified name.
Returns an instance of NativeLibrary for the specified name.
Returns an instance of NativeLibrary for the specified name.
Returns the simple name of this library.
Returns an instance of NativeLibrary which refers to the current process.
Returns an instance of NativeLibrary which refers to the current process.
(Package privat) long
Used by the Function class to locate a symbol
(Package privat) static String
(Package privat) static String[]
Look for a matching framework (OSX)
(Package privat) static String
matchLibrary() is very Linux specific.
(Package privat) static double
Look for a matching framework (OSX)
Returns an instance of NativeLibrary for the specified name. The library is loaded if not already loaded. If already loaded, the existing instance is returned.
More than one name may map to the same NativeLibrary instance; only a single instance will be provided for any given unique file path.
libraryName
- The library name to load. This can be short form (e.g. "c"), an explicit version (e.g. "libc.so.6"), or the full path to the library (e.g. "/lib/libc.so.6").
Returns an instance of NativeLibrary for the specified name. The library is loaded if not already loaded. If already loaded, the existing instance is returned.
More than one name may map to the same NativeLibrary instance; only a single instance will be provided for any given unique file path.
libraryName
- The library name to load. This can be short form (e.g. "c"), an explicit version (e.g. "libc.so.6"), or the full path to the library (e.g. "/lib/libc.so.6").
classLoader
- The class loader to use to load the native library. This only affects library loading when the native library is included somewhere in the classpath, either bundled in a jar file or as a plain file within the classpath.
Returns an instance of NativeLibrary for the specified name. The library is loaded if not already loaded. If already loaded, the existing instance is returned.
More than one name may map to the same NativeLibrary instance; only a single instance will be provided for any given unique file path.
libraryName
- The library name to load. This can be short form (e.g. "c"), an explicit version (e.g. "libc.so.6" or "QuickTime.framework/Versions/Current/QuickTime"), or the full (absolute) path to the library (e.g. "/lib/libc.so.6").
libraryOptions
- Native library options for the given library (see Library
).
Returns an instance of NativeLibrary which refers to the current process. This is useful for accessing functions which were already mapped by some other mechanism, without having to reference or even know the exact name of the native library.
Returns an instance of NativeLibrary which refers to the current process. This is useful for accessing functions which were already mapped by some other mechanism, without having to reference or even know the exact name of the native library.
Add a path to search for the specified library, ahead of any system paths. This is similar to setting jna.library.path
, but only extends the search path for a single library.
libraryName
- The name of the library to use the path for
path
- The path to use when trying to load the library
Create a new
Function
that is linked with a native function that follows the NativeLibrary's calling convention.
The allocated instance represents a pointer to the named native function from the library.
functionName
- Name of the native function to be linked with
UnsatisfiedLinkError
- if the function is not found
Create a new
Function
that is linked with a native function that follows the NativeLibrary's calling convention.
The allocated instance represents a pointer to the named native function from the library.
name
- Name of the native function to be linked with. Uses a function mapper option if one was provided to transform the name.
method
- Method to which the native function is to be mapped
UnsatisfiedLinkError
- if the function is not found
Create a new
Function
that is linked with a native function that follows a given calling flags.
functionName
- Name of the native function to be linked with
callFlags
- Flags affecting the function invocation
UnsatisfiedLinkError
- if the function is not found
Create a new
Function
that is linked with a native function that follows a given calling flags.
functionName
- Name of the native function to be linked with
callFlags
- Flags affecting the function invocation
encoding
- Encoding to use to convert between Java and native strings.
UnsatisfiedLinkError
- if the function is not found
Look up the given global variable within this library.
symbolName
-
UnsatisfiedLinkError
- if the symbol is not found
Used by the Function class to locate a symbol
UnsatisfiedLinkError
- if the symbol can't be found
Returns the simple name of this library.
Returns the file on disk corresponding to this NativeLibrary instance. If this NativeLibrary represents the current process, this function will return null.
static void disposeAll()
Close all open native libraries.
public void close()
Close the native library we're mapped to.
close
in Schnittstelle AutoCloseable
close
in Schnittstelle Closeable
Veraltet.
libName
- base (undecorated) name of library
matchLibrary() is very Linux specific. It is here to deal with the case where /usr/lib/libc.so does not exist, or it is not a valid symlink to a versioned file (e.g. /lib/libc.so.6).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4