#
# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
#

# Define library interface.

SUNWprivate_1.1 {
  global:
      Java_oracle_jrockit_jfr_Process_getpid;
      Java_oracle_jrockit_jfr_Timing_counterTime;
      Java_oracle_jrockit_jfr_Timing_init;
      Java_oracle_jrockit_jfr_Logger_output0;
      Java_oracle_jrockit_jfr_JFR_isCommercialFeaturesUnlocked;
      Java_oracle_jrockit_jfr_JFR_isStarted;
      Java_oracle_jrockit_jfr_JFR_isSupportedInVM;
      Java_oracle_jrockit_jfr_JFR_startFlightRecorder;
      Java_oracle_jrockit_jfr_JFR_isDisabledOnCommandLine;
      Java_oracle_jrockit_jfr_JFR_isEnabled;
      Java_oracle_jrockit_jfr_VMJFR_options;
      Java_oracle_jrockit_jfr_VMJFR_init;
      Java_oracle_jrockit_jfr_VMJFR_addConstPool;
      Java_oracle_jrockit_jfr_VMJFR_removeConstPool;
      Java_oracle_jrockit_jfr_VMJFR_storeConstPool;
      Java_oracle_jrockit_jfr_VMJFR_classID0;
      Java_oracle_jrockit_jfr_VMJFR_stackTraceID;
      Java_oracle_jrockit_jfr_VMJFR_threadID;
      Java_oracle_jrockit_jfr_VMJFR_rotate;
      Java_oracle_jrockit_jfr_VMJFR_shutdown;
      Java_oracle_jrockit_jfr_VMJFR_start;
      Java_oracle_jrockit_jfr_VMJFR_stop;
      Java_oracle_jrockit_jfr_VMJFR_buffer;
      Java_oracle_jrockit_jfr_VMJFR_flush;
      Java_oracle_jrockit_jfr_VMJFR_write;
      Java_oracle_jrockit_jfr_VMJFR_add;
      Java_oracle_jrockit_jfr_VMJFR_remove;
      Java_oracle_jrockit_jfr_VMJFR_setThreshold;
      Java_oracle_jrockit_jfr_VMJFR_setPeriod;
      Java_oracle_jrockit_jfr_VMJFR_getPeriod;
      Java_oracle_jrockit_jfr_VMJFR_descriptors;
      Java_oracle_jrockit_jfr_VMJFR_retransformClasses0;
      JNI_OnLoad;
  local:
      *;
};
