decl.c (init_decl_processing): Add new class "protectionDomain" field.
[gcc.git] / libjava / gcj / javaprims.h
1 // javaprims.h - Main external header file for libgcj. -*- c++ -*-
2
3 /* Copyright (C) 1998, 1999, 2000 Free Software Foundation
4
5 This file is part of libgcj.
6
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9 details. */
10
11 #ifndef __JAVAPRIMS_H__
12 #define __JAVAPRIMS_H__
13
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
16 // and FALSE.
17 #undef TRUE
18 #define TRUE TRUE
19 #undef FALSE
20 #define FALSE FALSE
21
22 // To force selection of correct types that will mangle consistently
23 // across platforms.
24 extern "Java"
25 {
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;
34 typedef jint jsize;
35
36 // The following class declarations are automatically generated by
37 // the `classes.pl' script.
38 namespace java
39 {
40 namespace io
41 {
42 class BufferedInputStream;
43 class BufferedOutputStream;
44 class BufferedReader;
45 class BufferedWriter;
46 class ByteArrayInputStream;
47 class ByteArrayOutputStream;
48 class CharArrayReader;
49 class CharArrayWriter;
50 class CharConversionException;
51 class DataInput;
52 class DataInputStream;
53 class DataOutput;
54 class DataOutputStream;
55 class EOFException;
56 class Externalizable;
57 class File;
58 class FileDescriptor;
59 class FileFilter;
60 class FileInputStream;
61 class FileNotFoundException;
62 class FileOutputStream;
63 class FilePermission;
64 class FileReader;
65 class FileWriter;
66 class FilenameFilter;
67 class FilterInputStream;
68 class FilterOutputStream;
69 class FilterReader;
70 class FilterWriter;
71 class IOException;
72 class InputStream;
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;
83 class ObjectInput;
84 class ObjectInputStream;
85 class ObjectInputStream$GetField;
86 class ObjectInputValidation;
87 class ObjectOutput;
88 class ObjectOutputStream;
89 class ObjectOutputStream$PutField;
90 class ObjectStreamClass;
91 class ObjectStreamConstants;
92 class ObjectStreamException;
93 class ObjectStreamField;
94 class OptionalDataException;
95 class OutputStream;
96 class OutputStreamWriter;
97 class PipedInputStream;
98 class PipedOutputStream;
99 class PipedReader;
100 class PipedWriter;
101 class PrintStream;
102 class PrintWriter;
103 class PushbackInputStream;
104 class PushbackReader;
105 class RandomAccessFile;
106 class Reader;
107 class SequenceInputStream;
108 class Serializable;
109 class SerializablePermission;
110 class StreamCorruptedException;
111 class StreamTokenizer;
112 class StringBufferInputStream;
113 class StringReader;
114 class StringWriter;
115 class SyncFailedException;
116 class UTFDataFormatException;
117 class UnsupportedEncodingException;
118 class ValidatorAndPriority;
119 class WriteAbortedException;
120 class Writer;
121 };
122
123 namespace lang
124 {
125 class AbstractMethodError;
126 class ArithmeticException;
127 class ArrayIndexOutOfBoundsException;
128 class ArrayStoreException;
129 class Boolean;
130 class Byte;
131 class CPlusPlusDemangler;
132 class Character;
133 class Character$Subset;
134 class Character$UnicodeBlock;
135 class Class;
136 class ClassCastException;
137 class ClassCircularityError;
138 class ClassFormatError;
139 class ClassLoader;
140 class ClassNotFoundException;
141 class CloneNotSupportedException;
142 class Cloneable;
143 class Comparable;
144 class Compiler;
145 class ConcreteProcess;
146 class Double;
147 class Error;
148 class Exception;
149 class ExceptionInInitializerError;
150 class Float;
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;
161 class Integer;
162 class InternalError;
163 class InterruptedException;
164 class LinkageError;
165 class Long;
166 class Math;
167 class NegativeArraySizeException;
168 class NoClassDefFoundError;
169 class NoSuchFieldError;
170 class NoSuchFieldException;
171 class NoSuchMethodError;
172 class NoSuchMethodException;
173 class NullPointerException;
174 class Number;
175 class NumberFormatException;
176 class Object;
177 class OutOfMemoryError;
178 class Package;
179 class Process;
180 class Runnable;
181 class Runtime;
182 class RuntimeException;
183 class RuntimePermission;
184 class SecurityException;
185 class SecurityManager;
186 class Short;
187 class StackOverflowError;
188 class String;
189 class StringBuffer;
190 class StringIndexOutOfBoundsException;
191 class System;
192 class Thread;
193 class ThreadDeath;
194 class ThreadGroup;
195 class Throwable;
196 class UnknownError;
197 class UnsatisfiedLinkError;
198 class UnsupportedOperationException;
199 class VerifyError;
200 class VirtualMachineError;
201 class Void;
202 namespace ref
203 {
204 class PhantomReference;
205 class Reference;
206 class ReferenceQueue;
207 class SoftReference;
208 class WeakReference;
209 };
210
211 namespace reflect
212 {
213 class AccessibleObject;
214 class Array;
215 class Constructor;
216 class Field;
217 class InvocationTargetException;
218 class Member;
219 class Method;
220 class Modifier;
221 class ReflectPermission;
222 };
223 };
224
225 namespace util
226 {
227 class AbstractCollection;
228 class AbstractList;
229 class AbstractList$AbstractListItr;
230 class AbstractMap;
231 class AbstractSequentialList;
232 class AbstractSet;
233 class ArrayList;
234 class Arrays;
235 class Arrays$ListImpl;
236 class BasicMapEntry;
237 class BitSet;
238 class Calendar;
239 class Collection;
240 class Collections;
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;
258 class Comparator;
259 class ConcurrentModificationException;
260 class Date;
261 class Dictionary;
262 class EmptyStackException;
263 class Enumeration;
264 class EventListener;
265 class EventObject;
266 class GregorianCalendar;
267 class HashMap;
268 class HashMap$Entry;
269 class HashMap$HashIterator;
270 class HashSet;
271 class Hashtable;
272 class Hashtable$Entry;
273 class Hashtable$Enumerator;
274 class Hashtable$HashIterator;
275 class Iterator;
276 class LinkedList;
277 class LinkedList$Entry;
278 class LinkedList$LinkedListItr;
279 class List;
280 class ListIterator;
281 class ListResourceBundle;
282 class Locale;
283 class Map;
284 class Map$Entry;
285 class MissingResourceException;
286 class NoSuchElementException;
287 class Observable;
288 class Observer;
289 class Properties;
290 class PropertyPermission;
291 class PropertyResourceBundle;
292 class Random;
293 class ResourceBundle;
294 class Set;
295 class SimpleTimeZone;
296 class SortedMap;
297 class SortedSet;
298 class Stack;
299 class StringTokenizer;
300 class SubList;
301 class TimeZone;
302 class Timer;
303 class Timer$Scheduler;
304 class Timer$TaskQueue;
305 class TimerTask;
306 class TooManyListenersException;
307 class TreeMap;
308 class TreeMap$Node;
309 class TreeMap$SubMap;
310 class TreeMap$TreeIterator;
311 class TreeMap$VerifyResult;
312 class TreeSet;
313 class Vector;
314 class WeakHashMap;
315 class WeakHashMap$Entry;
316 class WeakHashMap$WeakBucket;
317 class WeakHashMap$WeakEntrySet;
318 namespace jar
319 {
320 class Attributes;
321 class Attributes$Name;
322 class JarEntry;
323 class JarException;
324 class JarFile;
325 class JarFile$JarEnumeration;
326 class JarInputStream;
327 class JarOutputStream;
328 class Manifest;
329 };
330
331 namespace zip
332 {
333 class Adler32;
334 class CRC32;
335 class CheckedInputStream;
336 class CheckedOutputStream;
337 class Checksum;
338 class DataFormatException;
339 class Deflater;
340 class DeflaterOutputStream;
341 class GZIPInputStream;
342 class GZIPOutputStream;
343 class Inflater;
344 class InflaterInputStream;
345 class ZipConstants;
346 class ZipEntry;
347 class ZipEnumeration;
348 class ZipException;
349 class ZipFile;
350 class ZipInputStream;
351 class ZipOutputStream;
352 };
353 };
354 };
355 };
356
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;
361 struct _Jv_JNIEnv;
362
363 typedef struct _Jv_Field *jfieldID;
364 typedef struct _Jv_Method *jmethodID;
365
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 *);
378
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*);
383
384 typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
385 typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
386
387 struct _Jv_Utf8Const
388 {
389 _Jv_ushort hash;
390 _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
391 char data[1]; /* In Utf8 format, with final '\0'. */
392 };
393
394 #endif /* __JAVAPRIMS_H__ */