Skip to main content

PDP-10 File Transmission

Assume that I have a link connected to another PDP-10 and a user process there that is listening. In order to get that process to send me a file, the sequence of flags that might be transmitted can be represented as follows, where the UUO'S executed by me are in the left margin, the flags are indented, and the commentary opposite them indicates the nature of the data block transmitted:

   PUT F
CONTROL Data with OPEN parameters, requesting OPEN
LABEL File identification data for LOOKUP
EOM Forces message to be transmitted

GETFD
STATUS Status returned by OPEN
SIZE Byte size to be used
LABEL File retrieval information

PUTF
CONTROL Data requesting INPUT from file
EOM Forces request to be transmitted

GETFD
STATUS Status bits returned by INPUT

GET Logical record (one file buffer load)
(loop back to second PUTF, above, for other records)

Finally, the status information returned by the second GETF indicates
end of file, and I wind up with the sequence:

PUTF
CONTROL Data requesting a CLOSE
EOM Forces transmission

GETFD
STATUS Status bits returned by CLOSE

In the case I am getting a file, the main loop looks like:

PUTF
CONTROL Data requesting OUTPUT

PUT Logical record (one file buffer load)

PUTF
EOM Forces transmission

GETFD
STATUS Status bits returned by OUTPUT

The use of both the record and the flag transmission UUO's is worth noting, as well as the use of the EOM flag to force transmission of a message when switching between input and output over the link. PUT and GET UUO's are clearly required above for transmission of the CONTROL and LABEL data; I suppressed them for the sake of clarity.

For this application, the handshaking nature of the transmission of CONTROL and STATUS flags are mandatory. While the protocol would permit transmission of a complete file without the handshaking, it would be an all or nothing proposition - a single error would necessitate doing it all over again, presuming that the receiving process did not end up in a complete tangle.