1 /*
   2  * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 #ifndef JAVA_MD_H
  27 #define JAVA_MD_H
  28 
  29 /*
  30  * This file contains common defines and includes for unix.
  31  */
  32 #include <limits.h>
  33 #include <unistd.h>
  34 #include <sys/param.h>
  35 #include "manifest_info.h"
  36 #include "jli_util.h"
  37 
  38 #define PATH_SEPARATOR       ':'
  39 #define FILESEP              "/"
  40 #define FILE_SEPARATOR       '/'
  41 #define IS_FILE_SEPARATOR(c) ((c) == '/')
  42 #ifndef MAXNAMELEN
  43 #define MAXNAMELEN           PATH_MAX
  44 #endif
  45 
  46 #ifdef _LP64
  47 #define JLONG_FORMAT_SPECIFIER "%ld"
  48 #else
  49 #define JLONG_FORMAT_SPECIFIER "%lld"
  50 #endif
  51 
  52 int UnsetEnv(char *name);
  53 char *FindExecName(char *program);
  54 const char *SetExecname(char **argv);
  55 const char *GetExecName();
  56 static jboolean GetJVMPath(const char *jrepath, const char *jvmtype,
  57                            char *jvmpath, jint jvmpathsize);
  58 static jboolean GetJREPath(char *path, jint pathsize, jboolean speculative);
  59 
  60 #if defined(_AIX)
  61 #include "java_md_aix.h"
  62 #endif
  63 
  64 #ifdef MACOSX
  65 #include "java_md_macosx.h"
  66 #else  /* !MACOSX */
  67 #include "java_md_solinux.h"
  68 #endif /* MACOSX */
  69 #endif /* JAVA_MD_H */