FOREIGN MODULE sun_security_util;

IMPORT
    java_lang := "java.lang",
    java_util := "java.util",
    java_util_concurrent := "java.util.concurrent",
    java_lang_ref := "java.lang.ref",
    java_math := "java.math",
    java_io := "java.io",
    java_security_cert := "java.security.cert",
    javax_security_auth_kerberos := "javax.security.auth.kerberos",
    sun_security_x509 := "sun.security.x509",
    java_security := "java.security",
    sun_misc := "sun.misc",
    java_util_jar := "java.util.jar",
    java_nio_charset := "java.nio.charset",
    java_net := "java.net",
    java_awt := "java.awt",
    javax_security_auth := "javax.security.auth",
    sun_security_pkcs := "sun.security.pkcs";

TYPE

  AuthResources* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*() : AuthResources,CONSTRUCTOR;
                   END;

  AuthResources_de* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_de,CONSTRUCTOR;
                      END;

  AuthResources_es* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_es,CONSTRUCTOR;
                      END;

  AuthResources_fr* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_fr,CONSTRUCTOR;
                      END;

  AuthResources_it* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_it,CONSTRUCTOR;
                      END;

  AuthResources_ja* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_ja,CONSTRUCTOR;
                      END;

  AuthResources_ko* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_ko,CONSTRUCTOR;
                      END;

  AuthResources_pt_BR* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE Init*() : AuthResources_pt_BR,CONSTRUCTOR;
                         END;

  AuthResources_sv* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : AuthResources_sv,CONSTRUCTOR;
                      END;

  AuthResources_zh_CN* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE Init*() : AuthResources_zh_CN,CONSTRUCTOR;
                         END;

  AuthResources_zh_HK* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE Init*() : AuthResources_zh_HK,CONSTRUCTOR;
                         END;

  AuthResources_zh_TW* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE Init*() : AuthResources_zh_TW,CONSTRUCTOR;
                         END;

  BigInt* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              PROCEDURE Init*(p0 : INTEGER) : BigInt,CONSTRUCTOR;
              PROCEDURE Init*(p0 : java_math.BigInteger) : BigInt,CONSTRUCTOR;
              PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : BigInt,CONSTRUCTOR;
            END;

  BitArray* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
              STATIC
                PROCEDURE Init*(IN  p0 : ARRAY OF BOOLEAN) : BitArray,CONSTRUCTOR;
                PROCEDURE Init*(    p0 : INTEGER;
                                IN  p1 : ARRAY OF BYTE) : BitArray,CONSTRUCTOR;
                PROCEDURE Init*(p0 : INTEGER) : BitArray,CONSTRUCTOR;
              END;

  ByteArrayLexOrder* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Comparator)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*() : ByteArrayLexOrder,CONSTRUCTOR;
                       END;

  ByteArrayTagOrder* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Comparator)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*() : ByteArrayTagOrder,CONSTRUCTOR;
                       END;

  Cache* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
           STATIC
             PROCEDURE Init!() : Cache,CONSTRUCTOR;
             PROCEDURE newHardMemoryCache*(p0 : INTEGER) : Cache;
             PROCEDURE newHardMemoryCache*(p0 : INTEGER;
                                           p1 : INTEGER) : Cache;
             PROCEDURE newNullCache*() : Cache;
             PROCEDURE newSoftMemoryCache*(p0 : INTEGER) : Cache;
             PROCEDURE newSoftMemoryCache*(p0 : INTEGER;
                                           p1 : INTEGER) : Cache;
           END;

  Cache$CacheVisitor* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                        END;

  Cache$EqualByteArray* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                          STATIC
                            PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : Cache$EqualByteArray,CONSTRUCTOR;
                          END;

  Debug* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
           STATIC
             PROCEDURE getInstance*(p0 : java_lang.String) : Debug;
             PROCEDURE getInstance*(p0 : java_lang.String;
                                    p1 : java_lang.String) : Debug;
             PROCEDURE Help*();
             PROCEDURE Init*() : Debug,CONSTRUCTOR;
             PROCEDURE isOn*(p0 : java_lang.String) : BOOLEAN;
             PROCEDURE println*(p0 : java_lang.String;
                                p1 : java_lang.String);
             PROCEDURE toHexString*(p0 : java_math.BigInteger) : java_lang.String;
             PROCEDURE toString*(IN  p0 : ARRAY OF BYTE) : java_lang.String;
           END;

  DerEncoder* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                END;

  DerInputStream* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                      tag* : BYTE;
                    STATIC
                      PROCEDURE Init*(IN  p0 : ARRAY OF BYTE;
                                          p1 : INTEGER;
                                          p2 : INTEGER) : DerInputStream,CONSTRUCTOR;
                      PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : DerInputStream,CONSTRUCTOR;
                    END;

  DerOutputStream* = POINTER TO EXTENSIBLE RECORD (java_io.ByteArrayOutputStream + DerEncoder)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*() : DerOutputStream,CONSTRUCTOR;
                       PROCEDURE Init*(p0 : INTEGER) : DerOutputStream,CONSTRUCTOR;
                     END;

  DerValue* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                tag*    : BYTE;
                buffer! : DerInputBuffer;
                data*   : DerInputStream;
              STATIC
                TAG_APPLICATION*       = 64;
                tag_BitString*         = 3;
                tag_BMPString*         = 30;
                tag_Boolean*           = 1;
                TAG_CONTEXT*           = -128;
                tag_Enumerated*        = 10;
                tag_GeneralizedTime*   = 24;
                tag_GeneralString*     = 27;
                tag_IA5String*         = 22;
                tag_Integer*           = 2;
                tag_Null*              = 5;
                tag_ObjectId*          = 6;
                tag_OctetString*       = 4;
                tag_PrintableString*   = 19;
                TAG_PRIVATE*           = -64;
                tag_Sequence*          = 48;
                tag_SequenceOf*        = 48;
                tag_Set*               = 49;
                tag_SetOf*             = 49;
                tag_T61String*         = 20;
                TAG_UNIVERSAL*         = 0;
                tag_UniversalString*   = 28;
                tag_UtcTime*           = 23;
                tag_UTF8String*        = 12;
                PROCEDURE createTag*(p0 : BYTE;
                                     p1 : BOOLEAN;
                                     p2 : BYTE) : BYTE;
                PROCEDURE Init*(IN  p0 : ARRAY OF BYTE;
                                    p1 : INTEGER;
                                    p2 : INTEGER) : DerValue,CONSTRUCTOR;
                PROCEDURE Init*(p0 : java_io.InputStream) : DerValue,CONSTRUCTOR;
                PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : DerValue,CONSTRUCTOR;
                PROCEDURE Init*(p0 : java_lang.String) : DerValue,CONSTRUCTOR;
                PROCEDURE Init*(p0 : BYTE;
                                p1 : java_lang.String) : DerValue,CONSTRUCTOR;
                PROCEDURE Init*(    p0 : BYTE;
                                IN  p1 : ARRAY OF BYTE) : DerValue,CONSTRUCTOR;
                PROCEDURE isPrintableStringChar*(p0 : CHAR) : BOOLEAN;
              END;

  HostnameChecker* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                     STATIC
                       TYPE_LDAP*          = 2;
                       TYPE_TLS*           = 1;
                       PROCEDURE getInstance*(p0 : BYTE) : HostnameChecker;
                       PROCEDURE getServerName*(p0 : javax_security_auth_kerberos.KerberosPrincipal) : java_lang.String;
                       PROCEDURE getSubjectX500Name*(p0 : java_security_cert.X509Certificate) : sun_security_x509.X500Name;
                       PROCEDURE match*(p0 : java_lang.String;
                                        p1 : javax_security_auth_kerberos.KerberosPrincipal) : BOOLEAN;
                     END;

  ManifestDigester* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                      STATIC
                        MF_MAIN_ATTRS* = "Manifest-Main-Attributes";
                        PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : ManifestDigester,CONSTRUCTOR;
                      END;

  ManifestDigester$Entry* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                            STATIC
                              PROCEDURE Init*(    p0 : INTEGER;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER;
                                              IN  p3 : ARRAY OF BYTE) : ManifestDigester$Entry,CONSTRUCTOR;
                            END;

  ManifestEntryVerifier* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(p0 : java_util_jar.Manifest) : ManifestEntryVerifier,CONSTRUCTOR;
                           END;

  ObjectIdentifier* = POINTER TO RECORD (java_lang.Object + java_io.Serializable)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*(p0 : DerInputStream) : ObjectIdentifier,CONSTRUCTOR;
                        PROCEDURE Init*(IN  p0 : ARRAY OF INTEGER) : ObjectIdentifier,CONSTRUCTOR;
                        PROCEDURE Init*(p0 : java_lang.String) : ObjectIdentifier,CONSTRUCTOR;
                        PROCEDURE newInternal*(IN  p0 : ARRAY OF INTEGER) : ObjectIdentifier;
                      END;

  Password* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
              STATIC
                PROCEDURE Init*() : Password,CONSTRUCTOR;
                PROCEDURE readPassword*(p0 : java_io.InputStream) : POINTER TO ARRAY OF CHAR;
              END;

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

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

  PolicyUtil* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                STATIC
                  PROCEDURE getInputStream*(p0 : java_net.URL) : java_io.InputStream;
                  PROCEDURE getKeyStore*(p0 : java_net.URL;
                                         p1 : java_lang.String;
                                         p2 : java_lang.String;
                                         p3 : java_lang.String;
                                         p4 : java_lang.String;
                                         p5 : Debug) : java_security.KeyStore;
                  PROCEDURE Init*() : PolicyUtil,CONSTRUCTOR;
                END;

  PropertyExpander* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                      STATIC
                        PROCEDURE expand*(p0 : java_lang.String;
                                          p1 : BOOLEAN) : java_lang.String;
                        PROCEDURE expand*(p0 : java_lang.String) : java_lang.String;
                        PROCEDURE Init*() : PropertyExpander,CONSTRUCTOR;
                      END;

  PropertyExpander$ExpandException* = POINTER TO EXTENSIBLE RECORD (java_security.GeneralSecurityException)
                                      STATIC
                                        PROCEDURE Init*(p0 : java_lang.String) : PropertyExpander$ExpandException,CONSTRUCTOR;
                                      END;

  Resources* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : Resources,CONSTRUCTOR;
               END;

  ResourcesMgr* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                  STATIC
                    PROCEDURE getString*(p0 : java_lang.String;
                                         p1 : java_lang.String) : java_lang.String;
                    PROCEDURE getString*(p0 : java_lang.String) : java_lang.String;
                    PROCEDURE Init*() : ResourcesMgr,CONSTRUCTOR;
                  END;

  Resources_de* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_de,CONSTRUCTOR;
                  END;

  Resources_es* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_es,CONSTRUCTOR;
                  END;

  Resources_fr* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_fr,CONSTRUCTOR;
                  END;

  Resources_it* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_it,CONSTRUCTOR;
                  END;

  Resources_ja* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_ja,CONSTRUCTOR;
                  END;

  Resources_ko* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_ko,CONSTRUCTOR;
                  END;

  Resources_pt_BR* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*() : Resources_pt_BR,CONSTRUCTOR;
                     END;

  Resources_sv* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*() : Resources_sv,CONSTRUCTOR;
                  END;

  Resources_zh_CN* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*() : Resources_zh_CN,CONSTRUCTOR;
                     END;

  Resources_zh_HK* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*() : Resources_zh_HK,CONSTRUCTOR;
                     END;

  Resources_zh_TW* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*() : Resources_zh_TW,CONSTRUCTOR;
                     END;

  SecurityConstants* = POINTER TO RECORD (java_lang.Object)
                       STATIC
                         ACCESS_CLIPBOARD_PERMISSION*         : java_awt.AWTPermission;
                         ACCESS_SYSTEM_TRAY_PERMISSION*       : java_awt.AWTPermission;
                         ALL_AWT_EVENTS_PERMISSION*           : java_awt.AWTPermission;
                         ALL_PERMISSION*                      : java_security.AllPermission;
                         CHECK_AWT_EVENTQUEUE_PERMISSION*     : java_awt.AWTPermission;
                         CHECK_MEMBER_ACCESS_PERMISSION*      : java_lang.RuntimePermission;
                         CREATE_ACC_PERMISSION*               : java_security.SecurityPermission;
                         CREATE_CLASSLOADER_PERMISSION*       : java_lang.RuntimePermission;
                         CREATE_ROBOT_PERMISSION*             : java_awt.AWTPermission;
                         DO_AS_PERMISSION*                    : javax_security_auth.AuthPermission;
                         DO_AS_PRIVILEGED_PERMISSION*         : javax_security_auth.AuthPermission;
                         FILE_DELETE_ACTION*                  = "delete";
                         FILE_EXECUTE_ACTION*                 = "execute";
                         FILE_READ_ACTION*                    = "read";
                         FILE_WRITE_ACTION*                   = "write";
                         GET_CLASSLOADER_PERMISSION*          : java_lang.RuntimePermission;
                         GET_COMBINER_PERMISSION*             : java_security.SecurityPermission;
                         GET_COOKIEHANDLER_PERMISSION*        : java_net.NetPermission;
                         GET_PD_PERMISSION*                   : java_lang.RuntimePermission;
                         GET_POLICY_PERMISSION*               : java_security.SecurityPermission;
                         GET_PROXYSELECTOR_PERMISSION*        : java_net.NetPermission;
                         GET_RESPONSECACHE_PERMISSION*        : java_net.NetPermission;
                         GET_STACK_TRACE_PERMISSION*          : java_lang.RuntimePermission;
                         LOCAL_LISTEN_PERMISSION*             : java_net.SocketPermission;
                         MODIFY_THREADGROUP_PERMISSION*       : java_lang.RuntimePermission;
                         MODIFY_THREAD_PERMISSION*            : java_lang.RuntimePermission;
                         PROPERTY_READ_ACTION*                = "read";
                         PROPERTY_RW_ACTION*                  = "read,write";
                         PROPERTY_WRITE_ACTION*               = "write";
                         READ_DISPLAY_PIXELS_PERMISSION*      : java_awt.AWTPermission;
                         SET_COOKIEHANDLER_PERMISSION*        : java_net.NetPermission;
                         SET_PROXYSELECTOR_PERMISSION*        : java_net.NetPermission;
                         SET_RESPONSECACHE_PERMISSION*        : java_net.NetPermission;
                         SET_WINDOW_ALWAYS_ON_TOP_PERMISSION* : java_awt.AWTPermission;
                         SOCKET_ACCEPT_ACTION*                = "accept";
                         SOCKET_CONNECT_ACCEPT_ACTION*        = "connect,accept";
                         SOCKET_CONNECT_ACTION*               = "connect";
                         SOCKET_LISTEN_ACTION*                = "listen";
                         SOCKET_RESOLVE_ACTION*               = "resolve";
                         SPECIFY_HANDLER_PERMISSION*          : java_net.NetPermission;
                         STOP_THREAD_PERMISSION*              : java_lang.RuntimePermission;
                         TOOLKIT_MODALITY_PERMISSION*         : java_awt.AWTPermission;
                         TOPLEVEL_WINDOW_PERMISSION*          : java_awt.AWTPermission;
                         WATCH_MOUSE_PERMISSION*              : java_awt.AWTPermission;
                       END;

  SignatureFileVerifier* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(    p0 : java_util.ArrayList;
                                                 p1 : ManifestDigester;
                                                 p2 : java_lang.String;
                                             IN  p3 : ARRAY OF BYTE) : SignatureFileVerifier,CONSTRUCTOR;
                             PROCEDURE isBlockOrSF*(p0 : java_lang.String) : BOOLEAN;
                           END;




