jni_x86.h revision 2767:436b4a3231bf
1/*
2 * Copyright (c) 1997, 2011, 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 _JAVASOFT_JNI_MD_H_
27#define _JAVASOFT_JNI_MD_H_
28
29#if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE)
30
31#if defined(__GNUC__) && (__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
32  #define JNIEXPORT     __attribute__((visibility("default")))
33  #define JNIIMPORT     __attribute__((visibility("default")))
34#else
35  #define JNIEXPORT
36  #define JNIIMPORT
37#endif
38
39  #define JNICALL
40  typedef int jint;
41#if defined(_LP64) && !defined(__APPLE__)
42  typedef long jlong;
43#else
44  /*
45   * On _LP64 __APPLE__ "long" and "long long" are both 64 bits,
46   * but we use the "long long" typedef to avoid complaints from
47   * the __APPLE__ compiler about fprintf formats.
48   */
49  typedef long long jlong;
50#endif
51
52#else
53  #define JNIEXPORT __declspec(dllexport)
54  #define JNIIMPORT __declspec(dllimport)
55  #define JNICALL __stdcall
56
57  typedef int jint;
58  typedef __int64 jlong;
59#endif
60
61typedef signed char jbyte;
62
63#endif /* !_JAVASOFT_JNI_MD_H_ */
64