Go to the first, previous, next, last section, table of contents.


The S Command

master: `S from to user -options temp mode notify size'
The `S' and the `-' are literal characters. This is a request by the master to send a file to the slave.
from
The name of the file to send. If the `C' option does not appear in options, the master will actually open and send this file. Otherwise the file has been copied to the spool directory, where it is named temp. The slave ignores this field unless to is a directory, in which case the basename of from will be used as the file name. If from is a spool directory filename, it must be a data file created for or by an execution, and must begin with `D.'.
to
The name to give the file on the slave. If this field names a directory the file is placed within that directory with the basename of from. A name ending in `/' is taken to be a directory even if one does not already exist with that name. If to begins with `X.', an execution file will be created on the slave. Otherwise, if to begins with `D.' it names a data file to be used by some execution file. Otherwise, to should not be in the spool directory.
user
The name of the user who requested the transfer.
options
A list of options to control the transfer. The following options are defined (all options are single characters):
`C'
The file has been copied to the spool directory (the master should use temp rather than from).
`c'
The file has not been copied to the spool directory (this is the default).
`d'
The slave should create directories as necessary (this is the default).
`f'
The slave should not create directories if necessary, but should fail the transfer instead.
`m'
The master should send mail to user when the transfer is complete.
`n'
The slave should send mail to notify when the transfer is complete.
temp
If the `C' option appears in options, this names the file to be sent. Otherwise if from is in the spool directory, temp is the same as from. Otherwise temp may be a dummy string, such as `D.0'. After the transfer has been succesfully completed, the master will delete the file temp.
mode
This is an octal number giving the mode of the file on the master. If the file is not in the spool directory, the slave will always create it with mode 0666, except that if (mode & 0111) is not zero (the file is executable), the slave will create the file with mode 0777. If the file is in the spool directory, some UUCP packages will use the algorithm above and some will always create the file with mode 0600. This field is ignored by UUPlus, since it is meaningless on DOS; UUPlus uses 0666 for outgoing files.
notify
This field may not be present, and in any case is only meaningful if the `n' option appears in options. If the `n' option appears, then, when the transfer is successfully completed, the slave will send mail to notify, which must be a legal mailing address on the slave. If a size field will appear but the `n' option does not appear, notify will always be present, typically as the string `dummy' or simply a pair of double quotes.
size
This field is only present when doing Taylor UUCP or SVR4 UUCP size negotiation. It is the size of the file in bytes. Taylor UUCP version 1.03 sends the size as a decimal integer, while versions 1.04 and up, and all other UUCP packages that support size negotiation, send the size in base 16 with a leading 0x.
The slave then responds with an `S' command response.
`SY start'
The slave is willing to accept the file, and file transfer begins. The start field will only be present when using file restart. It specifies the byte offset into the file at which to start sending. If this is a new file, start will be 0x0.
`SN2'
The slave denies permission to transfer the file. This can mean that the destination directory may not be accessed, or that no requests are permitted. It implies that the file transfer will never succeed.
`SN4'
The slave is unable to create the necessary temporary file. This implies that the file transfer might succeed later.
`SN6'
This is only used by Taylor UUCP size negotiation. It means that the slave considers the file too large to transfer at the moment, but it may be possible to transfer it at some other time.
`SN7'
This is only used by Taylor UUCP size negotiation. It means that the slave considers the file too large to ever transfer.
`SN8'
This is only used by Taylor UUCP. It means that the file was already received in a previous conversation. This can happen if the receive acknowledgement was lost after it was sent by the receiver but before it was received by the sender.
`SN9'
This is only used by Taylor UUCP (versions 1.05 and up) and UUPlus (versions 2.0 and up). It means that the remote system was unable to open another channel (see the discussion of the `i' protocol for more information about channels). This implies that the file transfer might succeed later.
`SN10'
This is reportedly used by SVR4 UUCP to mean that the file size is too large.
If the slave responds with `SY', a file transfer begins. When the file transfer is complete, the slave sends a `C' command response.
`CY'
The file transfer was successful.
`CYM'
The file transfer was successful, and the slave wishes to become the master; the master should send an `H' command, described below.
`CN5'
The temporary file could not be moved into the final location. This implies that the file transfer will never succeed.

After the `C' command response has been received (in the `SY' case) or immediately (in an `SN' case) the master will send another command.


Go to the first, previous, next, last section, table of contents.