Network Working Group                             25 January 1972
RFC 294                                        Abhay Bhushan, MIT
NIC 8304
Categories: D.4, D.5, and D.7
Updates: RFC 265
The Use of 'Set Data Type' Transaction in File Transfer Protocol
----------------------------------------------------------------

As mentioned in RFC 265, the opcode of '00' is set aside for the

clarify the use of 'set data type' in file transfer operations.

In many systems such as Multics at MIT, there is no provision to

identify the type of data (i.e., ASCII or numeric) stored in files.
The manner in which the data is handled is context dependent. ASCII
characters are stored as four 9-bit characters per 36-bit word, right
justified with left most bit as zero. As efficient conversion
programs exists in Multics for conversion of data from Multics' ASCII
into Network ASCII, it would be useful for a user to be able to
instruct the Multics server to convert data into Network ASCII in
retrieve operations. It is suggested that the 'set data type'
transaction be used for this purpose.

The 'set data type' transaction preceding a retrieve request

should be interpreted by a server to mean that the user wants to
receive his data in that form. If the server is unable to convert the
data into the desired form, it should return a 'set data type' of

[ This RFC was put into machine readable form for entry ]

       [ into the online RFC archives by BBN Corp. under the   ]
       [ direction of Alex McKenzie.                   12/96   ]

[Page 1]


RFC 294 Abhay Bhushan, MIT

The following examples should clarify the use of 'set data

type' transactions.

1. USER SERVER
          ----                                             ------
                    Set data type '02' (Network ASCII)
                    ------------------------------------->
                    Store File X
                    ------------------------------------->
                    File X (in Network ASCII)
                    ------------------------------------->
                    End of File
                    ------------------------------------->
                    Acknowledge
                    <-------------------------------------

Retrieve File X

                    ------------------------------------->
                    File X in Network ASCII
                    <-------------------------------------
                    End of File
                    <-------------------------------------

2. USER SERVER
          ----                                             ------
                    Set data type'03' (EBCDIC)
                    ------------------------------------->
                    Retrieve File Y
                    ------------------------------------->
                    Set data type '00' ("bit-stream")
                    <-------------------------------------
                    File Y as stored (no conversion)
                    <-------------------------------------
                    End of File
                    <-------------------------------------

Set data type '02' (Network ASCII)

                    ------------------------------------->
                    Retrieve File Z
                    ------------------------------------->
                    File Z in Network ASCII
                    <-------------------------------------
                    End of File
                    <-------------------------------------

[Page 2]