PROCEDURE (self:AuthResources) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_de) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_es) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_fr) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_it) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_ja) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_ko) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_pt_BR) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_sv) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_zh_CN) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_zh_HK) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:AuthResources_zh_TW) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

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

PROCEDURE (self:BigInt) equals*(p0 : BigInt) : BOOLEAN,NEW,EXTENSIBLE;

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

PROCEDURE (self:BigInt) toBigInteger*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:BigInt) toByteArray*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:BigInt) toInt*() : INTEGER,NEW,EXTENSIBLE;

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

PROCEDURE (self:BitArray) clone*() : java_lang.Object,EXTENSIBLE;

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

PROCEDURE (self:BitArray) get*(p0 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

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

PROCEDURE (self:BitArray) length*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:BitArray) set*(p0 : INTEGER;
                               p1 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:BitArray) toBooleanArray*() : POINTER TO ARRAY OF BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:BitArray) toByteArray*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

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

PROCEDURE (self:ByteArrayLexOrder) compare*(p0 : java_lang.Object;
                                            p1 : java_lang.Object) : INTEGER,NEW;

PROCEDURE (self:ByteArrayTagOrder) compare*(p0 : java_lang.Object;
                                            p1 : java_lang.Object) : INTEGER,NEW;

PROCEDURE (self:Cache) accept*(p0 : Cache$CacheVisitor),NEW,ABSTRACT;

