/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* 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.
*
* 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.
*/
// random definitions
#ifdef _MSC_VER
#include <windows.h>
#include <winuser.h>
#else
#include <unistd.h>
#endif
#ifndef NO_ZLIB
#include <zconf.h>
#endif
#ifndef FULL
#endif
#define IF_FULL(x) x
#else
#endif
#ifdef PRODUCT
#define assert(p)
#else
extern "C" void breakpoint();
extern int assert_failed(const char*);
#endif
// Build-time control of some C++ inlining.
// To make a slightly faster smaller binary, say "CC -Dmaybe_inline=inline"
#ifndef maybe_inline
#endif
// By marking larger member functions inline, we remove external linkage.
#ifndef local_inline
#define local_inline inline
#endif
// Error messages that we have
// bytes and byte arrays
typedef unsigned int uint;
#if defined(NO_ZLIB)
#ifdef _LP64
#else
typedef unsigned long uLong;
#endif
#endif
#ifdef _MSC_VER
#else
typedef signed char byte;
#ifdef _LP64
typedef long jlong;
typedef long unsigned julong;
#else
typedef long long jlong;
typedef long long unsigned julong;
#endif
#endif
#ifdef OLDCC
typedef int bool;
enum { false, true };
#endif
#define null (0)
/* Must cast to void *, then size_t, then int. */
/* Back and forth from jlong to pointer */
// Keys used by Java:
// The following are not known to the Java classes:
// Called from unpacker layers
#define _CHECK_DO(t,x) { if (t) {x;} }