< prev index next >

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

Print this page

 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 JNIEXPORT int JNICALL
 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 */
 95         const char* pname,                      /* program name */
 96         const char* lname,                      /* launcher name */
 97         jboolean javaargs,                      /* JAVA_ARGS */
 98         jboolean cpwildcard,                    /* classpath wildcard */
 99         jboolean javaw,                         /* windows-only javaw */
100         jint     ergo_class                     /* ergnomics policy */
101 );
102 
103 /*
104  * Prototypes for launcher functions in the system specific java_md.c.
105  */
106 

 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 #ifdef INCLUDE_TSAN
 77 typedef void (*TsanSymbolizeAddFrameFunc)(
 78     void *ctx, const char *function, const char *file, int line, int column);
 79 typedef void (JNICALL *TsanSymbolize_t)(uint64_t, TsanSymbolizeAddFrameFunc, void *);
 80 extern TsanSymbolize_t tsan_symbolize_func;
 81 #endif
 82 
 83 /*
 84  * Pointers to the needed JNI invocation API, initialized by LoadJavaVM.
 85  */
 86 typedef jint (JNICALL *CreateJavaVM_t)(JavaVM **pvm, void **env, void *args);
 87 typedef jint (JNICALL *GetDefaultJavaVMInitArgs_t)(void *args);
 88 typedef jint (JNICALL *GetCreatedJavaVMs_t)(JavaVM **vmBuf, jsize bufLen, jsize *nVMs);
 89 
 90 typedef struct {
 91     CreateJavaVM_t CreateJavaVM;
 92     GetDefaultJavaVMInitArgs_t GetDefaultJavaVMInitArgs;
 93     GetCreatedJavaVMs_t GetCreatedJavaVMs;
 94 #ifdef INCLUDE_TSAN
 95     TsanSymbolize_t TsanSymbolize;
 96 #endif
 97 } InvocationFunctions;
 98 
 99 JNIEXPORT int JNICALL
100 JLI_Launch(int argc, char ** argv,              /* main argc, argc */
101         int jargc, const char** jargv,          /* java args */
102         int appclassc, const char** appclassv,  /* app classpath */
103         const char* fullversion,                /* full version defined */
104         const char* dotversion,                 /* dot version defined */
105         const char* pname,                      /* program name */
106         const char* lname,                      /* launcher name */
107         jboolean javaargs,                      /* JAVA_ARGS */
108         jboolean cpwildcard,                    /* classpath wildcard */
109         jboolean javaw,                         /* windows-only javaw */
110         jint     ergo_class                     /* ergnomics policy */
111 );
112 
113 /*
114  * Prototypes for launcher functions in the system specific java_md.c.
115  */
116 
< prev index next >