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