    FOREIGN MODULE sun_misc;

    IMPORT
        java_io,
        java_lang,
        java_util,
        java_lang_ref,
        java_security,
        java_net,
        java_util_jar,
        sun_security_util,
        java_security_cert;

    TYPE

      BASE64Decoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)
                       STATIC
                         PROCEDURE Init*() : BASE64Decoder,CONSTRUCTOR;
                       END;

      BASE64Encoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)
                       STATIC
                         PROCEDURE Init*() : BASE64Encoder,CONSTRUCTOR;
                       END;

      Cache* = POINTER TO EXTENSIBLE RECORD (java_util.Dictionary)
               STATIC
                 PROCEDURE Init*() : Cache,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : INTEGER) : Cache,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : INTEGER;
                                 p1 : SHORTREAL) : Cache,CONSTRUCTOR;
               END;

      CEFormatException* = POINTER TO EXTENSIBLE RECORD (java_io.IOException)
                           STATIC
                             PROCEDURE Init*(p0 : java_lang.String) : CEFormatException,CONSTRUCTOR;
                           END;

      CEStreamExhausted* = POINTER TO EXTENSIBLE RECORD (java_io.IOException)
                           STATIC
                             PROCEDURE Init*() : CEStreamExhausted,CONSTRUCTOR;
                           END;

      CharacterDecoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                          STATIC
                            PROCEDURE Init*() : CharacterDecoder,CONSTRUCTOR;
                          END;

      CharacterEncoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                            pStream! : java_io.PrintStream;
                          STATIC
                            PROCEDURE Init*() : CharacterEncoder,CONSTRUCTOR;
                          END;

      Compare* = POINTER TO INTERFACE RECORD (java_lang.Object)
                 END;

      CompoundEnumeration* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Enumeration)
                             STATIC
                               PROCEDURE Init*(IN  p0 : ARRAY OF java_util.Enumeration) : CompoundEnumeration,CONSTRUCTOR;
                             END;

      ConditionLock* = POINTER TO RECORD (Lock)
                       STATIC
                         PROCEDURE Init*() : ConditionLock,CONSTRUCTOR;
                         PROCEDURE Init*(p0 : INTEGER) : ConditionLock,CONSTRUCTOR;
                       END;

      CRC16* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 value* : INTEGER;
               STATIC
                 PROCEDURE Init*() : CRC16,CONSTRUCTOR;
               END;

      GC$LatencyRequest* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Comparable)
                           END;

      GC* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
            STATIC
              PROCEDURE currentLatencyTarget*() : LONGINT;
              PROCEDURE maxObjectInspectionAge*() : LONGINT;
              PROCEDURE requestLatency*(p0 : LONGINT) : GC$LatencyRequest;
            END;

      HexDumpEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)
                        STATIC
                          PROCEDURE Init*() : HexDumpEncoder,CONSTRUCTOR;
                        END;

      Launcher* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                  STATIC
                    PROCEDURE Init*() : Launcher,CONSTRUCTOR;
                    PROCEDURE getBootstrapClassPath*() : URLClassPath;
                    PROCEDURE getLauncher*() : Launcher;
                  END;

      Lock* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
              STATIC
                PROCEDURE Init*() : Lock,CONSTRUCTOR;
              END;

      MessageUtils* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                      STATIC
                        PROCEDURE Init*() : MessageUtils,CONSTRUCTOR;
                        PROCEDURE main*(IN  p0 : ARRAY OF java_lang.String);
                        PROCEDURE subst*(p0 : java_lang.String;
                                         p1 : java_lang.String) : java_lang.String;
                        PROCEDURE subst*(p0 : java_lang.String;
                                         p1 : java_lang.String;
                                         p2 : java_lang.String) : java_lang.String;
                        PROCEDURE subst*(p0 : java_lang.String;
                                         p1 : java_lang.String;
                                         p2 : java_lang.String;
                                         p3 : java_lang.String) : java_lang.String;
                        PROCEDURE subst*(    p0 : java_lang.String;
                                         IN  p1 : ARRAY OF java_lang.String) : java_lang.String;
                        PROCEDURE substProp*(p0 : java_lang.String;
                                             p1 : java_lang.String) : java_lang.String;
                        PROCEDURE substProp*(p0 : java_lang.String;
                                             p1 : java_lang.String;
                                             p2 : java_lang.String) : java_lang.String;
                        PROCEDURE substProp*(p0 : java_lang.String;
                                             p1 : java_lang.String;
                                             p2 : java_lang.String;
                                             p3 : java_lang.String) : java_lang.String;
                        PROCEDURE toStderr*(p0 : java_lang.String);
                        PROCEDURE toStdout*(p0 : java_lang.String);
                      END;

      Queue* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
               STATIC
                 PROCEDURE Init*() : Queue,CONSTRUCTOR;
               END;

      REException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                     END;

      Ref* = POINTER TO ABSTRACT RECORD (java_lang.Object)
             STATIC
               PROCEDURE Init*() : Ref,CONSTRUCTOR;
               PROCEDURE Init*(p0 : java_lang.Object) : Ref,CONSTRUCTOR;
             END;

      Regexp* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                  ignoreCase* : BOOLEAN;
                  exp* : java_lang.String;
                  prefix* : java_lang.String;
                  suffix* : java_lang.String;
                  exact* : BOOLEAN;
                  prefixLen* : INTEGER;
                  suffixLen* : INTEGER;
                  totalLen* : INTEGER;
                  mids* : POINTER TO ARRAY OF java_lang.String;
                STATIC
                  PROCEDURE Init*(p0 : java_lang.String) : Regexp,CONSTRUCTOR;
                  PROCEDURE main*(IN  p0 : ARRAY OF java_lang.String);
                END;

      RegexpPool* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                    STATIC
                      PROCEDURE Init*() : RegexpPool,CONSTRUCTOR;
                      PROCEDURE main*(IN  p0 : ARRAY OF java_lang.String);
                    END;

      RegexpTarget* = POINTER TO INTERFACE RECORD (java_lang.Object)
                      END;

      Request* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                 STATIC
                   PROCEDURE Init*() : Request,CONSTRUCTOR;
                 END;

      RequestProcessor* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Runnable)
                          STATIC
                            PROCEDURE Init*() : RequestProcessor,CONSTRUCTOR;
                            PROCEDURE postRequest*(p0 : Request);
                            PROCEDURE startProcessing*();
                          END;

      Resource* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                  STATIC
                    PROCEDURE Init*() : Resource,CONSTRUCTOR;
                  END;

      Signal* = POINTER TO RECORD (java_lang.Object)
                STATIC
                  PROCEDURE Init*(p0 : java_lang.String) : Signal,CONSTRUCTOR;
                  PROCEDURE handle*(p0 : Signal;
                                    p1 : SignalHandler) : SignalHandler;
                  PROCEDURE raise*(p0 : Signal);
                END;

      SignalHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)
                       STATIC
                         SIG_DFL* : SignalHandler;
                         SIG_IGN* : SignalHandler;
                       END;

      SoftCache* = POINTER TO EXTENSIBLE RECORD (java_util.AbstractMap + java_util.Map)
                   STATIC
                     PROCEDURE Init*() : SoftCache,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : INTEGER) : SoftCache,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : INTEGER;
                                     p1 : SHORTREAL) : SoftCache,CONSTRUCTOR;
                   END;

      Sort* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
              STATIC
                PROCEDURE Init*() : Sort,CONSTRUCTOR;
                PROCEDURE quicksort*(IN  p0 : ARRAY OF java_lang.Object;
                                         p1 : INTEGER;
                                         p2 : INTEGER;
                                         p3 : Compare);
                PROCEDURE quicksort*(IN  p0 : ARRAY OF java_lang.Object;
                                         p1 : Compare);
              END;

      Timeable* = POINTER TO INTERFACE RECORD (java_lang.Object)
                  END;

      Timer* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 owner* : Timeable;
               STATIC
                 PROCEDURE Init*(p0 : Timeable;
                                 p1 : LONGINT) : Timer,CONSTRUCTOR;
               END;

      UCDecoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)
                   STATIC
                     PROCEDURE Init*() : UCDecoder,CONSTRUCTOR;
                   END;

      UCEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)
                   STATIC
                     PROCEDURE Init*() : UCEncoder,CONSTRUCTOR;
                   END;

      URLClassPath* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                      STATIC
                        PROCEDURE Init*(IN  p0 : ARRAY OF java_net.URL) : URLClassPath,CONSTRUCTOR;
                        PROCEDURE Init*(IN  p0 : ARRAY OF java_net.URL;
                                            p1 : java_net.URLStreamHandlerFactory) : URLClassPath,CONSTRUCTOR;
                        PROCEDURE pathToURLs*(p0 : java_lang.String) : POINTER TO ARRAY OF java_net.URL;
                      END;

      UUDecoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)
                     bufferName* : java_lang.String;
                     mode* : INTEGER;
                   STATIC
                     PROCEDURE Init*() : UUDecoder,CONSTRUCTOR;
                   END;

      UUEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)
                   STATIC
                     PROCEDURE Init*() : UUEncoder,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.String) : UUEncoder,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.String;
                                     p1 : INTEGER) : UUEncoder,CONSTRUCTOR;
                   END;

      VM* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
            STATIC
              STATE_GREEN* = 1;
              STATE_YELLOW* = 2;
              STATE_RED* = 3;
              PROCEDURE Init*() : VM,CONSTRUCTOR;
              PROCEDURE allowThreadSuspension*(p0 : java_lang.ThreadGroup;
                                               p1 : BOOLEAN) : BOOLEAN;
              PROCEDURE asChange*(p0 : INTEGER;
                                  p1 : INTEGER);
              PROCEDURE asChange_otherthread*(p0 : INTEGER;
                                              p1 : INTEGER);
              PROCEDURE getState*() : INTEGER;
              PROCEDURE registerVMNotification*(p0 : VMNotification);
              PROCEDURE suspendThreads*() : BOOLEAN;
              PROCEDURE threadsSuspended*() : BOOLEAN;
              PROCEDURE unsuspendSomeThreads*();
              PROCEDURE unsuspendThreads*();
            END;

      VMNotification* = POINTER TO INTERFACE RECORD (java_lang.Object)
                        END;

    PROCEDURE (self:BASE64Decoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:BASE64Decoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:BASE64Decoder) decodeAtom!(p0 : java_io.InputStream;
                                               p1 : java_io.OutputStream;
                                               p2 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:BASE64Encoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:BASE64Encoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:BASE64Encoder) encodeAtom!(    p0 : java_io.OutputStream;
                                               IN  p1 : ARRAY OF BYTE;
                                                   p2 : INTEGER;
                                                   p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:Cache) elements*() : java_util.Enumeration,EXTENSIBLE;

    PROCEDURE (self:Cache) get*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:Cache) isEmpty*() : BOOLEAN,EXTENSIBLE;

    PROCEDURE (self:Cache) keys*() : java_util.Enumeration,EXTENSIBLE;

    PROCEDURE (self:Cache) put*(p0 : java_lang.Object;
                                p1 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:Cache) rehash!(),NEW,EXTENSIBLE;

    PROCEDURE (self:Cache) remove*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:Cache) size*() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) bytesPerAtom!() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:CharacterDecoder) bytesPerLine!() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:CharacterDecoder) decodeAtom!(p0 : java_io.InputStream;
                                                  p1 : java_io.OutputStream;
                                                  p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_io.InputStream) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_io.InputStream;
                                                    p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeBufferPrefix!(p0 : java_io.InputStream;
                                                          p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeBufferSuffix!(p0 : java_io.InputStream;
                                                          p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeLinePrefix!(p0 : java_io.InputStream;
                                                        p1 : java_io.OutputStream) : INTEGER,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) decodeLineSuffix!(p0 : java_io.InputStream;
                                                        p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterDecoder) readFully!(    p0 : java_io.InputStream;
                                                 IN  p1 : ARRAY OF BYTE;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) bytesPerAtom!() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:CharacterEncoder) bytesPerLine!() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:CharacterEncoder) encode*(p0 : java_io.InputStream;
                                              p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encode*(IN  p0 : ARRAY OF BYTE) : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encode*(IN  p0 : ARRAY OF BYTE;
                                                  p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                                  IN  p1 : ARRAY OF BYTE;
                                                      p2 : INTEGER;
                                                      p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:CharacterEncoder) encodeBuffer*(p0 : java_io.InputStream;
                                                    p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeBuffer*(IN  p0 : ARRAY OF BYTE) : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeBuffer*(IN  p0 : ARRAY OF BYTE;
                                                        p1 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeBufferSuffix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                        p1 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

    PROCEDURE (self:CharacterEncoder) readFully!(    p0 : java_io.InputStream;
                                                 IN  p1 : ARRAY OF BYTE) : INTEGER,NEW,EXTENSIBLE;

    PROCEDURE (self:Compare) doCompare*(p0 : java_lang.Object;
                                        p1 : java_lang.Object) : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:CompoundEnumeration) hasMoreElements*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:CompoundEnumeration) nextElement*() : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:ConditionLock) lockWhen*(p0 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ConditionLock) unlockWith*(p0 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:CRC16) reset*(),NEW,EXTENSIBLE;

    PROCEDURE (self:CRC16) update*(p0 : BYTE),NEW,EXTENSIBLE;

    PROCEDURE (self:GC$LatencyRequest) cancel*(),NEW,EXTENSIBLE;

    PROCEDURE (self:GC$LatencyRequest) compareTo*(p0 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

    PROCEDURE (self:GC$LatencyRequest) toString*() : java_lang.String,EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                                IN  p1 : ARRAY OF BYTE;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                      p1 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:HexDumpEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:Launcher) getClassLoader*() : java_lang.ClassLoader,NEW,EXTENSIBLE;

    PROCEDURE (self:Lock) lock*(),NEW;

    PROCEDURE (self:Lock) unlock*(),NEW;

    PROCEDURE (self:Queue) dequeue*() : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:Queue) dequeue*(p0 : LONGINT) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:Queue) dump*(p0 : java_lang.String),NEW,EXTENSIBLE;

    PROCEDURE (self:Queue) elements*() : java_util.Enumeration,NEW;

    PROCEDURE (self:Queue) enqueue*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:Queue) isEmpty*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:Queue) reverseElements*() : java_util.Enumeration,NEW;

    PROCEDURE (self:Ref) check*() : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:Ref) flush*(),NEW,EXTENSIBLE;

    PROCEDURE (self:Ref) get*() : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:Ref) reconstitute*() : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:Ref) setThing*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) add*(p0 : java_lang.String;
                                     p1 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) delete*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) match*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) matchNext*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) print*(p0 : java_io.PrintStream),NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) replace*(p0 : java_lang.String;
                                         p1 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpPool) reset*(),NEW,EXTENSIBLE;

    PROCEDURE (self:RegexpTarget) found*(p0 : java_lang.String) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:Request) execute*(),NEW,ABSTRACT;

    PROCEDURE (self:RequestProcessor) run*(),NEW,EXTENSIBLE;

    PROCEDURE (self:Resource) getBytes*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

    PROCEDURE (self:Resource) getCertificates*() : POINTER TO ARRAY OF java_security_cert.Certificate,NEW,EXTENSIBLE;

    PROCEDURE (self:Resource) getCodeSourceURL*() : java_net.URL,NEW,ABSTRACT;

    PROCEDURE (self:Resource) getContentLength*() : INTEGER,NEW,ABSTRACT;

    PROCEDURE (self:Resource) getInputStream*() : java_io.InputStream,NEW,ABSTRACT;

    PROCEDURE (self:Resource) getManifest*() : java_util_jar.Manifest,NEW,EXTENSIBLE;

    PROCEDURE (self:Resource) getName*() : java_lang.String,NEW,ABSTRACT;

    PROCEDURE (self:Resource) getURL*() : java_net.URL,NEW,ABSTRACT;

    PROCEDURE (self:Signal) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

    PROCEDURE (self:Signal) getName*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:Signal) hashCode*() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:Signal) toString*() : java_lang.String,EXTENSIBLE;

    PROCEDURE (self:SignalHandler) handle*(p0 : Signal),NEW,ABSTRACT;

    PROCEDURE (self:SoftCache) clear*(),EXTENSIBLE;

    PROCEDURE (self:SoftCache) containsKey*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

    PROCEDURE (self:SoftCache) entrySet*() : java_util.Set,EXTENSIBLE;

    PROCEDURE (self:SoftCache) fill!(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:SoftCache) get*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:SoftCache) isEmpty*() : BOOLEAN,EXTENSIBLE;

    PROCEDURE (self:SoftCache) put*(p0 : java_lang.Object;
                                    p1 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:SoftCache) remove*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:SoftCache) size*() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:Timeable) tick*(p0 : Timer),NEW,ABSTRACT;

    PROCEDURE (self:Timer) cont*(),NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) getInterval*() : LONGINT,NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) getRemainingTime*() : LONGINT,NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) getStopTime*() : LONGINT,NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) getTimerThread!() : java_lang.Thread,NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) isStopped*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) reset*(),NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) setInterval*(p0 : LONGINT),NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) setRegular*(p0 : BOOLEAN),NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) setRemainingTime*(p0 : LONGINT),NEW,EXTENSIBLE;

    PROCEDURE (self:Timer) stop*(),NEW,EXTENSIBLE;

    PROCEDURE (self:UCDecoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UCDecoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UCDecoder) decodeAtom!(p0 : java_io.InputStream;
                                           p1 : java_io.OutputStream;
                                           p2 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UCDecoder) decodeBufferPrefix!(p0 : java_io.InputStream;
                                                   p1 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UCDecoder) decodeLinePrefix!(p0 : java_io.InputStream;
                                                 p1 : java_io.OutputStream) : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UCDecoder) decodeLineSuffix!(p0 : java_io.InputStream;
                                                 p1 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UCEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UCEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UCEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                           IN  p1 : ARRAY OF BYTE;
                                               p2 : INTEGER;
                                               p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UCEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UCEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                 p1 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UCEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:URLClassPath) addURL*(p0 : java_net.URL),NEW,EXTENSIBLE;

    PROCEDURE (self:URLClassPath) getResource*(p0 : java_lang.String) : Resource,NEW,EXTENSIBLE;

    PROCEDURE (self:URLClassPath) getResource*(p0 : java_lang.String;
                                               p1 : BOOLEAN) : Resource,NEW,EXTENSIBLE;

    PROCEDURE (self:URLClassPath) getResources*(p0 : java_lang.String) : java_util.Enumeration,NEW,EXTENSIBLE;

    PROCEDURE (self:URLClassPath) getResources*(p0 : java_lang.String;
                                                p1 : BOOLEAN) : java_util.Enumeration,NEW,EXTENSIBLE;

    PROCEDURE (self:URLClassPath) getURLs*() : POINTER TO ARRAY OF java_net.URL,NEW,EXTENSIBLE;

    PROCEDURE (self:UUDecoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UUDecoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UUDecoder) decodeAtom!(p0 : java_io.InputStream;
                                           p1 : java_io.OutputStream;
                                           p2 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UUDecoder) decodeBufferPrefix!(p0 : java_io.InputStream;
                                                   p1 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UUDecoder) decodeBufferSuffix!(p0 : java_io.InputStream;
                                                   p1 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UUDecoder) decodeLinePrefix!(p0 : java_io.InputStream;
                                                 p1 : java_io.OutputStream) : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UUDecoder) decodeLineSuffix!(p0 : java_io.InputStream;
                                                 p1 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UUEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UUEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

    PROCEDURE (self:UUEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                           IN  p1 : ARRAY OF BYTE;
                                               p2 : INTEGER;
                                               p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UUEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UUEncoder) encodeBufferSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:UUEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                 p1 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:UUEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

    PROCEDURE (self:VMNotification) newAllocState*(p0 : INTEGER;
                                                   p1 : INTEGER;
                                                   p2 : BOOLEAN),NEW,ABSTRACT;

    END sun_misc.