/*
 * IBM Confidential
 * OCO Source Materials
 * IBM Developer Kit, Java(TM) Tech Edition
 * (c) Copyright IBM Corp. 1996, 1999
 *
 * The source code for this program is not published
 * or otherwise divested of its trade
 * secrets, irrespective of what has been deposited
 * with the U.S. Copyright office.
 */
/*
 * @(#)jni_md.h 1.3 97/01/10
 *
 * Copyright (c) 1993-1996 Sun Microsystems, Inc. All Rights Reserved.
 *
 */

#ifndef _OS2_JNI_MD_H_                                                  /*ibm*/
#define _OS2_JNI_MD_H_                                                  /*ibm*/

#ifdef __cplusplus
extern "C" {
#endif

#if !defined OS2                                                        /*ibm*/
   #define OS2 1
#endif                                                                  /*ibm*/
#if defined OS2                                                         /*ibm*/
#define JNIEXPORT
#define JNICALL0 _System
#ifndef JAVA_EXE
#define JNICALL  _Export JNICALL0

#define JMS_TRL 1
#define JIT_TRL 1
#define JIT_WAY 1

#else
#define JNICALL          JNICALL0
#endif
#define PJNICALL * JNICALL0
#else                                                                   /*ibm*/
#define JNIEXPORT __declspec(dllexport)
#define JNICALL __stdcall
#define PJNICALL JNICALL *
#endif                                                                  /*ibm*/

typedef long jint;
#if defined OS2                                                         /*ibm*/
#include <typedefs_md.h>
typedef int64_t jlong;
#else                                                                   /*ibm*/
typedef __int64 jlong;
#endif                                                                  /*ibm*/
typedef signed char jbyte;

#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */

#endif                                                                  /*ibm*/

#if defined _OOBJ_H_ && !defined _PIN_HANDLE_H_                         /*ibm*/

#ifdef __cplusplus
extern "C" {
#endif

/* Temporary place for these functions - <oobj.h> gives us JHandle* */
#define _PIN_HANDLE_H_                                                  /*ibm*/
#ifdef JMS_TRL                                                          /*ibm*/
/* Note: These functions are subject to change, and may be removed */
JHandle* pin_handle(JHandle *h);
void     unpin_handle(JHandle *h);
#else                                                                   /*ibm*/
#define pin_handle(h)   (h)
#define unpin_handle(h) ((void)0)
#endif                                                                  /*ibm*/

#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */

#endif                                                                  /*ibm*/
