1 /* 2 * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /*- 27 * Implementation of class java.security.AccessController 28 * 29 */ 30 31 #include <string.h> 32 33 #include "jni.h" 34 #include "jvm.h" 35 #include "java_security_AccessController.h" 36 37 /* 38 * Class: java_security_AccessController 39 * Method: doPrivileged 40 * Signature: (Ljava/security/PrivilegedAction;)Ljava/lang/Object; 41 */ 42 JNIEXPORT jobject JNICALL Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2 43 (JNIEnv *env, jclass cls, jobject action) 44 { 45 return JVM_DoPrivileged(env, cls, action, NULL, JNI_FALSE); 46 } 47 48 /* 49 * Class: java_security_AccessController 50 * Method: doPrivileged 51 * Signature: (Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; 52 */ 53 JNIEXPORT jobject JNICALL Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2Ljava_security_AccessControlContext_2 54 (JNIEnv *env, jclass cls, jobject action, jobject context) 55 { 56 return JVM_DoPrivileged(env, cls, action, context, JNI_FALSE); 57 } 58 59 /* 60 * Class: java_security_AccessController 61 * Method: doPrivileged 62 * Signature: (Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; 63 */ 64 JNIEXPORT jobject JNICALL Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2 65 (JNIEnv *env, jclass cls, jobject action) 66 { 67 return JVM_DoPrivileged(env, cls, action, NULL, JNI_TRUE); 68 } 69 70 /* 71 * Class: java_security_AccessController 72 * Method: doPrivileged 73 * Signature: (Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; 74 */ 75 JNIEXPORT jobject JNICALL Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2Ljava_security_AccessControlContext_2 76 (JNIEnv *env, jclass cls, jobject action, jobject context) 77 { 78 return JVM_DoPrivileged(env, cls, action, context, JNI_TRUE); 79 } 80 81 JNIEXPORT jobject JNICALL 82 Java_java_security_AccessController_getStackAccessControlContext( 83 JNIEnv *env, 84 jobject this) 85 { 86 return JVM_GetStackAccessControlContext(env, this); 87 } 88 89 90 JNIEXPORT jobject JNICALL 91 Java_java_security_AccessController_getInheritedAccessControlContext( 92 JNIEnv *env, 93 jobject this) 94 { 95 return JVM_GetInheritedAccessControlContext(env, this); 96 }