PROCEDURE (self:Cache) clear*(),NEW,ABSTRACT;

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

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

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

PROCEDURE (self:Cache) setCapacity*(p0 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Cache) setTimeout*(p0 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Cache) size*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Cache$CacheVisitor) visit*(p0 : java_util.Map),NEW,ABSTRACT;

PROCEDURE (self:Cache$EqualByteArray) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Cache$EqualByteArray) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Debug) println*(),NEW,EXTENSIBLE;

PROCEDURE (self:Debug) println*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerEncoder) derEncode*(p0 : java_io.OutputStream),NEW,ABSTRACT;

PROCEDURE (self:DerInputStream) available*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getBigInteger*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getBitString*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getBMPString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getBytes*(IN  p0 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getDerValue*() : DerValue,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getEnumerated*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getGeneralizedTime*() : java_util.Date,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getGeneralString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getIA5String*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getInteger*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getNull*(),NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getOctetString*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getOID*() : ObjectIdentifier,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getPositiveBigInteger*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getPrintableString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getSequence*(p0 : INTEGER) : POINTER TO ARRAY OF DerValue,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getSet*(p0 : INTEGER;
                                        p1 : BOOLEAN) : POINTER TO ARRAY OF DerValue,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getSet*(p0 : INTEGER) : POINTER TO ARRAY OF DerValue,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getT61String*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getUnalignedBitString*() : BitArray,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getUTCTime*() : java_util.Date,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) getUTF8String*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) mark*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) peekByte*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) readVector!(p0 : INTEGER) : POINTER TO ARRAY OF DerValue,NEW,EXTENSIBLE;

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

