Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!usc!pollux.usc.edu!papa From: papa@pollux.usc.edu (Marco Papa) Newsgroups: comp.sys.amiga Subject: XPR External Protocols Standard (COMMERCIAL) Message-ID: <18193@usc.edu> Date: 1 Jul 89 03:44:54 GMT Sender: news@usc.edu Reply-To: papa@pollux.usc.edu (Marco Papa) Organization: Felsina Software, Los Angeles, CA Lines: 71 I've just sent to Bob Page, the moderator of comp.sources.amiga, the sources for XPR, the "External File Transfer Protocols as Amiga Libraries Standard" for allowing communication programs to 'share' protocols between each other and provide end-users a way to write their own protocols. XPR has been designed by Willy Langeveld of SLAC, the author of VLT. Since we at Felsina Software were planning to implement a similar scheme, we decided to adopt Willy's standard and provide input in its design. The current design has undergone a number of revisions and is also open to subsequent expansions if needed. Of course VLT includes support for the XPR standard. Felsina Software has announced that it will include an implementation of XPR in an upcoming version of A-Talk III. An announcement will be made when such support will be available. In fact we will provide support for CIS B Plus as an XPR library in our first XPR-based release. This version of course would work with VLT and with any other comm program, commercial, pd or shareware that decides to support XPR. We encourage any of these developers to join the XPR standard. Standards are good for everybody, users as well as developers. To give you an idea of the implementation, let me briefly quote from Willy's Introduction from the XPR documentation: -- beginning of quote XPR: External File Transfer Protocols as Amiga Libraries. ========================================================= Version - 29 June 1989 (C) Copyright 1989 by W.G.J. Langeveld Stanford Linear Accelerator Center One of the most frequently asked questions of the author of a communications program is "Why don't you implement this wonderful file transfer protocol in addition to the 25 you already have?". Clearly, implementing more FTP's leads to larger code size and to increased product development time and customer support requirements, unless there is a way to have the additional protocols available as separate entities. One obvious way is to put the additional FTP's in overlays, but that only mitigates the code size problem and does not allow protocols to be used with communications programs of different vendors. Better is to open the serial device as a shared port and to have a completely separate program access it at the same time. However, this method has the disadvantage that shared use of a single serial port can lead to unpredictable results unless there is a well-established priority system enforcing which program is allowed to write to the device at which time. The advantage is that the FTP can now be developed separately and even by someone other than the author of the communications program. There are variations involving inter-process communication to add access control to the latter system, but I will not go into further detail. The system described here is based on Amiga shared libraries. The library implements a small number of primary functions, such as "Send File(s)" and "Receive File(s)". These functions are called with a single argument, a pointer to an XPR_IO structure. This structure contains a number of things, the more obvious one being a pointer to a null terminated string indicating which files are to be sent or received and addresses of "call-back" functions inside the code of the communications program to access the serial device, which is opened typically in exclusive access. The scheme described here opens the possibility for the Amiga community to write a multitude of file transfer protocols, all rather small in size because they don't contain any overhead, that work with any communications program following the rules outlined in this document. .... I would like to thank Marco Papa of Felsina Software for his help in working out some of the details of the XPR standard. ---- end of quote Have you all an enjoyable and safe forth of July. -- Marco Papa 'Doc' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= uucp:...!pollux!papa BIX:papa ARPAnet:pollux!papa@oberon.usc.edu "There's Alpha, Beta, Gamma, Diga and Caligari!" -- Rick Unland -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=