Command (C.*) Files for BNU

Purpose

Contains file transfer directions for the uucico daemon.

Description

Command (C.*) files contain the directions that the Basic Networking Utilities (BNU) uucico daemon follows when transferring files. The full path name of a command file is a form of the following:

/var/spool/uucp/SystemName/C.SystemNameNxxxx

The SystemName variable indicates the name of the remote system. The N character represents the grade of the work. The xxxx notation is the four-digit hexadecimal transfer-sequence number; for example, C.merlinC3119.

The grade of the work specifies when the file is to be transmitted during a particular connection. The grade notation characteristics are:

A command file consists of a single line that includes the following kinds of information in the following order:

  1. An S (send) or R (receive) notation.
    Note: A send command file is created by the uucp or uuto commands; a receive command file is created by the uux command.
  2. The full path name of the source file being transferred. A receive command file does not include this entry.
  3. The full path name of the destination file, or a path name preceded by ~user, where user is a login name on the specified system. Here, the ~ (tilde) is shorthand for the name of the user's home directory.
  4. The sender's login name.
  5. A list of the options, if any, included with the uucp, uuto, or uux command.
  6. The name of the data file associated with the command file in the spooling directory. This field must contain an entry. If one of the data-transfer commands (such as the uucp command with the default -c flag) does not create a data file, the BNU program instead creates a placeholder with the name D.0 for send files or the name dummy for receive files.
  7. The source file permissions code, specified as a three-digit octal number (for example, 777).
  8. The login name of the user on the remote system who is to be notified when the transfer is complete.

Examples

The following are two examples of using the command (C.*) files.

Two Send Command Files

  1. The send command file /var/spool/uucp/venus/C.heraN1133, created with the uucp command, contains the following fields:
    S /home/amy/f1 /var/spool/uucppublic/f2 amy -dC D.herale73655 777 lgh

    where:

    1. S denotes that the uucp command is sending the file.
    2. The full path name of the source file is /home/amy/f1.
    3. The full path name of the destination is /var/spool/uucppublic/f2, where /var/spool/uucppublic is the name of the BNU public spooling directory on the remote computer and f2 is the new name of the file.
      Note: The destination name may be abbreviated as ~/f2. Here, the ~ (tilde) is a shorthand way of designating the public directory.
    4. The person sending the file is amy.
    5. The sender entered the uucp command with the -C flag, specifying that the uucp command program should transfer the file to the local spooling directory and create a data file for it. (The -d flag, which specifies that the command should create any intermediate directories needed to copy the source file to the destination, is a default.)
    6. The name of the data (D.*) file is D.herale73655, which the uucp command assigns.
    7. The octal permissions code is 777.
    8. The lgh login name of the user on system hera, who is to be notified of the file arrival.
  2. The /var/spool/uucp/hera/C.zeusN3130 send command file, produced by the uuto command, is as follows:
    S /home/amy/out ~/receive/msg/zeus amy -dcn D.0 777 msg
    The S denotes that the /home/amy/out source file was sent to the receive/msg subdirectory in the public spooling directory on system zeus by user amy.
    Note: The uuto command creates the receive/msg directory if it does not already exist.

    The uuto command used the default flags -d (create directories), -c (transfer directly, no spooling directory or data file), and -n (notify recipient). The D.0 notation is a placeholder, 777 is the permissions code, and msg is the recipient.

Receive Command File

The format of a receive command file is somewhat different from that of a send command file. When files required to run a specified command on a remote system are not present on that system, the uux command creates a receive command file.

For example, the following command:
uux - "diff /home/amy/out hera!/home/amy/out2 > ~/DF"
produces the /var/spool/uucp/zeus/C.heraR1e94 receive command file.
Note: The command in this example invokes the uux command to run a diff command on the local system, comparing file /home/amy/out with file /home/amy/out2, which is stored on the remote system hera. The output of the comparison is placed in the DF file in the public directory on the local system.
The actual receive command file looks like this:
R /home/amy/out2 D.hera1e954fd amy - dummy 0666 amy

The R denotes a receive file. The uucico daemon, called by the uux command, gets the /home/amy/out2 file from system hera and places it in a data file called D.hera1e954fd for the transfer. Once the files are transferred, the uuxqt daemon executes the command on the specified system.

User amy issued the uux command with the - (minus sign) flag, which makes the standard input to the uux command the standard input to the actual command string. No data file was created in the local spooling directory, so the BNU program uses dummy as a placeholder. The permissions code is 666 (the BNU program prefixes the three-digit octal code with a 0), and user amy is to be notified when the command has finished executing.

Files

Item Description
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
/etc/uucp/Sysfiles file Specifies possible alternative files for /etc/uucp/Systems.
/var/spool/uucp/SystemName/D.* Contains data to be transferred.
/var/spool/uucp/SystemName directory Contains BNU command, data, and execute files.
/var/spool/uucppublic/* directory Contains transferred files.