< prev index next >

src/java.base/share/native/libjli/java.h

Print this page




  54  * The following environment variable is used to influence the behavior
  55  * of the jre exec'd through the SelectVersion routine.  The command line
  56  * options which specify the version are not passed to the exec'd version,
  57  * because that jre may be an older version which wouldn't recognize them.
  58  * This environment variable is known to this (and later) version and serves
  59  * to suppress the version selection code.  This is not only for efficiency,
  60  * but also for correctness, since any command line options have been
  61  * removed which would cause any value found in the manifest to be used.
  62  * This would be incorrect because the command line options are defined
  63  * to take precedence.
  64  *
  65  * The value associated with this environment variable is the MainClass
  66  * name from within the executable jar file (if any). This is strictly a
  67  * performance enhancement to avoid re-reading the jar file manifest.
  68  *
  69  */
  70 #define ENV_ENTRY "_JAVA_VERSION_SET"
  71 
  72 #define SPLASH_FILE_ENV_ENTRY "_JAVA_SPLASH_FILE"
  73 #define SPLASH_JAR_ENV_ENTRY "_JAVA_SPLASH_JAR"
  74 #define JAVA_OPTIONS "JAVA_OPTIONS"
  75 
  76 /*
  77  * Pointers to the needed JNI invocation API, initialized by LoadJavaVM.
  78  */
  79 typedef jint (JNICALL *CreateJavaVM_t)(JavaVM **pvm, void **env, void *args);
  80 typedef jint (JNICALL *GetDefaultJavaVMInitArgs_t)(void *args);
  81 typedef jint (JNICALL *GetCreatedJavaVMs_t)(JavaVM **vmBuf, jsize bufLen, jsize *nVMs);
  82 
  83 typedef struct {
  84     CreateJavaVM_t CreateJavaVM;
  85     GetDefaultJavaVMInitArgs_t GetDefaultJavaVMInitArgs;
  86     GetCreatedJavaVMs_t GetCreatedJavaVMs;
  87 } InvocationFunctions;
  88 
  89 int
  90 JLI_Launch(int argc, char ** argv,              /* main argc, argc */
  91         int jargc, const char** jargv,          /* java args */
  92         int appclassc, const char** appclassv,  /* app classpath */
  93         const char* fullversion,                /* full version defined */
  94         const char* dotversion,                 /* dot version defined */




  54  * The following environment variable is used to influence the behavior
  55  * of the jre exec'd through the SelectVersion routine.  The command line
  56  * options which specify the version are not passed to the exec'd version,
  57  * because that jre may be an older version which wouldn't recognize them.
  58  * This environment variable is known to this (and later) version and serves
  59  * to suppress the version selection code.  This is not only for efficiency,
  60  * but also for correctness, since any command line options have been
  61  * removed which would cause any value found in the manifest to be used.
  62  * This would be incorrect because the command line options are defined
  63  * to take precedence.
  64  *
  65  * The value associated with this environment variable is the MainClass
  66  * name from within the executable jar file (if any). This is strictly a
  67  * performance enhancement to avoid re-reading the jar file manifest.
  68  *
  69  */
  70 #define ENV_ENTRY "_JAVA_VERSION_SET"
  71 
  72 #define SPLASH_FILE_ENV_ENTRY "_JAVA_SPLASH_FILE"
  73 #define SPLASH_JAR_ENV_ENTRY "_JAVA_SPLASH_JAR"
  74 #define JDK_JAVA_OPTIONS "JDK_JAVA_OPTIONS"
  75 
  76 /*
  77  * Pointers to the needed JNI invocation API, initialized by LoadJavaVM.
  78  */
  79 typedef jint (JNICALL *CreateJavaVM_t)(JavaVM **pvm, void **env, void *args);
  80 typedef jint (JNICALL *GetDefaultJavaVMInitArgs_t)(void *args);
  81 typedef jint (JNICALL *GetCreatedJavaVMs_t)(JavaVM **vmBuf, jsize bufLen, jsize *nVMs);
  82 
  83 typedef struct {
  84     CreateJavaVM_t CreateJavaVM;
  85     GetDefaultJavaVMInitArgs_t GetDefaultJavaVMInitArgs;
  86     GetCreatedJavaVMs_t GetCreatedJavaVMs;
  87 } InvocationFunctions;
  88 
  89 int
  90 JLI_Launch(int argc, char ** argv,              /* main argc, argc */
  91         int jargc, const char** jargv,          /* java args */
  92         int appclassc, const char** appclassv,  /* app classpath */
  93         const char* fullversion,                /* full version defined */
  94         const char* dotversion,                 /* dot version defined */


< prev index next >