home *** CD-ROM | disk | FTP | other *** search
-
- LPUNCH - converts LISTSERV/NETSERV punch format files into variable
- length PC files. v1.00 .
-
-
- On BITNET type networks (including EARN), automated file servers called
- LISTSERV & NETSERV machines exist. For users who e-mail file requests to
- them, the servers check to see if the file that is supposed to be sent
- has records longer than 80 bytes. If so, the records are converted into
- a format called LISTERV Punch, where each record is no more than 80
- bytes.
-
-
- Most of the mainframes on BITNET have a conversion program that restores
- these files to their original form. But, if you receive the file on
- another network, your site probably won't have a conversion program. LPUNCH
- will take files in this format and convert them to regular PC text files.
- The command syntax is:
- LPUNCH <input file> <output file>
- where <input file> is the file with in LISTERV Punch format and
- <output file> is where you want the conversion written to.
-
-
- Example: You have mailed a the request GET LISTSERV FILELIST to your nearest
- LISTSERV machine. You have received a response you call LISTSERV.FIL
- on your PC. If you wanted to convert it to LISTSERV.TXT on your floppy,
- you would type:
-
- LPUNCH LISTSERV.FIL A:\LISTSERV.TXT
-
-
- Technical Information:
- ----------------------
- This program discards any data until it finds the start record. This will
- be a line starting with:
-
- ID/filename filetype recfm lrecl
-
- where filename & filetype are 8-byte fields (IBM mainframe file naming
- convention for the VM operating system), recfm is either 'F' or 'V'
- (depending on whether the original file had fixed or variable length
- records), and lrecl is the length of the longest record. Example:
-
- ID/LISTSERV FILELIST V 107
-
- This will be followed by lines in one of the following formats:
-
- Variable records (V): total length of record/# of lines making up record/data
-
- If more than 1 line makes up the record, subsequent lines won't have headers.
- Examples: A 107 byte record would have the form:
- 107/2/<data>
- <continuation of data>
- A blank line would have the form:
- 1/1/
-
- Fixed-length (F): # of lines in the record/data
-
- If more than 1 line makes up the record, subsequent lines won't have headers.
- Example: A 200 byte record would have the form:
- 3/<data>
- <continuation of data>
- <continuation of data>
-
- Normally, a line beginning with /END indicates the end of the file, but
- this program can also handle a file without a /END line.
-
-
- Limitations:
- ------------
- This program was designed to handle text files, not binary. Output records
- can be no longer than 512 bytes. Input files must end each line with CR/LF
- characters.
-
-
- Further info:
- -------------
- You can get the LISTSERV Punch format specs by sending e-mail with this line:
- GET LISTLPUN MEMO
- to your local LISTSERV or to NETSERV@BITNIC.BITNET. This file also includes
- sample conversion programs in Turbo Pascal and mainframe VM C showing simple
- conversion methods (I wrote LPUNCH with Turbo C++ based on the spec, not
- on the sample).
-
-
- LPUNCH is copyright (c) 1991 by Paul McGinnis. This program may be freely
- distributed if you include this documentation. This program may not be
- sold or altered without permission from the author. The author will not
- be liable for any damage arising from the use or misuse of this program.
-
-
- I can be reached at:
- Paul McGinnis
- P.O. Box 28084
- Santa Ana, CA 92799
- Internet: TRADER@cup.portal.com
- CompuServe: 76056,201
- GEnie: EXP.ENG-
- America Online: PaulMcG
-