Heading:qjk40(635)Mesa 6.0 Pup and Ftp Updatey756qjk40\b27BPage Numbers: Yes  X: 527  Y: 10.5"qjk40Copyright c Xerox Corporation 1980z18592l4445y45c\10f3 1f0Inter-Office Memorandumz18592l4445y762\f5bTo	Mesa Users	Date	October 27, 1980z18592l4445d2998e21(0,65535)(1,4445)(5,11684)(6,14146)\f7 2f0t2 1t0 10t6 1f7t0 4f0t7 1t0From	Hal Murray, Mark Sapsford	Location	Palo Altoz18592l4445d2998y716e25\f7 4f0t2 1t0 25t6 1f7t0 8f0t7 1t0Subject	Mesa 6.0 Pup and Ftp Update	Organization	SDD/SS/Mesaz18592l4445d2998e25\f7 7f0t2 1t0b27t6B1f7t0 12f0t7 1t0XEROX       z18592l508y644e14(2116)\f2 5f0Filed on: [Iris]<Mesa>Doc>PupFtp60.bravo (and .press)x2e30(0,16263)(1,65535)(5,65535)(6,65535)\f7 53f0x2e12(2116)This memo outlines changes made in the Mesa Pup and Ftp Packages since the University release of December 20, 1979.  This release is essentially a recompilation of the Pup and Ftp packages using Mesa 6.0.  As usual, a number of bugs have also been fixed, and minor changes have been made to the interfaces.  More complete information is available in the functional specifications stored on <Mesa>Doc> as PupPackage.press and FtpPackage.press.x2e12jk40\390f8 10f0 4f8 16f0 5f8 16f0Pup Summaryx2e18jk60\b11BChangesx2e12jk60\i7IThe following changes were made to Stream.  The procedure types GetProcedure, PutProcedure, SetSSTProcedure, SendAttentionProcedure, and WaitAttention-Procedure now take a new initial argument sh: Handle.  In addition, SendAttention-Procedure now takes a second argument byte: Byte (which is ignored), and WaitAttentionProcedure now returns a Byte (which should be ignored).  As a result of these type redefinitions, the inline procedures SendAttention and WaitAttention have different calling sequences, and a new return value has been added to WaitAttention.x2e12jk40\35f6b6f0B23f6b12f0B2f6b12f0B2f6b15f0B2f6b22f0B6f6b23f0B33f6b10f0B16f6b23f0B29f6b10f0B25f6b22f0B15f6b4f0B92f6b13f0B5f6b13f0B76f6b13f0BThe following changes were made to PupDefs.  PupRouterSendThis no longer returns a SendReturnCode.  SendReturnCode (a TYPE) has been deleted.  If the buffer could not be sent, it is discarded.x2e12jk40\35f6b7f0B3f6b17f0B21f6b14f0B3f6b14f0B4f7 4f0The arguments to EnumeratePupAddresses are now named.  The order of the two arguments to PupAddressLookup has been reversed.  The second argument to AppendPupAddress is now a PupAddress, instead of a POINTER TO PupAddress.  Similarly, the argument to Print-PupAddress is now a PupAddress, instead of a POINTER TO PupAddress.  The local: PupSocketID argument to PupPktStreamCreate and PupByteStreamCreate has been removed.x2e12jk40\17f6b21f0B51f6b16f0B44f6b16f0B10f6b10f0B15f7 10f0 1f6b10f0B30f6b16f0B10f6b10f0B15f7 10f0 1f6b10f0B7f6b18f0B13f6b18f0B5f6b19f0BAdditionsx2e12jk60\i9IThe procedures AppendHostName and AppendMyName have been added to PupDefs.x2e12jk60\15f6b14f0B5f6b12f0B20f6b7f0BUseAltoChecksumMicrocode has been added to speed up processing if you are running on an Alto with XMesa in the ROM or an Alto with a 3K RAM.  The overflow microcode loaded into the RAM by RunMesa.run includes the necessary additions.  (Beware if you load your own microcode.)x2e12jk60\f6b24f0B87f1 3f0 22f1 3f0 42f1 3f0 4f8 11f0Subtle Implementation Changesx2e12jk60\i29IGetPupAddress will no longer return an address for a dying net.  EnumeratePupAddresses will now pass the client supplied procedure addresses on dead or dying nets, but only after processing all the addresses on nets that are reachable.  (It used to skip addresses on unreachable nets.)x2e12jk60\f6b13f0B52f6b21f0BThe byte stream internals have been reworked to eliminate several unpleasant delays while opening and closing connections.  It is now possible to open a connection, send a thousand words, and close the connection in less than a second.  (Since closing deletes three module instances, it will take longer if there are many active global frames.)  A byproduct of this cleanup is that SendNow will send an empty aData packet to request an acknowledgment even if the previous SendBlock happened to end on a convenient packet boundary.x2e12jk60\382f6b7f0B20f6b5f0B58f6b9f0BWhen sending a packet whose destination is the local machine, the Ethernet driver puts a copy on the input queue and acts as though it had sent the packet.  It now also copies broadcast packets to the input queue, so clients should check to be sure that their programs will not take undesired actions if they hear their own broadcasts.  Packets that are sent to the local machine are now also sent out over the wire; this allows PeekPup.run to be used when analyzing timing problems.x2e12jk60\429f6 11f0Bug Fixesx2e12jk60\i9IThe following change requests are closed by this release:x2e12jk402848 GetMyName (actually net address) procedure2906 Slow on Dorado2998 Error strings in NameConversion3311 Pup ByteStream close3341 Trivial bug in PupTypes3708 PupNameLookup+PupAddressLookup PupGlitch4456 Recompile packages to fix long return record bug4552 ByteStream timeout5005 Delays when creating byte stream5093 NameLookup vs dying nets5098 Change priority of interrupt routine in EthernetDriver(s)l4269x2e6jk60\5f6b9f0B76f6b14f0B47f6b8f0B6f6b13f0B1f6b16f0B1f6b9f0BFtp Summaryx2e18jk60\b11BThe arguments to the (client supplied) procedure passed to FTPInventoryDumpFile have been extended to allow proper processing of create dates.  It is now compatable with the procedure passed to FTPEnumerateFiles.x2e12jk60\59f6b20f0B115f6b17f0BThe following change requests are closed by this release:x2e12jk402906 Slow on Dorado3584 Ftp vs IFS 1.233626 Sending mail3664 MTP user: require sender property on SendMessage3900 UNWIND from FTPEnumerate/retrieve3987 StringBoundsFault from TimeExtras.PacketTimeFromString4335 FTPUtilities.TransferBytes4352 FTPAltoFile.PreProcessFile does a blind ReleaseFile4444 FTPInventorryDumpFile needs create date4456 Recompile packages to fix long return record bug4499 FTPTransferFile doesn't pass through the creation date4544 FTPRetrieve hangs on a timeout on a "no" mark4763 Troubles if forget to call IdentifyNextRejectedRecipient5152 TimeExtras.PacketTimeFromString zone screwup5198 Config with server and user thingsl4269x2e6jk60\101f6b11f0B6f7 6f0 6f6b12f0B15f6b17f0B6f6b31f0B6f6b26f0B6f6b26f0B14f6b11f0B6f6b21f0B78f6b15f0B45f6b11f0B67f6b29f0B6f6b31f0Bx2e12jk60Distribution:Mesa UsersMesa GroupSDSupportl3528d2998x2e12k40