www.pudn.com > C中MODEM的开发.zip > RZ.1


'\" Revision Level  
'\" Last Delta     10-22-86 
.TH RZ 1 OMEN 
.SH NAME 
rb, rz \- XMODEM, YMODEM, ZMODEM (Batch) file receive 
.SH SYNOPSIS 
.B rz 
.RB [\- "\ +1abpqtuv" ] 
.br 
.B rb 
.RB [\- "\ +1abqtuv" ] 
.br 
.B rz 
.RB [\- "\ 1abcqtuv" ] 
.I file 
.br 
.B gz 
.I "file ..." 
.br 
.RB [ \- ][ v ] rzCOMMAND 
.SH DESCRIPTION 
This program uses error correcting protocol to receive 
files over a serial port from a variety of programs running under 
PC-DOS, CP/M, 
.SM Unix, 
and other operating systems. 
 
The first form of 
.I rz 
(Receive ZMODEM) 
receives files with the ZMODEM batch protocol. 
If the sending program does not support ZMODEM, 
.I rz 
steps down to YMODEM protocol 
after 50 seconds. 
This delay can be eliminated by calling the program as 
.I rb . 
 
When receiving with XMODEM or YMODEM, 
.I Rz 
accepts either standard 128 byte sectors or 
1024 byte sectors 
(YAM 
.B -k 
option). 
The user should determine when 
the longer block length 
actually improves throughput without causing problems. 
 
If extended file information (file length, etc.) 
is received, 
the file length controls the number of bytes written to 
the output dataset (YMODEM only), 
and the modify time and file mode 
(iff non zero) 
are set accordingly. 
 
If no extended file information is received, 
slashes in the pathname are changed to underscore, 
and any trailing period in the pathname is eliminated. 
This conversion is useful for files received from CP/M systems. 
With YMODEM, each file name is converted to lower case 
unless it contains one or more lower case letters. 
 
 
The second form of 
.I rz 
receives a single 
.I file 
with XMODEM protocol. 
The user must supply the file name to both sending and receiving programs. 
 
.I Gz 
is a shell script which calls 
.I sz 
to command a Pro-YAM or compatible program to transmit the specified files. 
Pathnames used with 
.I gz 
must be escaped if they have special significance to the Unix shell. 
.br 
EXAMPLE: 
gz "-1 C:*.c D:*.h" 
 
 
The third form of 
.I rz 
is invoked as 
.B rzCOMMAND 
(with an optional leading \- as generated by login(1)). 
For each received file, 
rz will pipe the file to ``COMMAND filename'' 
where filename is the name of the transmitted file 
with the file contents as standard input. 
 
Each file transfer is acknowledged when COMMAND exits with 0 status. 
A non zero exit status terminates transfers. 
 
A typical use for this form is 
.I rzrmail 
which calls rmail(1) 
to post mail to the user specified by the transmitted file name. 
For example, sending the file "caf" from a PC-DOS system to 
.I rzrmail 
on a 
.SM Unix 
system 
would result in the contents of the DOS file "caf" being mailed to user "caf". 
 
On some 
.SM Unix 
systems, the login directory must contain a link to 
COMMAND as login sets SHELL=rsh which disallows absolute 
pathnames. 
If invoked with a leading ``v'', 
.I rz 
will report progress to /tmp/rzlog. 
The following entry works for 
.SM Unix 
3.0: 
.ce 
rzrmail::5:1::/bin:/usr/local/rzrmail 
If the SHELL environment variable includes 
.I "rsh" 
or 
.I "rksh" 
(restricted shell), 
rz will not accept absolute pathnames 
or references to a parent directory, 
will not modify an existing file, and 
removes any files received in error. 
 
If 
.B rz 
is invoked with stdout and stderr to different datasets, 
Verbose is set to 2, causing frame by frame progress reports 
to stderr. 
This may be disabled with the 
.B q 
option. 
 
.PP 
The meanings of the available options are: 
.PP 
.PD 0 
.TP 
.B 1 
Use file descriptor 1 for ioctls and reads (Unix only). 
By default, file descriptor 0 is used. 
This option allows 
.I rz 
to be used with the 
.I cu 
~$ 
command. 
If the calling program has spawned a separate process to 
read characters from the modem, 
that process  
must be disabled for 
.I rz 
to operate properly. 
.TP 
.B a 
Convert files to 
.SM Unix 
conventions by stripping carriage returns and all characters 
beginning with the first Control Z (CP/M end of file). 
.TP 
.B b 
Binary 
(tell it like it is) 
file transfer override. 
.TP 
.B c 
Request 16 bit CRC. 
XMODEM file transfers default to 8 bit checksum. 
YMODEM and ZMODEM normally use 16 bit CRC. 
.TP 
.B D 
Output file data to /dev/null; for testing. 
.TP 
.B p 
(ZMODEM) Protect: skip file if destination file exists. 
.TP 
.B q 
Quiet suppresses verbosity. 
.TP 
.B "t tim" 
Change timeout to 
.I tim 
tenths of seconds. 
.TP 
.B v 
Verbose 
causes a list of file 
names to be appended to 
/tmp/rzlog . 
More v's generate more output. 
.PD 
.ne 6 
.SH EXAMPLES 
.RE 
(Pro-YAM command) 
.RS 
.I  
.br 
Pro-YAM Command: 
.I "sz *.h *.c" 
.br 
(This automatically invokes 
.I rz 
on the connected system.) 
.RE 
.SH SEE ALSO 
ZMODEM.DOC, 
YMODEM.DOC, 
IMP(CP/M), 
cu(1), 
Professional-YAM manual, 
sz(omen), 
usq(omen), 
undos(omen) 
 
Compile time options required 
for various operating systems are described in the 
source file. 
.SH NOTES 
The Unix "ulimit" parameter must be set high enough 
to permit large file transfers. 
 
The TTY input buffering on some systems may not allow long blocks 
or streaming input, especially at high baud rates. 
The Pro-YAM 
.B "zmodem l" 
numeric parameter may be set to a value between 64 and 1024 to limit the 
burst length ("zmodem pl100"). 
.SH BUGS 
Pathnames are restricted to 127 characters. 
In XMODEM single file mode, the pathname given on the command line 
is still processed as described above. 
The ASCII option\'s CR/LF to NL translation merely deletes CR\'s; 
undos(omen) performs a more intelligent translation. 
.SH "VMS VERSION" 
Some of the #includes with file names enclosed with angle brackets <> 
may need to have the angle brackets changed to "", or vice versa. 
 
The VMS version does not set binary mode according to the incoming 
file type. 
Non binary file processing consists of stripping all characters beginning 
with CPMEOF (^Z). 
 
The VMS version does not set the file time. 
 
At high speeds, 
VMS sometimes loses incoming characters, resulting in retries 
and degradation of throughput. 
 
The mysterious 
VMS C Standard I/O Package and RMS may interact to modify 
file contents unexpectedly. 
 
The VMS version does not support invocation as 
.B rzCOMMAND . 
ZMODEM has not yet been implemented on the VMS version. 
.SH "ZMODEM CAPABILITIES" 
.I Rz 
supports incoming ZMODEM binary (-b), ASCII (-a), 
protect (-p), 
and append (-+) 
requests, and ZMODEM command execution. 
.SH FILES 
rz.c, rbsb.c, zm.c, zmodem.h source files. 
 
/tmp/rzlog stores debugging output generated with -vv option.