PROCEDURE (self:DerInputStream) subStream*(p0 : INTEGER;
                                           p1 : BOOLEAN) : DerInputStream,NEW,EXTENSIBLE;

PROCEDURE (self:DerInputStream) toByteArray*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) derEncode*(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putBitString*(IN  p0 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putBMPString*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putBoolean*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putDerValue*(p0 : DerValue),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putEnumerated*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putGeneralizedTime*(p0 : java_util.Date),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putGeneralString*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putIA5String*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putInteger*(p0 : java_math.BigInteger),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putInteger*(p0 : java_lang.Integer),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putInteger*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putLength*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putNull*(),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putOctetString*(IN  p0 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putOID*(p0 : ObjectIdentifier),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putOrderedSet*(    p0 : BYTE;
                                                IN  p1 : ARRAY OF DerEncoder),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putOrderedSetOf*(    p0 : BYTE;
                                                  IN  p1 : ARRAY OF DerEncoder),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putPrintableString*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putSequence*(IN  p0 : ARRAY OF DerValue),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putSet*(IN  p0 : ARRAY OF DerValue),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putT61String*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putTag*(p0 : BYTE;
                                         p1 : BOOLEAN;
                                         p2 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putUnalignedBitString*(p0 : BitArray),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putUTCTime*(p0 : java_util.Date),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) putUTF8String*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) write*(    p0 : BYTE;
                                        IN  p1 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) write*(p0 : BYTE;
                                        p1 : DerOutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:DerOutputStream) writeImplicit*(p0 : BYTE;
                                                p1 : DerOutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) encode*(p0 : DerOutputStream),NEW,EXTENSIBLE;

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

PROCEDURE (self:DerValue) equals*(p0 : DerValue) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getAsString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getBigInteger*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getBitString*(p0 : BOOLEAN) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getBitString*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getBMPString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getBoolean*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getData*() : DerInputStream,NEW;

PROCEDURE (self:DerValue) getDataBytes*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getEnumerated*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getGeneralizedTime*() : java_util.Date,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getGeneralString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getIA5String*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getInteger*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getOctetString*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getOID*() : ObjectIdentifier,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getPositiveBigInteger*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getPrintableString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getT61String*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getTag*() : BYTE,NEW;

PROCEDURE (self:DerValue) getUnalignedBitString*() : BitArray,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getUnalignedBitString*(p0 : BOOLEAN) : BitArray,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getUTCTime*() : java_util.Date,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) getUTF8String*() : java_lang.String,NEW,EXTENSIBLE;

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

PROCEDURE (self:DerValue) isApplication*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) isConstructed*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) isConstructed*(p0 : BYTE) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) isContextSpecific*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) isContextSpecific*(p0 : BYTE) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) isUniversal*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) length*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) resetTag*(p0 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) toByteArray*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DerValue) toDerInputStream*() : DerInputStream,NEW,EXTENSIBLE;

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

