FOREIGN MODULE javax_security_auth_kerberos;

IMPORT
    java_io := "java.io",
    java_lang := "java.lang",
    java_security := "java.security",
    javax_crypto := "javax.crypto",
    javax_security_auth := "javax.security.auth",
    java_util := "java.util",
    java_net := "java.net";

TYPE

  DelegationPermission* = POINTER TO RECORD (java_security.BasicPermission + java_io.Serializable)    (* Typebound Procedures *)
                          STATIC
                            PROCEDURE Init*(p0 : java_lang.String;
                                            p1 : java_lang.String) : DelegationPermission,CONSTRUCTOR;
                            PROCEDURE Init*(p0 : java_lang.String) : DelegationPermission,CONSTRUCTOR;
                          END;

  KerberosKey* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + javax_crypto.SecretKey + javax_security_auth.Destroyable)    (* Typebound Procedures *)
                 STATIC
                   PROCEDURE Init*(    p0 : KerberosPrincipal;
                                   IN  p1 : ARRAY OF CHAR;
                                       p2 : java_lang.String) : KerberosKey,CONSTRUCTOR;
                   PROCEDURE Init*(    p0 : KerberosPrincipal;
                                   IN  p1 : ARRAY OF BYTE;
                                       p2 : INTEGER;
                                       p3 : INTEGER) : KerberosKey,CONSTRUCTOR;
                 END;

  KerberosPrincipal* = POINTER TO RECORD (java_lang.Object + java_security.Principal + java_io.Serializable)    (* Typebound Procedures *)
                       STATIC
                         KRB_NT_PRINCIPAL* = 1;
                         KRB_NT_SRV_HST*   = 3;
                         KRB_NT_SRV_INST*  = 2;
                         KRB_NT_SRV_XHST*  = 4;
                         KRB_NT_UID*       = 5;
                         KRB_NT_UNKNOWN*   = 0;
                         PROCEDURE Init*(p0 : java_lang.String;
                                         p1 : INTEGER) : KerberosPrincipal,CONSTRUCTOR;
                         PROCEDURE Init*(p0 : java_lang.String) : KerberosPrincipal,CONSTRUCTOR;
                       END;

  KerberosTicket* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + javax_security_auth.Destroyable + javax_security_auth.Refreshable + java_io.Serializable)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init*(IN  p0  : ARRAY OF BYTE;
                                          p1  : KerberosPrincipal;
                                          p2  : KerberosPrincipal;
                                      IN  p3  : ARRAY OF BYTE;
                                          p4  : INTEGER;
                                      IN  p5  : ARRAY OF BOOLEAN;
                                          p6  : java_util.Date;
                                          p7  : java_util.Date;
                                          p8  : java_util.Date;
                                          p9  : java_util.Date;
                                      IN  p10 : ARRAY OF java_net.InetAddress) : KerberosTicket,CONSTRUCTOR;
                    END;

  ServicePermission* = POINTER TO RECORD (java_security.Permission + java_io.Serializable)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.String;
                                         p1 : java_lang.String) : ServicePermission,CONSTRUCTOR;
                       END;




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

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

PROCEDURE (self:DelegationPermission) implies*(p0 : java_security.Permission) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:DelegationPermission) newPermissionCollection*() : java_security.PermissionCollection,EXTENSIBLE;

PROCEDURE (self:KerberosKey) destroy*(),NEW,EXTENSIBLE;

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

PROCEDURE (self:KerberosKey) getAlgorithm*() : java_lang.String,NEW;

PROCEDURE (self:KerberosKey) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW;

PROCEDURE (self:KerberosKey) getFormat*() : java_lang.String,NEW;

PROCEDURE (self:KerberosKey) getKeyType*() : INTEGER,NEW;

PROCEDURE (self:KerberosKey) getPrincipal*() : KerberosPrincipal,NEW;

PROCEDURE (self:KerberosKey) getVersionNumber*() : INTEGER,NEW;

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

PROCEDURE (self:KerberosKey) isDestroyed*() : BOOLEAN,NEW,EXTENSIBLE;

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

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

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

PROCEDURE (self:KerberosPrincipal) getNameType*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:KerberosPrincipal) getRealm*() : java_lang.String,NEW,EXTENSIBLE;

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

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

PROCEDURE (self:KerberosTicket) destroy*(),NEW,EXTENSIBLE;

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

PROCEDURE (self:KerberosTicket) getAuthTime*() : java_util.Date,NEW;

PROCEDURE (self:KerberosTicket) getClient*() : KerberosPrincipal,NEW;

PROCEDURE (self:KerberosTicket) getClientAddresses*() : POINTER TO ARRAY OF java_net.InetAddress,NEW;

PROCEDURE (self:KerberosTicket) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW;

PROCEDURE (self:KerberosTicket) getEndTime*() : java_util.Date,NEW;

PROCEDURE (self:KerberosTicket) getFlags*() : POINTER TO ARRAY OF BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) getRenewTill*() : java_util.Date,NEW;

PROCEDURE (self:KerberosTicket) getServer*() : KerberosPrincipal,NEW;

PROCEDURE (self:KerberosTicket) getSessionKey*() : javax_crypto.SecretKey,NEW;

PROCEDURE (self:KerberosTicket) getSessionKeyType*() : INTEGER,NEW;

PROCEDURE (self:KerberosTicket) getStartTime*() : java_util.Date,NEW;

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

PROCEDURE (self:KerberosTicket) isCurrent*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:KerberosTicket) isDestroyed*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:KerberosTicket) isForwardable*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isForwarded*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isInitial*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isPostdated*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isProxiable*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isProxy*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) isRenewable*() : BOOLEAN,NEW;

PROCEDURE (self:KerberosTicket) refresh*(),NEW,EXTENSIBLE;

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

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

PROCEDURE (self:ServicePermission) getActions*() : java_lang.String,EXTENSIBLE;

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

PROCEDURE (self:ServicePermission) implies*(p0 : java_security.Permission) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ServicePermission) newPermissionCollection*() : java_security.PermissionCollection,EXTENSIBLE;

END javax_security_auth_kerberos.