java_props.h 3.4 KB
Newer Older
D
duke 已提交
1
/*
2
 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
D
duke 已提交
3 4 5 6
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
7
 * published by the Free Software Foundation.  Oracle designates this
D
duke 已提交
8
 * particular file as subject to the "Classpath" exception as provided
9
 * by Oracle in the LICENSE file that accompanied this code.
D
duke 已提交
10 11 12 13 14 15 16 17 18 19 20
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
21 22 23
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
D
duke 已提交
24 25 26 27 28 29 30
 */

#ifndef _JAVA_PROPS_H
#define _JAVA_PROPS_H

#include <jni_util.h>

31 32 33 34 35 36 37 38
/* The preferred native type for storing text on the current OS */
#ifdef WIN32
#include <tchar.h>
typedef WCHAR nchar;
#else
typedef char nchar;
#endif

D
duke 已提交
39 40 41 42 43
typedef struct {
    char *os_name;
    char *os_version;
    char *os_arch;

44 45 46 47
#ifdef JDK_ARCH_ABI_PROP_NAME
    char *sun_arch_abi;
#endif

48 49 50
    nchar *tmp_dir;
    nchar *font_dir;
    nchar *user_dir;
D
duke 已提交
51 52 53 54 55

    char *file_separator;
    char *path_separator;
    char *line_separator;

56 57
    nchar *user_name;
    nchar *user_home;
D
duke 已提交
58 59

    char *language;
60 61
    char *format_language;
    char *display_language;
62 63 64
    char *script;
    char *format_script;
    char *display_script;
D
duke 已提交
65
    char *country;
66 67
    char *format_country;
    char *display_country;
D
duke 已提交
68
    char *variant;
69 70
    char *format_variant;
    char *display_variant;
D
duke 已提交
71 72
    char *encoding;
    char *sun_jnu_encoding;
73 74
    char *sun_stdout_encoding;
    char *sun_stderr_encoding;
D
duke 已提交
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
    char *timezone;

    char *printerJob;
    char *graphics_env;
    char *awt_toolkit;

    char *unicode_encoding;     /* The default endianness of unicode
                                    i.e. UnicodeBig or UnicodeLittle   */

    const char *cpu_isalist;    /* list of supported instruction sets */

    char *cpu_endian;           /* endianness of platform */

    char *data_model;           /* 32 or 64 bit data model */

    char *patch_level;          /* patches/service packs installed */

    char *desktop;              /* Desktop name. */

94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
#ifdef MACOSX
    // These are for proxy-related information.
    // Note that if these platform-specific extensions get out of hand we should make a new
    // structure for them and #include it here.
    int httpProxyEnabled;
    char *httpHost;
    char *httpPort;

    int httpsProxyEnabled;
    char *httpsHost;
    char *httpsPort;

    int ftpProxyEnabled;
    char *ftpHost;
    char *ftpPort;

    int socksProxyEnabled;
    char *socksHost;
    char *socksPort;

    int gopherProxyEnabled;
    char *gopherHost;
    char *gopherPort;

    char *exceptionList;
#endif

D
duke 已提交
121 122 123
} java_props_t;

java_props_t *GetJavaProperties(JNIEnv *env);
124
jstring GetStringPlatform(JNIEnv *env, nchar* str);
D
duke 已提交
125 126

#endif /* _JAVA_PROPS_H */