PRIME.UPD PRIME KERMIT 8.00 January 1990 The documentation included will show users the new commands available. Below are some of the main changes, but for more details it will be necessary to look at the code. Options on the command line and to parameter settings may be abbreviated to some extent; i.e. YES may be given as Y, OK, or just Carriage Return; FILE_TYPE my be abbreviated to FT, and so on. The following changes are in the new version of Kermit : 1) Many commonly used constants have been put into COMMON, these include character constants, CTRL-A in 7-bit and 8-bit ASCII, etc. 2) All of the code has been looked at, and "cosmetically" tidied up. 3) Unused subroutines/functions have been removed; others have been replaced as in-line code; and yet others re-written to make more use of COMMON variables. 4) "Transparent" mode has been made available. This is basically when NO parity is used; 8-bit parity checks are done. The code was there before but not available to the user (why?). This also means that parity can be SET or given on the command line itself. 5) Most of the previous code did not check for ANY error messages from the PRIMOS subroutines used - I think this is where most of the bugs came from. Nearly all of the subroutines are now checked for errors and appropriate action is taken. Meaningful messages will be displayed to the user, or a number given. A number means real big trouble! Some of the old subroutines have been replaced by new ones, and some old code replaced by PRIMOS subroutines. Only inconsequential subroutines have been left un-checked, e.g. file-units not closed, but since file-units are dynamically allocated it doesn't matter whether they are closed or not. 6) The use of pathnames has been extensively adopted. This will allow more flexibility for the user; they don't have to continuously change directories now. The code is also more robust, since the subroutines will easily handle pathnames, rather than the code having to attach all over the place and then to attach back (this is asking for trouble). 7) The LOG file is now checked to see if it is already in use. The CLOSE command has been added, so that the user may close it now if they wish. 8) The type of file system object being SENT is now checked. It is only possible to send SAM, DAM, or CAM files. An error message is displayed if the user tries to send a directory of any sort. 9) There are more command line options available; -HELP will show you them. The help message has been tidied up, and -USAGE added just to show the syntax. The options may also be used before entering interactive mode. The options -SEND, -RECEIVE, and -SERVER are checked for compatability; and if none of them are present then interactive mode is entered. The values of any command line options are also checked for syntax; the code is now more robust. 10) Some subroutines/functions have had their arguments changed or removed; some subroutines have become functions and vice-versa. 11) The INCOMPLETE variable may now be SET. This will/will not keep files that arrive incomplete. 12) The POUND variable may also be SET. This will convert pound signs correctly for files sent to and from DOS machines. If it causes problems, then SET it to OFF. 13) The CONVERT command has been made available. This will "convert" a file to PRIME format. Basically it sets the 8th-bit throughout the file, and sets the end of line correctly to line-feed. The code was there before, but not shown in HELP at all. 14) File attributes may be used now by Kermit - this is SETtable. For files sent, the file size is sent in bytes and Kbytes; and the files date/time of creation is sent. For files received the file size is checked against the available disk space quota; the DTC is set if present and the user has O or P rights in the directory, and the file type is used to determine the method of storage. Note that according to the Protocol the DTC should be used, NOT the date/time last modified which was previously coded. Any files which are too big to be sent or received result in a warning message. If wildcards are used then it will continue with smaller files. This keeps in line with the Protocol. The last part is also useful when transfering large files; previously the whole thing would just bomb out, and the user would have to start again. 15) The TAKE command may now be nested to 25 levels. Previously the user would simply tread on the previous file with no warning or anything! POP is available to exit the current TAKE file, and return to the previous file - if any. Also STOP has been coded to exit ALL of the users TAKE files. 16) More generic commands are available; Disk USAGE (or SPACE), RENAME, COPY, WHO (although this isn't too good), and SEND (or MESSAGE). 17) Some of the messages displayed have been "cosmetically" changed. 18) Sending files with DOS wildcards from the PRIME is a dubious area since it requires knowing what the user MEANS! The special case "*.*" is taken to mean send ALL files, not just ones of 2 components. Other cases are translated as * to @, and ? to +. 19) The received timeout is now used, rather than just using 2 minutes as a fixed time. If necessary it may be possible to reset the timeout on the local Kermit. 20) The PUSH command has been added to enable the user to jump to PRIMOS. Kermit is re-entered either by using the S (START) command, or REN (for Re-ENter). REN is a bit more reliable, it depends on what the user does at PRIMOS level. Kermit itself may be invoked again, and PUSHed from again. The limit to this is set per-user by the sites' PRIME system administrator. (Here they can do it about 10 times.) 21) The code is more robust in the checking of values given for the quoting and 8-bit quoting characters, and for the parity being used. Previously it would have violated the Protocol by allowing the characters to be the same. 22) It is now possible to avoid received file name collisions. This is a setable option. The new file name is sent with the F packet acknowledgement, so this may be printed out by the local Kermit. The new file name tries to append four digits to the files prefix, or if necessary it will overwrite the last characters of the prefix. This version has been tested at PRIMOS revisions 21.0.5q and 22.0.1a. The only PRIMOS/Site problems I can envisage are possibly the fact that odd file lengths are indicated by setting the read/write lock to NONE. This will fail (with no warning) if the user doesn't have P or O rights to the directory. The consequence of this is simply a final control-Z in the file. The second problem could be that the nested TAKE files use file units in the range from 7 to 127, some sites may have limited the number of file units a user can have. In this case a minor change to the code should get around any problem. The Date/Time file created attribute can only be set if the user has P or O rights, although this shouldn't matter to most people. And finally the user will obviously require rights to be able to delete, add, read, and write to files. The new files are online as kermit/pri/prime8.ann kermit/pri/prime8.src This file is a concatination of the following : 1) PRIME.HLP - a BRIEF description of the changes made, 2) KERMIT.BUILD.CPL - a build file for the PRIME kermit, 3) 4 INSERT (.INS.PLP) files for use by the source code, 4) 39 source code files written in PLP - PRIME's PL1. each of these files is separated by a line of -----'s and can be separated using an editor. End of PRIME8.UPD.