#
# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#  
#

# Define public interface.

SUNWprivate_1.1 {
        global:
                # JNI
                JNI_CreateJavaVM;
                JNI_GetCreatedJavaVMs;
                JNI_GetDefaultJavaVMInitArgs;
        
                # JVM
                JVM_Accept;
                JVM_ActiveProcessorCount;
                JVM_AllocateNewArray;
                JVM_AllocateNewObject;
                JVM_ArrayCopy;
                JVM_AssertionStatusDirectives;
                JVM_Available;
                JVM_Bind;
                JVM_ClassDepth;
                JVM_ClassLoaderDepth;
                JVM_Clone;
                JVM_Close;
                JVM_CX8Field;
                JVM_CompileClass;
                JVM_CompileClasses;
                JVM_CompilerCommand;
                JVM_Connect;
                JVM_ConstantPoolGetClassAt;
                JVM_ConstantPoolGetClassAtIfLoaded;
                JVM_ConstantPoolGetDoubleAt;
                JVM_ConstantPoolGetFieldAt;
                JVM_ConstantPoolGetFieldAtIfLoaded;
                JVM_ConstantPoolGetFloatAt;
                JVM_ConstantPoolGetIntAt;
                JVM_ConstantPoolGetLongAt;
                JVM_ConstantPoolGetMethodAt;
                JVM_ConstantPoolGetMethodAtIfLoaded;
                JVM_ConstantPoolGetMemberRefInfoAt;
                JVM_ConstantPoolGetSize;
                JVM_ConstantPoolGetStringAt;
                JVM_ConstantPoolGetUTF8At;
                JVM_CountStackFrames;
                JVM_CurrentClassLoader;
                JVM_CurrentLoadedClass;
                JVM_CurrentThread;
                JVM_CurrentTimeMillis;
                JVM_DefineClass;
                JVM_DefineClassWithSource;
                JVM_DefineClassWithSourceCond;
                JVM_DesiredAssertionStatus;
                JVM_DisableCompiler;
                JVM_DoPrivileged;
                JVM_DTraceGetVersion;
                JVM_DTraceActivate;
                JVM_DTraceIsProbeEnabled;
                JVM_DTraceIsSupported;
                JVM_DTraceDispose;
                JVM_DumpAllStacks;
                JVM_DumpThreads;
                JVM_EnableCompiler;
                JVM_Exit;
                JVM_FillInStackTrace;
                JVM_FindClassFromCaller;
                JVM_FindClassFromClass;
                JVM_FindClassFromClassLoader;
                JVM_FindClassFromBootLoader;
                JVM_FindLibraryEntry;
                JVM_FindLoadedClass;
                JVM_FindPrimitiveClass;
                JVM_FindSignal;
                JVM_FreeMemory;
                JVM_GC;
                JVM_GetAllThreads;
                JVM_GetArrayElement;
                JVM_GetArrayLength;
                JVM_GetCPClassNameUTF;
                JVM_GetCPFieldClassNameUTF;
                JVM_GetCPFieldModifiers;
                JVM_GetCPFieldNameUTF;
                JVM_GetCPFieldSignatureUTF;
                JVM_GetCPMethodClassNameUTF;
                JVM_GetCPMethodModifiers;
                JVM_GetCPMethodNameUTF;
                JVM_GetCPMethodSignatureUTF;
                JVM_GetCallerClass;
                JVM_GetClassAccessFlags;
                JVM_GetClassAnnotations;
                JVM_GetClassCPEntriesCount;
                JVM_GetClassCPTypes;
                JVM_GetClassConstantPool;
                JVM_GetClassContext;
                JVM_GetClassDeclaredConstructors;
                JVM_GetClassDeclaredFields;
                JVM_GetClassDeclaredMethods;
                JVM_GetClassFieldsCount;
                JVM_GetClassInterfaces;
                JVM_GetClassLoader;
                JVM_GetClassMethodsCount;
                JVM_GetClassModifiers;
                JVM_GetClassName;
                JVM_GetClassNameUTF;
                JVM_GetClassSignature;
                JVM_GetClassSigners;
                JVM_GetComponentType;
                JVM_GetClassTypeAnnotations;
                JVM_GetDeclaredClasses;
                JVM_GetDeclaringClass;
                JVM_GetEnclosingMethodInfo;
                JVM_GetFieldAnnotations;
                JVM_GetFieldIxModifiers;
                JVM_GetFieldTypeAnnotations;
                JVM_GetHostName;
                JVM_GetInheritedAccessControlContext;
                JVM_GetInterfaceVersion;
                JVM_GetLastErrorString;
                JVM_GetManagement;
                JVM_GetMethodAnnotations;
                JVM_GetMethodDefaultAnnotationValue;
                JVM_GetMethodIxArgsSize;
                JVM_GetMethodIxByteCode;
                JVM_GetMethodIxByteCodeLength;
                JVM_GetMethodIxExceptionIndexes;
                JVM_GetMethodIxExceptionTableEntry;
                JVM_GetMethodIxExceptionTableLength;
                JVM_GetMethodIxExceptionsCount;
                JVM_GetMethodIxLocalsCount;
                JVM_GetMethodIxMaxStack;
                JVM_GetMethodIxModifiers;
                JVM_GetMethodIxNameUTF;
                JVM_GetMethodIxSignatureUTF;
                JVM_GetMethodParameterAnnotations;
                JVM_GetMethodParameters;
                JVM_GetMethodTypeAnnotations;
                JVM_GetPrimitiveArrayElement;
                JVM_GetProtectionDomain;
                JVM_GetSockName;
                JVM_GetSockOpt;
                JVM_GetStackAccessControlContext;
                JVM_GetStackTraceDepth;
                JVM_GetStackTraceElement;
                JVM_GetSystemPackage;
                JVM_GetSystemPackages;
                JVM_GetTemporaryDirectory;
                JVM_GetThreadStateNames;
                JVM_GetThreadStateValues;
                JVM_GetVersionInfo;
                JVM_Halt;
                JVM_HoldsLock;
                JVM_IHashCode;
                JVM_InitAgentProperties;
                JVM_InitProperties;
                JVM_InitializeCompiler;
                JVM_InitializeSocketLibrary;
                JVM_InternString;
                JVM_Interrupt;
                JVM_InvokeMethod;
                JVM_IsArrayClass;
                JVM_IsConstructorIx;
                JVM_IsInterface;
                JVM_IsInterrupted;
                JVM_IsNaN;
                JVM_IsPrimitiveClass;
                JVM_IsSameClassPackage;
                JVM_IsSilentCompiler;
                JVM_IsSupportedJNIVersion;
                JVM_IsThreadAlive;
                JVM_IsVMGeneratedMethodIx;
                JVM_KnownToNotExist;
                JVM_GetResourceLookupCacheURLs;
                JVM_GetResourceLookupCache;
                JVM_LatestUserDefinedLoader;
                JVM_Listen;
                JVM_LoadClass0;
                JVM_LoadLibrary;
                JVM_Lseek;
                JVM_MaxObjectInspectionAge;
                JVM_MaxMemory;
                JVM_MonitorNotify;
                JVM_MonitorNotifyAll;
                JVM_MonitorWait;
                JVM_NativePath;
                JVM_NanoTime;
                JVM_NewArray;
                JVM_NewInstanceFromConstructor;
                JVM_NewMultiArray;
                JVM_OnExit;
                JVM_Open;
                JVM_RaiseSignal;
                JVM_RawMonitorCreate;
                JVM_RawMonitorDestroy;
                JVM_RawMonitorEnter;
                JVM_RawMonitorExit;
                JVM_Read;
                JVM_Recv;
                JVM_RecvFrom;
                JVM_RegisterSignal;
                JVM_ReleaseUTF;
                JVM_ResolveClass;
                JVM_ResumeThread;
                JVM_Send;
                JVM_SendTo;
                JVM_SetArrayElement;
                JVM_SetClassSigners;
                JVM_SetLength;
                JVM_SetNativeThreadName;
                JVM_SetPrimitiveArrayElement;
                JVM_SetSockOpt;
                JVM_SetThreadPriority;
                JVM_Sleep;
                JVM_Socket;
                JVM_SocketAvailable;
                JVM_SocketClose;
                JVM_SocketShutdown;
                JVM_StartThread;
                JVM_StopThread;
                JVM_SuspendThread;
                JVM_SupportsCX8;
                JVM_Sync;
                JVM_Timeout;
                JVM_TotalMemory;
                JVM_TraceInstructions;
                JVM_TraceMethodCalls;
                JVM_UnloadLibrary;
                JVM_Write;
                JVM_Yield;
                JVM_handle_solaris_signal;

                # miscellaneous functions
                jio_fprintf;
                jio_printf;
                jio_snprintf;
                jio_vfprintf;
                jio_vsnprintf;

                # Needed because there is no JVM interface for this.
                sysThreadAvailableStackWithSlack;

                # This is for Forte Analyzer profiling support.
                AsyncGetCallTrace;

                # INSERT VTABLE SYMBOLS HERE

        local:
                *;
};
