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__ */