/*
 * @(#)jni_md.h	1.3 97/01/10
 *
 * Copyright (c) 1993-1996 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Permission to use, copy, modify, and distribute this software
 * and its documentation for NON-COMMERCIAL purposes and without
 * fee is hereby granted provided that this copyright notice
 * appears in all copies.
 *
 * The Java source code is the confidential and proprietary information
 * of Sun Microsystems, Inc. ("Confidential Information").  You shall
 * not disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 *
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
 * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
 * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
 * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
 * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
 */

#ifndef JNI_MD_H_
#define JNI_MD_H_

#define JNIEXPORT
#define JNIIMPORT
#define JNICALL

#include "mathpragma_md.h"

typedef long jint;
#if defined(GCC) || defined(__MWERKS__)
typedef long long jlong;
#else
typedef __int64 jlong;
#endif
typedef signed char jbyte;

/*
 * the next turns off the NETWARE style of varargs and changes them to
 * use the ABI style of varargs... -- fixes C++ users for JNI
 */

#if !(defined(_STDARG_H_) || defined(__STDARG_H__))
#define	_STDARG_H_
#define	_STDARG_H_INCLUDED
#define	__STDARG_H__

typedef char *	va_list;

#define _INTSIZEOF(n)   ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )

#define va_start(ap,v)  ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t)    ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap)      ( ap = (va_list)0 )

#endif
#endif

