src/java.base/share/native/libjli/jli_util.h
branchihse-remove-mapfiles-branch
changeset 56106 40e61db323c2
parent 47216 71c04702a3d5
child 56721 01b558efd286
equal deleted inserted replaced
56105:749e0ffa206f 56106:40e61db323c2
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    38   #define JNI_FALSE 0
    38   #define JNI_FALSE 0
    39 #endif
    39 #endif
    40 
    40 
    41 #define JLDEBUG_ENV_ENTRY "_JAVA_LAUNCHER_DEBUG"
    41 #define JLDEBUG_ENV_ENTRY "_JAVA_LAUNCHER_DEBUG"
    42 
    42 
    43 void *JLI_MemAlloc(size_t size);
    43 JNIEXPORT void *JLI_MemAlloc(size_t size);
    44 void *JLI_MemRealloc(void *ptr, size_t size);
    44 void *JLI_MemRealloc(void *ptr, size_t size);
    45 char *JLI_StringDup(const char *s1);
    45 JNIEXPORT char *JLI_StringDup(const char *s1);
    46 void  JLI_MemFree(void *ptr);
    46 JNIEXPORT void  JLI_MemFree(void *ptr);
    47 int   JLI_StrCCmp(const char *s1, const char* s2);
    47 int   JLI_StrCCmp(const char *s1, const char* s2);
    48 
    48 
    49 typedef struct {
    49 typedef struct {
    50     char *arg;
    50     char *arg;
    51     jboolean has_wildcard;
    51     jboolean has_wildcard;
    52 } StdArg;
    52 } StdArg;
    53 
    53 
    54 StdArg *JLI_GetStdArgs();
    54 JNIEXPORT StdArg *JLI_GetStdArgs();
    55 int     JLI_GetStdArgc();
    55 JNIEXPORT int     JLI_GetStdArgc();
    56 int     JLI_GetAppArgIndex();
    56 JNIEXPORT int     JLI_GetAppArgIndex();
    57 
    57 
    58 #define JLI_StrLen(p1)          strlen((p1))
    58 #define JLI_StrLen(p1)          strlen((p1))
    59 #define JLI_StrChr(p1, p2)      strchr((p1), (p2))
    59 #define JLI_StrChr(p1, p2)      strchr((p1), (p2))
    60 #define JLI_StrRChr(p1, p2)     strrchr((p1), (p2))
    60 #define JLI_StrRChr(p1, p2)     strrchr((p1), (p2))
    61 #define JLI_StrCmp(p1, p2)      strcmp((p1), (p2))
    61 #define JLI_StrCmp(p1, p2)      strcmp((p1), (p2))
    75 #include <io.h>
    75 #include <io.h>
    76 #include <process.h>
    76 #include <process.h>
    77 #define JLI_StrCaseCmp(p1, p2)          stricmp((p1), (p2))
    77 #define JLI_StrCaseCmp(p1, p2)          stricmp((p1), (p2))
    78 #define JLI_StrNCaseCmp(p1, p2, p3)     strnicmp((p1), (p2), (p3))
    78 #define JLI_StrNCaseCmp(p1, p2, p3)     strnicmp((p1), (p2), (p3))
    79 int  JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
    79 int  JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
    80 void JLI_CmdToArgs(char *cmdline);
    80 JNIEXPORT void JLI_CmdToArgs(char *cmdline);
    81 #define JLI_Lseek                       _lseeki64
    81 #define JLI_Lseek                       _lseeki64
    82 #define JLI_PutEnv                      _putenv
    82 #define JLI_PutEnv                      _putenv
    83 #define JLI_GetPid                      _getpid
    83 #define JLI_GetPid                      _getpid
    84 #else  /* NIXES */
    84 #else  /* NIXES */
    85 #include <unistd.h>
    85 #include <unistd.h>
   106 
   106 
   107 /*
   107 /*
   108  * Make launcher spit debug output.
   108  * Make launcher spit debug output.
   109  */
   109  */
   110 void     JLI_TraceLauncher(const char* fmt, ...);
   110 void     JLI_TraceLauncher(const char* fmt, ...);
   111 void     JLI_SetTraceLauncher();
   111 JNIEXPORT void JLI_SetTraceLauncher();
   112 jboolean JLI_IsTraceLauncher();
   112 jboolean JLI_IsTraceLauncher();
   113 
   113 
   114 /*
   114 /*
   115  * JLI_List - a dynamic list of char*
   115  * JLI_List - a dynamic list of char*
   116  */
   116  */
   120     size_t size;
   120     size_t size;
   121     size_t capacity;
   121     size_t capacity;
   122 };
   122 };
   123 typedef struct JLI_List_ *JLI_List;
   123 typedef struct JLI_List_ *JLI_List;
   124 
   124 
   125 JLI_List JLI_List_new(size_t capacity);
   125 JNIEXPORT JLI_List JLI_List_new(size_t capacity);
   126 void JLI_List_free(JLI_List l);
   126 void JLI_List_free(JLI_List l);
   127 void JLI_List_ensureCapacity(JLI_List l, size_t capacity);
   127 void JLI_List_ensureCapacity(JLI_List l, size_t capacity);
   128 /* e must be JLI_MemFree-able */
   128 /* e must be JLI_MemFree-able */
   129 void JLI_List_add(JLI_List l, char *e);
   129 JNIEXPORT void JLI_List_add(JLI_List l, char *e);
   130 /* a copy is made out of beg */
   130 /* a copy is made out of beg */
   131 void JLI_List_addSubstring(JLI_List l, const char *beg, size_t len);
   131 void JLI_List_addSubstring(JLI_List l, const char *beg, size_t len);
   132 char *JLI_List_combine(JLI_List sl);
   132 char *JLI_List_combine(JLI_List sl);
   133 char *JLI_List_join(JLI_List l, char sep);
   133 char *JLI_List_join(JLI_List l, char sep);
   134 JLI_List JLI_List_split(const char *str, char sep);
   134 JLI_List JLI_List_split(const char *str, char sep);
   135 
   135 
   136 void JLI_InitArgProcessing(jboolean hasJavaArgs, jboolean disableArgFile);
   136 JNIEXPORT void JLI_InitArgProcessing(jboolean hasJavaArgs, jboolean disableArgFile);
   137 JLI_List JLI_PreprocessArg(const char *arg);
   137 JNIEXPORT JLI_List JLI_PreprocessArg(const char *arg);
   138 jboolean JLI_AddArgsFromEnvVar(JLI_List args, const char *var_name);
   138 JNIEXPORT jboolean JLI_AddArgsFromEnvVar(JLI_List args, const char *var_name);
   139 
   139 
   140 #endif  /* _JLI_UTIL_H */
   140 #endif  /* _JLI_UTIL_H */