// PupEFTP.decl -- Declarations for EFTP package // Copyright Xerox Corporation 1979, 1980 // Last modified September 30, 1980 1:44 PM by Swinehart get "Pup0.decl" get "Pup1.decl" //---------------------------------------------------------------------------- structure EFTPSoc: //---------------------------------------------------------------------------- [ @PupSoc SeqNum word AbortPBI word // provides a temporary pointer to most recent one SomeoneElseWaiting word TransferNotStarted word // true while foreign socket not completed currentTimeout word // current retransmission timeout startTime word // time at which last Data was sent ] manifest lenEFTPSoc = size EFTPSoc/16 //---------------------------------------------------------------------------- structure Byte^1,1: byte //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- manifest //---------------------------------------------------------------------------- [ // Well-known socket socketEFTPReceive = 20b // EFTP protocol packet types typeEFTPData = 30b typeEFTPAck = 31b typeEFTPEnd = 32b typeEFTPAbort = 33b // Return values from ReceiveEFTPBlock and SendEFTPBlock EFTPEndReceived = 0 // that is, a zero byte count EFTPTimeout = -1 EFTPAbortReceived = -2 EFTPAbortSent = -3 EFTPResetReceived = -4 EFTPNotFirstSynch = -5 // Some retransmission timeouts in units of 10 milliseconds startingTimeout = 100 // ~1 sec. maxTimeout = 1000 // ~10 sec. minTimeout = 5 // ~50 ms. dallyTimeout = 500 // ~5 sec dally period. longBlockTimeout = 3000 // ~30 sec, for a long wait // Abort codes, for use within an EFTPAbort packet ExternalSenderAbort = 1 ExternalReceiverAbort = 2 ReceiverBusyAbort = 3 OutOfSynchAbort = 4 MiscAbort = 5 // No such port error code, causes connection to abort in receiver ecNoSuchPort=2 ]