This is native.h in view mode; [Download] [Up]
/* * native.h * Native method support. * * Copyright (c) 1996, 1997 * Transvirtual Technologies, Inc. All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */ #ifndef __native_h #define __native_h #undef __NORETURN__ #if defined(__GNUC__) #define __NORETURN__ __attribute__((noreturn)) #else #define __NORETURN__ #endif #include <jtypes.h> struct _methods; struct Hjava_lang_Class; struct _strconst; #if !defined(__DEFINED_METHOD) #define __DEFINED_METHOD typedef struct _methods Method; #endif #if !defined(__DEFINED_UTF8CONST) #define __DEFINED_UTF8CONST typedef struct _strconst Utf8Const; #endif #if !defined(__DEFINED_CLASS) #define __DEFINED_CLASS typedef struct Hjava_lang_Class Hjava_lang_Class; #endif #include <java_lang_Object.h> /* Build an object handle */ #define HandleTo(class) \ typedef struct H##class { \ Hjava_lang_Object base; \ struct Class##class data[1]; \ } H##class /* Turn a handle into the real thing */ #define unhand(o) ((o)->data) /* Include array types */ #include "Arrays.h" /* Get the strings */ #include <java_lang_String.h> /* Some internal machine object conversions to "standard" types. */ typedef Hjava_lang_Class HClass; typedef Hjava_lang_Object HObject; typedef Hjava_lang_String HString; /* * Function used for Kaffe Native Interface (KNI). */ extern jvalue do_execute_java_method(void*, char*, char*, Method*, int, ...); extern jvalue do_execute_java_class_method(char*, char*, char*, ...); extern HObject* execute_java_constructor(char*, HClass*, char*, ...); extern char* javaString2CString(HString*, char*, int); extern char* makeCString(HString*); extern HString* makeJavaString(char*, int); extern int equalUtf8JavaStrings(Utf8Const*, HString*); extern void SignalError(char*, char*) __NORETURN__; extern HObject* AllocObject(char*); extern HObject* AllocArray(int, int); extern HObject* AllocObjectArray(int, char*); extern void addNativeMethod(char*, void*); extern void classname2pathname(char*, char*); /* * Redirect the malloc/free functions */ #include "jmalloc.h" #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.