aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/common/os/DynamicLookupHelper.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-01-30 21:09:17 +0100
committerSven Gothel <[email protected]>2015-01-30 21:09:17 +0100
commit12feaa7d3b1544098f684d851e3caff1ec88cbc8 (patch)
tree2d979c57cca37220bc026a8ee08ee479ae0508bf /src/java/com/jogamp/common/os/DynamicLookupHelper.java
parent3caf446e29a3934900b9983dfd72cb8aa0d9e8d7 (diff)
Refine Native Library Code: Bulk Permissions, Cleanup DynamicLinker impl. - and fix Android AArch64 BionicDynamicLinker (Bug 1122)
- Bulk Permissions ProcAddressTable.reset(..) performs address lookup in one block. Now claiming all permissions upfront once, and releasing them afterwards. - Cleanup DynamicLinker impl. Proper top-down impl. of DynamicLinkerImpl, handling all security code and validations. - Fix Android AArch64 BionicDynamicLinker (Bug 1122) Dalvik uses diff RTLD_* defines for AArch64!
Diffstat (limited to 'src/java/com/jogamp/common/os/DynamicLookupHelper.java')
-rw-r--r--src/java/com/jogamp/common/os/DynamicLookupHelper.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/java/com/jogamp/common/os/DynamicLookupHelper.java b/src/java/com/jogamp/common/os/DynamicLookupHelper.java
index 0f87351..7997d57 100644
--- a/src/java/com/jogamp/common/os/DynamicLookupHelper.java
+++ b/src/java/com/jogamp/common/os/DynamicLookupHelper.java
@@ -51,12 +51,23 @@ public interface DynamicLookupHelper {
public static final boolean DEBUG_LOOKUP = Debug.debug("NativeLibrary.Lookup");
/**
+ * @throws SecurityException if user is not granted access for the library set.
+ */
+ public void claimAllLinkPermission() throws SecurityException;
+ /**
+ * @throws SecurityException if user is not granted access for the library set.
+ */
+ public void releaseAllLinkPermission() throws SecurityException;
+
+ /**
* Returns the function handle for function 'funcName'.
+ * @throws SecurityException if user is not granted access for the library set.
*/
- public long dynamicLookupFunction(String funcName);
+ public long dynamicLookupFunction(String funcName) throws SecurityException;
/**
* Queries whether function 'funcName' is available.
+ * @throws SecurityException if user is not granted access for the library set.
*/
- public boolean isFunctionAvailable(String funcName);
+ public boolean isFunctionAvailable(String funcName) throws SecurityException;
}