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
;
60 class FileInputStream
;
61 class FileNotFoundException
;
62 class FileOutputStream
;
66 class FilterInputStream
;
67 class FilterOutputStream
;
72 class InputStreamReader
;
73 class InterfaceComparator
;
74 class InterruptedIOException
;
75 class InvalidClassException
;
76 class InvalidObjectException
;
77 class LineNumberInputStream
;
78 class LineNumberReader
;
79 class MemberComparator
;
80 class NotActiveException
;
81 class NotSerializableException
;
83 class ObjectInputStream
;
84 class ObjectInputStream$GetField
;
85 class ObjectInputValidation
;
87 class ObjectOutputStream
;
88 class ObjectOutputStream$PutField
;
89 class ObjectStreamClass
;
90 class ObjectStreamConstants
;
91 class ObjectStreamException
;
92 class ObjectStreamField
;
93 class OptionalDataException
;
95 class OutputStreamWriter
;
96 class PipedInputStream
;
97 class PipedOutputStream
;
102 class PushbackInputStream
;
103 class PushbackReader
;
104 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
;
135 class ClassCastException
;
136 class ClassCircularityError
;
137 class ClassFormatError
;
139 class ClassNotFoundException
;
140 class CloneNotSupportedException
;
144 class ConcreteProcess
;
148 class ExceptionInInitializerError
;
150 class IllegalAccessError
;
151 class IllegalAccessException
;
152 class IllegalArgumentException
;
153 class IllegalMonitorStateException
;
154 class IllegalStateException
;
155 class IllegalThreadStateException
;
156 class IncompatibleClassChangeError
;
157 class IndexOutOfBoundsException
;
158 class InstantiationError
;
159 class InstantiationException
;
162 class InterruptedException
;
166 class NegativeArraySizeException
;
167 class NoClassDefFoundError
;
168 class NoSuchFieldError
;
169 class NoSuchFieldException
;
170 class NoSuchMethodError
;
171 class NoSuchMethodException
;
172 class NullPointerException
;
174 class NumberFormatException
;
176 class OutOfMemoryError
;
180 class RuntimeException
;
181 class SecurityException
;
182 class SecurityManager
;
184 class StackOverflowError
;
187 class StringIndexOutOfBoundsException
;
194 class UnsatisfiedLinkError
;
195 class UnsupportedOperationException
;
197 class VirtualMachineError
;
201 class AccessibleObject
;
205 class InvocationTargetException
;
214 class AbstractCollection
;
216 class AbstractList$SubList
;
219 class Arrays$ListImpl
;
227 class ConcurrentModificationException
;
230 class EmptyStackException
;
234 class GregorianCalendar
;
236 class Hashtable$HashtableCollection
;
237 class Hashtable$HashtableEntry
;
238 class Hashtable$HashtableEnumeration
;
239 class Hashtable$HashtableIterator
;
240 class Hashtable$HashtableSet
;
244 class ListResourceBundle
;
248 class MissingResourceException
;
249 class NoSuchElementException
;
253 class PropertyResourceBundle
;
255 class ResourceBundle
;
257 class SimpleTimeZone
;
259 class StringTokenizer
;
261 class TooManyListenersException
;
263 class VectorEnumeration
;
270 class JarFile$JarEnumeration
;
271 class JarInputStream
;
272 class JarOutputStream
;
280 class CheckedInputStream
;
281 class CheckedOutputStream
;
283 class DataFormatException
;
285 class DeflaterOutputStream
;
286 class GZIPInputStream
;
287 class GZIPOutputStream
;
289 class InflaterInputStream
;
292 class ZipEnumeration
;
295 class ZipInputStream
;
296 class ZipOutputStream
;
304 class BlockDataException
;
305 class BufferedInputStream
;
306 class BufferedOutputStream
;
307 class BufferedReader
;
308 class BufferedWriter
;
309 class ByteArrayInputStream
;
310 class ByteArrayOutputStream
;
311 class CharArrayReader
;
312 class CharArrayWriter
;
313 class CharConversionException
;
315 class DataInputStream
;
317 class DataOutputStream
;
319 class Externalizable
;
321 class FileDescriptor
;
322 class FileInputStream
;
323 class FileNotFoundException
;
324 class FileOutputStream
;
327 class FilenameFilter
;
328 class FilterInputStream
;
329 class FilterOutputStream
;
334 class InputStreamReader
;
335 class InterfaceComparator
;
336 class InterruptedIOException
;
337 class InvalidClassException
;
338 class InvalidObjectException
;
339 class LineNumberInputStream
;
340 class LineNumberReader
;
341 class MemberComparator
;
342 class NotActiveException
;
343 class NotSerializableException
;
345 class ObjectInputStream
;
346 class ObjectInputStream$GetField
;
347 class ObjectInputValidation
;
349 class ObjectOutputStream
;
350 class ObjectOutputStream$PutField
;
351 class ObjectStreamClass
;
352 class ObjectStreamConstants
;
353 class ObjectStreamException
;
354 class ObjectStreamField
;
355 class OptionalDataException
;
357 class OutputStreamWriter
;
358 class PipedInputStream
;
359 class PipedOutputStream
;
364 class PushbackInputStream
;
365 class PushbackReader
;
366 class RandomAccessFile
;
370 class SequenceInputStream
;
372 class SerializablePermission
;
373 class StreamCorruptedException
;
374 class StreamTokenizer
;
375 class StringBufferInputStream
;
378 class SyncFailedException
;
379 class UTFDataFormatException
;
380 class UnsupportedEncodingException
;
381 class ValidatorAndPriority
;
382 class WriteAbortedException
;
388 typedef struct java::lang::Object
* jobject
;
389 typedef class java::lang::Class
* jclass
;
390 typedef class java::lang::Throwable
* jthrowable
;
391 typedef class java::lang::String
* jstring
;
394 typedef struct _Jv_Field
*jfieldID
;
395 typedef struct _Jv_Method
*jmethodID
;
397 extern "C" jobject
_Jv_AllocObject (jclass
, jint
) __attribute__((__malloc__
));
398 extern "C" jboolean
_Jv_IsInstanceOf(jobject
, jclass
);
399 extern "C" jstring
_Jv_AllocString(jsize
) __attribute__((__malloc__
));
400 extern "C" jstring
_Jv_NewString (const jchar
*, jsize
)
401 __attribute__((__malloc__
));
402 extern "C" jchar
* _Jv_GetStringChars (jstring str
);
403 extern "C" jint
_Jv_MonitorEnter (jobject
);
404 extern "C" jint
_Jv_MonitorExit (jobject
);
405 extern "C" jstring
_Jv_NewStringLatin1(const char*, jsize
)
406 __attribute__((__malloc__
));
407 extern "C" jsize
_Jv_GetStringUTFLength (jstring
);
408 extern "C" jsize
_Jv_GetStringUTFRegion (jstring
, jsize
, jsize
, char *);
410 extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__
));
411 extern "C" void _Jv_Sjlj_Throw (void *) __attribute__ ((__noreturn__
));
412 extern "C" void* _Jv_Malloc (jsize
) __attribute__((__malloc__
));
413 extern "C" void* _Jv_Realloc (void *, jsize
);
414 extern "C" void _Jv_Free (void*);
416 typedef unsigned short _Jv_ushort
__attribute__((__mode__(__HI__
)));
417 typedef unsigned int _Jv_uint
__attribute__((__mode__(__SI__
)));
422 _Jv_ushort length
; /* In bytes, of data portion, without final '\0'. */
423 char data
[1]; /* In Utf8 format, with final '\0'. */
426 #endif /* __JAVAPRIMS_H__ */