This is a library of utilities to help mail files using UUCP. There are three pairs of programs: UUENC / UUDEC, SHAR / UNSHAR, BTOA / ATOB plus four other utilities: ROT13, LFCONV, ZCAT, and UNTAR UUENC and UUDEC are for transferring binary files in uuencode format: UUENC encodes a file, useage is: A>UUENC FILE [ >OUTFILE ] where FILE is the input binary file. If no output file is given, the result is simply printed to the screen, however it can be redirected as shown. By saying '>OUTFILE' the output will be placed in OUTFILE, overwriting the file if it already exists. Output can also be appended to a file by specifying '>>OUTFILE'. Note that there can not be any spaces between the '>' and the filename. UUDEC takes a uuencoded file as input, and recreates the original binary file from it. Since a uuencoded file carries the filename with it, all that is needed is to provide the filename of the input file: A>UUDEC UUFILE and the output file will be created. Note that it will always be created in the current Drive / User area. This is not usually a problem, since all programs in this system can take full DU: prefixes for filenames: FILE.COM A:MAILFILE.UU B7:TEXT.TXT 25:PROG.COM are all legal filenames, the only combination not allowed is 18C:FILE.EXT, if a drive and user are given, the drive must come first. SHAR is a tool for wrapping several source files into a single text archive, usage is: A>SHAR AFN1 AFN2 ..... [ >OUTFILE ] where AFN1 AFN2 etc. are possibly ambiguous filenames: SHAR C7:*.C C7:*.H >>D27:SOURCE.SH is a typical usage, this would wrap all .C and .H files on C7:, and append the output to D27:SOURCE.SH UNSHAR reverses this, it accepts a list of files produced by SHAR, and recreates all the constituent files. UNSHAR takes one option, if the first argument is -C, then files will be overwritten, otherwise UNSHAR will not extract a file that already exists. The filenames given to UNSHAR can be ambiguous, so: A>UNSHAR -C B15:*.SH will unwrap all .SH files on B15:, and overwrite already existing files. As with UUDEC, files are always created on the current drive/user, however since the input files can be read from anywhere, this is not a problem. BTOA performs a similar function to UUENC, it encodes a binary file as printable ascii. Unfortunately BTOA and UUENC are not compatible, so it is worth noting the advantages and disadvantages of both methods. UUENC is a far more popular method, having been around for many years now, and it also carries the filename in the encoded data. BTOA is not as well known, being somewhat of a newcomer, and it does not carry the filename. However BTOA is more efficient: UUENC increases filesize by about 33%, whereas BTOA increases by only 25%, and in addition BTOA includes error checking to detect the possibility of files damaged in transit. The best rule of thumb is to use UUENC if you're not sure, since just about everyone will have it, and use BTOA when you know your recipient has that. Usage of BTOA is much like UUENC: A>BTOA FILE [ >OUTFILE ] will encode FILE placing (or appending with '>>') output in OUTFILE. ATOB is the reverse of BTOA, it needs both filenames: A>ATOB INFILE OUTFILE is how it would be invoked. Note that ATOB can place the output file anywhere: ATOB B23:TEXT.BTA C17:PROGRAM.COM is acceptable, and will place the output in C17:PROGRAM.COM ROT13 reads standard input, and writes stadard output, and performs the usual rot13 cifer on the input text. So to read a file encoded rot13, the following command: A>ROT13 ROT13 OUTFILE would convert INFILE and place the result in OUTFILE. LFCONV reads and writes in the same manner, but it performs a conversion between UNIX files (LF only to terminate lines) and CP/M text files (CR/LF to terminate lines). It will read either sort of input file, and when sending output to the screen, it prints correctly. So: A>LFCONV LFCONV FILE.CPM will convert the file, using CR/LF as the line terminator. The reverse conversion is also possible: by providing a -U switch, output will be in UNIX format, with LF only to separate lines. So: A>LFCONV -U FILE1.UNX would strip the CR's out of FILE1.CPM, leaving FILE1.UNX in the correct format for UNIX. ZCAT is a utility to decompress UNIX compressed files, it'll handle things all the way to 16 bit compression, but for 14 or more bits data has to be paged to disk. It takes up to 200K for full operation, and it's best to put it on a hard disk (or better) a ram disk. Right now, the binary is set to place the data on A:, however by looking in the binary the location of the page FCB's can be seen (ZCAT$$$$.000 thru ZCAT$$$$.009), and the drive bytes can be changed. UNTAR will extract files from a UNIX tar file, it takes the name of the tar archive as it's argument, and creates the files in the current drive/ user area.