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 BlockDataException;
43 class BufferedInputStream;
44 class BufferedOutputStream;
47 class ByteArrayInputStream;
48 class ByteArrayOutputStream;
49 class CharArrayReader;
50 class CharArrayWriter;
51 class CharConversionException;
53 class DataInputStream;
55 class DataOutputStream;
61 class FileInputStream;
62 class FileNotFoundException;
63 class FileOutputStream;
68 class FilterInputStream;
69 class FilterOutputStream;
74 class InputStreamReader;
75 class InterfaceComparator;
76 class InterruptedIOException;
77 class InvalidClassException;
78 class InvalidObjectException;
79 class LineNumberInputStream;
80 class LineNumberReader;
81 class MemberComparator;
82 class NotActiveException;
83 class NotSerializableException;
85 class ObjectInputStream;
86 class ObjectInputStream$GetField;
87 class ObjectInputValidation;
89 class ObjectOutputStream;
90 class ObjectOutputStream$PutField;
91 class ObjectStreamClass;
92 class ObjectStreamConstants;
93 class ObjectStreamException;
94 class ObjectStreamField;
95 class OptionalDataException;
97 class OutputStreamWriter;
98 class PipedInputStream;
99 class PipedOutputStream;
104 class PushbackInputStream;
105 class PushbackReader;
106 class RandomAccessFile;
108 class SequenceInputStream;
110 class SerializablePermission;
111 class StreamCorruptedException;
112 class StreamTokenizer;
113 class StringBufferInputStream;
116 class SyncFailedException;
117 class UTFDataFormatException;
118 class UnsupportedEncodingException;
119 class ValidatorAndPriority;
120 class WriteAbortedException;
126 class AbstractMethodError;
127 class ArithmeticException;
128 class ArrayIndexOutOfBoundsException;
129 class ArrayStoreException;
132 class CPlusPlusDemangler;
134 class Character$Subset;
135 class Character$UnicodeBlock;
137 class ClassCastException;
138 class ClassCircularityError;
139 class ClassFormatError;
141 class ClassNotFoundException;
142 class CloneNotSupportedException;
146 class ConcreteProcess;
150 class ExceptionInInitializerError;
152 class IllegalAccessError;
153 class IllegalAccessException;
154 class IllegalArgumentException;
155 class IllegalMonitorStateException;
156 class IllegalStateException;
157 class IllegalThreadStateException;
158 class IncompatibleClassChangeError;
159 class IndexOutOfBoundsException;
160 class InstantiationError;
161 class InstantiationException;
164 class InterruptedException;
168 class NegativeArraySizeException;
169 class NoClassDefFoundError;
170 class NoSuchFieldError;
171 class NoSuchFieldException;
172 class NoSuchMethodError;
173 class NoSuchMethodException;
174 class NullPointerException;
176 class NumberFormatException;
178 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;
240 class Collections$SynchronizedCollection;
241 class Collections$SynchronizedIterator;
242 class Collections$SynchronizedList;
243 class Collections$SynchronizedListIterator;
244 class Collections$SynchronizedMap;
245 class Collections$SynchronizedSet;
246 class Collections$SynchronizedSortedMap;
247 class Collections$SynchronizedSortedSet;
248 class Collections$UnmodifiableCollection;
249 class Collections$UnmodifiableIterator;
250 class Collections$UnmodifiableList;
251 class Collections$UnmodifiableListIterator;
252 class Collections$UnmodifiableMap;
253 class Collections$UnmodifiableSet;
254 class Collections$UnmodifiableSortedMap;
255 class Collections$UnmodifiableSortedSet;
257 class ConcurrentModificationException;
260 class EmptyStackException;
264 class GregorianCalendar;
267 class HashMap$HashIterator;
270 class Hashtable$Entry;
271 class Hashtable$Enumerator;
272 class Hashtable$HashIterator;
275 class LinkedList$Entry;
276 class LinkedList$LinkedListItr;
279 class ListResourceBundle;
283 class MissingResourceException;
284 class NoSuchElementException;
288 class PropertyPermission;
289 class PropertyResourceBundle;
291 class ResourceBundle;
293 class SimpleTimeZone;
297 class StringTokenizer;
301 class Timer$Scheduler;
302 class Timer$TaskQueue;
304 class TooManyListenersException;
307 class WeakHashMap$Entry;
308 class WeakHashMap$WeakBucket;
309 class WeakHashMap$WeakEntrySet;
313 class Attributes$Name;
317 class JarFile$JarEnumeration;
318 class JarInputStream;
319 class JarOutputStream;
327 class CheckedInputStream;
328 class CheckedOutputStream;
330 class DataFormatException;
332 class DeflaterOutputStream;
333 class GZIPInputStream;
334 class GZIPOutputStream;
336 class InflaterInputStream;
339 class ZipEnumeration;
342 class ZipInputStream;
343 class ZipOutputStream;
349 typedef struct java::lang::Object* jobject;
350 typedef class java::lang::Class* jclass;
351 typedef class java::lang::Throwable* jthrowable;
352 typedef class java::lang::String* jstring;
355 typedef struct _Jv_Field *jfieldID;
356 typedef struct _Jv_Method *jmethodID;
358 extern "C" jobject _Jv_AllocObject (jclass, jint) __attribute__((__malloc__));
359 extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass);
360 extern "C" jstring _Jv_AllocString(jsize) __attribute__((__malloc__));
361 extern "C" jstring _Jv_NewString (const jchar*, jsize)
362 __attribute__((__malloc__));
363 extern "C" jchar* _Jv_GetStringChars (jstring str);
364 extern "C" jint _Jv_MonitorEnter (jobject);
365 extern "C" jint _Jv_MonitorExit (jobject);
366 extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
367 __attribute__((__malloc__));
368 extern "C" jsize _Jv_GetStringUTFLength (jstring);
369 extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
371 extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
372 extern "C" void _Jv_Sjlj_Throw (void *) __attribute__ ((__noreturn__));
373 extern "C" void* _Jv_Malloc (jsize) __attribute__((__malloc__));
374 extern "C" void* _Jv_Realloc (void *, jsize);
375 extern "C" void _Jv_Free (void*);
377 typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
378 typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
383 _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
384 char data[1]; /* In Utf8 format, with final '\0'. */
387 #endif /* __JAVAPRIMS_H__ */