PROCEDURE (self:HostnameChecker) match*(p0 : java_lang.String;
                                        p1 : java_security_cert.X509Certificate),NEW,EXTENSIBLE;

PROCEDURE (self:ManifestDigester) get*(p0 : java_lang.String;
                                       p1 : BOOLEAN) : ManifestDigester$Entry,NEW,EXTENSIBLE;

PROCEDURE (self:ManifestDigester) manifestDigest*(p0 : java_security.MessageDigest) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:ManifestDigester$Entry) digest*(p0 : java_security.MessageDigest) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:ManifestDigester$Entry) digestWorkaround*(p0 : java_security.MessageDigest) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:ManifestEntryVerifier) getEntry*() : java_util_jar.JarEntry,NEW,EXTENSIBLE;

PROCEDURE (self:ManifestEntryVerifier) setEntry*(p0 : java_lang.String;
                                                 p1 : java_util_jar.JarEntry),NEW,EXTENSIBLE;

PROCEDURE (self:ManifestEntryVerifier) update*(IN  p0 : ARRAY OF BYTE;
                                                   p1 : INTEGER;
                                                   p2 : INTEGER),NEW,EXTENSIBLE;

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

PROCEDURE (self:ManifestEntryVerifier) verify*(p0 : java_util.Hashtable;
                                               p1 : java_util.Hashtable) : POINTER TO ARRAY OF java_security.CodeSigner,NEW,EXTENSIBLE;

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

PROCEDURE (self:ObjectIdentifier) equals*(p0 : ObjectIdentifier) : BOOLEAN,NEW,EXTENSIBLE;

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

PROCEDURE (self:ObjectIdentifier) precedes*(p0 : ObjectIdentifier) : BOOLEAN,NEW,EXTENSIBLE;

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

PROCEDURE (self:Resources) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_de) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_es) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_fr) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_it) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_ja) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_ko) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_pt_BR) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_sv) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_zh_CN) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_zh_HK) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Resources_zh_TW) getContents*() : POINTER TO ARRAY OF java_lang.Object,EXTENSIBLE;

PROCEDURE (self:SignatureFileVerifier) needSignatureFile*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:SignatureFileVerifier) needSignatureFileBytes*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:SignatureFileVerifier) process*(p0 : java_util.Hashtable;
                                                p1 : java_util.List),NEW,EXTENSIBLE;

PROCEDURE (self:SignatureFileVerifier) setSignatureFile*(IN  p0 : ARRAY OF BYTE),NEW,EXTENSIBLE;

END sun_security_util.