< prev index next >

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

Print this page
rev 12309 : 8027634: Support @argfiles for java command-line tool
Reviewed-by: ksrini, mchung

@@ -27,11 +27,19 @@
 #define _JLI_UTIL_H
 
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
-#include <jni.h>
+
+#ifndef NO_JNI
+  #include <jni.h>
+#else
+  #define jboolean int
+  #define JNI_TRUE  1
+  #define JNI_FALSE 0
+#endif
+
 #define JLDEBUG_ENV_ENTRY "_JAVA_LAUNCHER_DEBUG"
 
 void *JLI_MemAlloc(size_t size);
 void *JLI_MemRealloc(void *ptr, size_t size);
 char *JLI_StringDup(const char *s1);

@@ -66,11 +74,11 @@
 #include <io.h>
 #include <process.h>
 #define JLI_StrCaseCmp(p1, p2)          stricmp((p1), (p2))
 #define JLI_StrNCaseCmp(p1, p2, p3)     strnicmp((p1), (p2), (p3))
 int  JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
-void JLI_CmdToArgs(char *cmdline);
+void JLI_CmdToArgs(char *cmdline, jboolean not_java);
 #define JLI_Lseek                       _lseeki64
 #define JLI_PutEnv                      _putenv
 #define JLI_GetPid                      _getpid
 #else  /* NIXES */
 #include <unistd.h>

@@ -100,6 +108,30 @@
  */
 void     JLI_TraceLauncher(const char* fmt, ...);
 void     JLI_SetTraceLauncher();
 jboolean JLI_IsTraceLauncher();
 
+/*
+ * JLI_List - a dynamic list of char*
+ */
+struct JLI_List_
+{
+    char **elements;
+    int size;
+    int capacity;
+};
+typedef struct JLI_List_ *JLI_List;
+
+JLI_List JLI_List_new(int capacity);
+void JLI_List_free(JLI_List l);
+void JLI_List_ensureCapacity(JLI_List l, int capacity);
+/* e must be JLI_MemFree-able */
+void JLI_List_add(JLI_List l, char *e);
+/* a copy is made out of beg */
+void JLI_List_addSubstring(JLI_List l, const char *beg, size_t len);
+char *JLI_List_combine(JLI_List sl);
+char *JLI_List_join(JLI_List l, char sep);
+JLI_List JLI_List_split(const char *str, char sep);
+
+JLI_List JLI_ExpandArgFile(const char *arg, jboolean not_java);
+
 #endif  /* _JLI_UTIL_H */
< prev index next >