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 */
|