1 // javaprims.h - Main external header file for libgcj. -*- c++ -*-
3 /* Copyright (C) 1998, 1999, 2000 Free Software Foundation
5 This file is part of libgcj.
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
11 #ifndef __JAVAPRIMS_H__
12 #define __JAVAPRIMS_H__
14 // FIXME: this is a hack until we get a proper gcjh.
15 // It is needed to work around system header files that define TRUE
22 // To force selection of correct types that will mangle consistently
26 typedef __java_byte jbyte;
27 typedef __java_short jshort;
28 typedef __java_int jint;
29 typedef __java_long jlong;
30 typedef __java_float jfloat;
31 typedef __java_double jdouble;
32 typedef __java_char jchar;
33 typedef __java_boolean jboolean;
36 // The following class declarations are automatically generated by
37 // the `classes.pl' script.
42 class BufferedInputStream;
43 class BufferedOutputStream;
46 class ByteArrayInputStream;
47 class ByteArrayOutputStream;
48 class CharArrayReader;
49 class CharArrayWriter;
50 class CharConversionException;
52 class DataInputStream;
54 class DataOutputStream;
60 class FileInputStream;
61 class FileNotFoundException;
62 class FileOutputStream;
67 class FilterInputStream;
68 class FilterOutputStream;
73 class InputStreamReader;
74 class InterfaceComparator;
75 class InterruptedIOException;
76 class InvalidClassException;
77 class InvalidObjectException;
78 class LineNumberInputStream;
79 class LineNumberReader;
80 class MemberComparator;
81 class NotActiveException;
82 class NotSerializableException;
84 class ObjectInputStream;
85 class ObjectInputStream$GetField;
86 class ObjectInputValidation;
88 class ObjectOutputStream;
89 class ObjectOutputStream$PutField;
90 class ObjectStreamClass;
91 class ObjectStreamConstants;
92 class ObjectStreamException;
93 class ObjectStreamField;
94 class OptionalDataException;
96 class OutputStreamWriter;
97 class PipedInputStream;
98 class PipedOutputStream;
103 class PushbackInputStream;
104 class PushbackReader;
105 class RandomAccessFile;
107 class SequenceInputStream;
109 class SerializablePermission;
110 class StreamCorruptedException;
111 class StreamTokenizer;
112 class StringBufferInputStream;
115 class SyncFailedException;
116 class UTFDataFormatException;
117 class UnsupportedEncodingException;
118 class ValidatorAndPriority;
119 class WriteAbortedException;
125 class AbstractMethodError;
126 class ArithmeticException;
127 class ArrayIndexOutOfBoundsException;
128 class ArrayStoreException;
131 class CPlusPlusDemangler;
133 class Character$Subset;
134 class Character$UnicodeBlock;
136 class ClassCastException;
137 class ClassCircularityError;
138 class ClassFormatError;
140 class ClassNotFoundException;
141 class CloneNotSupportedException;
145 class ConcreteProcess;
149 class ExceptionInInitializerError;
151 class IllegalAccessError;
152 class IllegalAccessException;
153 class IllegalArgumentException;
154 class IllegalMonitorStateException;
155 class IllegalStateException;
156 class IllegalThreadStateException;
157 class IncompatibleClassChangeError;
158 class IndexOutOfBoundsException;
159 class InstantiationError;
160 class InstantiationException;
163 class InterruptedException;
167 class NegativeArraySizeException;
168 class NoClassDefFoundError;
169 class NoSuchFieldError;
170 class NoSuchFieldException;
171 class NoSuchMethodError;
172 class NoSuchMethodException;
173 class NullPointerException;
175 class NumberFormatException;
177 class OutOfMemoryError;
182 class RuntimeException;
183 class RuntimePermission;
184 class SecurityException;
185 class SecurityManager;
187 class StackOverflowError;
190 class StringIndexOutOfBoundsException;
197 class UnsatisfiedLinkError;
198 class UnsupportedOperationException;
200 class VirtualMachineError;
204 class PhantomReference;
206 class ReferenceQueue;
213 class AccessibleObject;
217 class InvocationTargetException;
221 class ReflectPermission;
227 class AbstractCollection;
229 class AbstractList$AbstractListItr;
231 class AbstractSequentialList;
235 class Arrays$ListImpl;
241 class Collections$ReverseComparator;
242 class Collections$SynchronizedCollection;
243 class Collections$SynchronizedIterator;
244 class Collections$SynchronizedList;
245 class Collections$SynchronizedListIterator;
246 class Collections$SynchronizedMap;
247 class Collections$SynchronizedSet;
248 class Collections$SynchronizedSortedMap;
249 class Collections$SynchronizedSortedSet;
250 class Collections$UnmodifiableCollection;
251 class Collections$UnmodifiableIterator;
252 class Collections$UnmodifiableList;
253 class Collections$UnmodifiableListIterator;
254 class Collections$UnmodifiableMap;
255 class Collections$UnmodifiableSet;
256 class Collections$UnmodifiableSortedMap;
257 class Collections$UnmodifiableSortedSet;
259 class ConcurrentModificationException;
262 class EmptyStackException;
266 class GregorianCalendar;
269 class HashMap$HashIterator;
272 class Hashtable$Entry;
273 class Hashtable$Enumerator;
274 class Hashtable$HashIterator;
277 class LinkedList$Entry;
278 class LinkedList$LinkedListItr;
281 class ListResourceBundle;
285 class MissingResourceException;
286 class NoSuchElementException;
290 class PropertyPermission;
291 class PropertyResourceBundle;
293 class ResourceBundle;
295 class SimpleTimeZone;
299 class StringTokenizer;
303 class Timer$Scheduler;
304 class Timer$TaskQueue;
306 class TooManyListenersException;
309 class TreeMap$SubMap;
310 class TreeMap$TreeIterator;
311 class TreeMap$VerifyResult;
315 class WeakHashMap$Entry;
316 class WeakHashMap$WeakBucket;
317 class WeakHashMap$WeakEntrySet;
321 class Attributes$Name;
325 class JarFile$JarEnumeration;
326 class JarInputStream;
327 class JarOutputStream;
335 class CheckedInputStream;
336 class CheckedOutputStream;
338 class DataFormatException;
340 class DeflaterOutputStream;
341 class GZIPInputStream;
342 class GZIPOutputStream;
344 class InflaterInputStream;
347 class ZipEnumeration;
350 class ZipInputStream;
351 class ZipOutputStream;
357 typedef struct java::lang::Object* jobject;
358 typedef class java::lang::Class* jclass;
359 typedef class java::lang::Throwable* jthrowable;
360 typedef class java::lang::String* jstring;
363 typedef struct _Jv_Field *jfieldID;
364 typedef struct _Jv_Method *jmethodID;
366 extern "C" jobject _Jv_AllocObject (jclass, jint) __attribute__((__malloc__));
367 extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass);
368 extern "C" jstring _Jv_AllocString(jsize) __attribute__((__malloc__));
369 extern "C" jstring _Jv_NewString (const jchar*, jsize)
370 __attribute__((__malloc__));
371 extern "C" jchar* _Jv_GetStringChars (jstring str);
372 extern "C" jint _Jv_MonitorEnter (jobject);
373 extern "C" jint _Jv_MonitorExit (jobject);
374 extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
375 __attribute__((__malloc__));
376 extern "C" jsize _Jv_GetStringUTFLength (jstring);
377 extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
379 extern "C" void _Jv_Throw (jthrowable) __attribute__ ((__noreturn__));
380 extern "C" void* _Jv_Malloc (jsize) __attribute__((__malloc__));
381 extern "C" void* _Jv_Realloc (void *, jsize);
382 extern "C" void _Jv_Free (void*);
384 typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
385 typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
390 _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
391 char data[1]; /* In Utf8 format, with final '\0'. */
394 #endif /* __JAVAPRIMS_H__ */