RFC 109

Level III Server Protocol for the Lincoln Laboratory 360/67 Host

๐Ÿ“… published March 1971, from ietf

RFC 109 (Part 1 of 3) โœจ๐Ÿ’–

Title Block ๐ŸŽ€

okay bestie, RFC 109 is the Level III Server Protocol for the Lincoln Laboratory 360/67 Host ๐Ÿ–ฅ๏ธโœจ. It's by J. Winett of MIT Lincoln Laboratory, it's listed under NIC 5805, and it's dated 24 March 1971 ๐Ÿ“…. The header doesn't list a category, status, or anything it obsoletes or updates, so there's nothing to report there ๐Ÿซถ. This is part 1 of 3, so the story continues in the next chunk ๐Ÿงš

Disclaimer ๐Ÿ™ˆ

this material hasn't been reviewed for public release ๐Ÿšซ. it's only meant for use with the ARPA network, so please don't quote or cite it in any publication that isn't related to the ARPA network ๐Ÿ’€

Introduction ๐Ÿฆ‹

the Lincoln Laboratory IBM 360/67 is hooked up to the ARPA network and works as a serving host, giving people access to the CP-67 virtual machine operating system ๐Ÿ’ป. once you finish logging in, you get control of a 360 virtual machine through a virtual 1052 online console ๐Ÿ–จ๏ธ. the virtual machine also comes with a virtual card reader, card punch, line printer, and a bunch of disk storage devices ๐Ÿ“. it can be either a virtual 360/67 with dynamic address translation hardware or a standard System/360 ๐Ÿ”ฅ. most users go with a standard 360 that has 256K bytes of virtual memory and run the CMS conversational monitor system ๐ŸŒธ. CMS gives you tools for file creation, maintenance, and manipulation, program development, debugging and execution, plus a bunch of other useful utility functions ๐Ÿ’…. for the full rundown on what's available, check out the section on the Lincoln Laboratory 360/67 in the Network Notebook ๐Ÿ““โœจ

Network Control Program ๐Ÿ”Œ

all communication with the 360/67 that goes through the IMP gets processed by a Network Control Program (NCP) ๐Ÿง . the NCP works with the Host-Host Protocol described in the Network Working Group Document No. 1, dated 3 August 1970 ๐Ÿ’œ

Initial Connection Protocol ๐Ÿงšโ€โ™€๏ธ

so, to make a virtual machine from the network, you need a pair of connections with the LOGGER ๐ŸŽ€. the sockets get assigned following the Initial Connection Protocol (ICP) ๐Ÿ”—. the LOGGER is set up and waiting for an RTS control command on socket X'0A 0000 01' โญ. that ICP socket matches home X'0A', user X'0000', and tag X'01' (send gender) ๐ŸŒˆ

requests for a connection on the ICP socket get stacked up until it's free ๐Ÿ“š. if the LOGGER is up for serving another network user, it sends a 32 bit socket ID for a receive socket over this initial connection, and then the ICP socket closes ๐Ÿฆ‹. if the LOGGER isn't up for it, it won't finish the initial connection for the ICP socket. it just refuses the request by closing the connection without completing it ๐Ÿ˜ญ

LOGGER Protocol ๐Ÿซง

once a pair of user sockets is assigned, the connection protocol should be completed on those sockets ๐Ÿ“. the LOGGER then expects to receive (on the receive socket) one 8-bit byte that tells it the data type. that's the transmission code used to talk to the network user over this pair of sockets ๐Ÿ’–. a code of X'01' means 7 bit ASCII code in 8-bit bytes, with the leading bit zero ๐Ÿ’œ. a code of X'02' means 8-bit EBCDIC code ๐ŸŒธ. once the data type code comes in, the LOGGER echoes it back over the send socket, followed by this message, in the matching code ๐ŸŽ€

            LINCOLN LABORATORY CP-67 ONLINE NL

(in ASCII, NL gets sent as CR LF) ๐Ÿซถ

the procedure keeps going according to the normal CP-67 login protocol ๐Ÿ’…. the LOGGER also does an extra job: it maps network userids and passwords into valid CP-67 userids and passwords โœจ. that mapping is defined by entries in a file called the LOGGER FILE, which the LOGGER reads ๐Ÿ“‚. if a network userid doesn't match an entry in that file, or the password doesn't match the matching network password, the users get the usual CP responses ๐Ÿ™ˆ. so basically, network access to the Lincoln Laboratory system is locked down to accounts that have an entry in the LOGGER FILE ๐Ÿ”’

one more thing ๐Ÿ‘€: CP sends a BYP code (Bypass) to stop printing the characters you type while a password is being entered ๐Ÿคซ. once the password is in, CP sends a RES code (Restore) to start printing again when you type ๐Ÿ–จ๏ธ. when you're talking in ASCII, these codes get converted to X'FF', since there's no matching ASCII code ๐Ÿ’€. for more on CP-67 and CMS, check the Network Resource Notebook ๐Ÿ““๐Ÿงš

The NET Account ๐ŸŒท

Lincoln Laboratory is giving out one account that network users can use to get comfy with the time-sharing system ๐Ÿฅฐ. its userid is NET and its password is ARPA ๐Ÿ’œ. the account has 900 records of storage, which can hold about 720,000 characters ๐Ÿ“. NET users are free to ERASE any file on this account, since lots of different people might be using it at the same time ๐Ÿ˜ฌโœจ

The SERVER Protocol ๐Ÿ–ฅ๏ธ

CP-67 works one line at a time ๐Ÿ“. that means a group of characters gets processed as a line, not as individual characters ๐Ÿ’…. the system also normally buffers input lines, so input doesn't get entered until something requests it with a read from the system ๐Ÿซง. with IBM 2741 or 1052 terminals, the keyboard stays locked until a read is requested ๐Ÿ”’. the virtual terminals that network users go through to reach CP-67 were designed to support either a line oriented terminal or a character oriented terminal ๐ŸŒˆ

when CP asks for a line of input, the SERVER sends a prompting code X'80' ๐ŸŽ€. that character can tell a user process to change transmission modes and send an input line โญ. characters the SERVER gets are buffered until it receives an NL character ๐Ÿ“š. the lines it receives can then be used to satisfy CP's requests for an input line ๐Ÿฆ‹

CP might send out lines that may or may not end with an NL character ๐Ÿคทโ€โ™€๏ธ. if a line doesn't end with an NL character, the prompting character is sent right after the output line to ask a CP process for input ๐Ÿ’–

when a user wants to interrupt a CP process (like to change modes), they send an interrupt code X'80' to the SERVER ๐Ÿšจ. that code causes an asynchronous interrupt in the running process, like pressing the 'attention' button on a 2741 terminal ๐Ÿ’ฅ. along with the interrupt code, the user should make an INS get sent over the send link ๐Ÿซถ. this signal gets synchronized with the interrupt code ๐Ÿ”—. if the interrupt code hasn't been received and processed yet, all the characters that are buffered, plus any received before the interrupt code arrived, get flushed (deleted) ๐Ÿซ . when the interrupt code comes in, it gets paired with the INS that was received earlier ๐Ÿ’œ. if an INS comes in after an interrupt code has been received and processed, the INS gets paired with that earlier interrupt code ๐Ÿงš

last one, and it's a big deal ๐Ÿ˜ญ: if CP has a line to send to a user after it has requested an input line but before it gets any input, the SERVER sends an INS on the user's receive link ๐Ÿ“จ. that tells the user the prompting character sent earlier should be retracted, and that a line has been or will be sent to them ๐Ÿ™ˆ. this message line is called a "warning" โš ๏ธ

Graphic and Control Codes ๐ŸŒˆ

Figure 1 gives the 8-bit codes for the EBCDIC graphics and controls ๐Ÿงพ. Figure 2 gives the 7-bit codes for the ASCII graphics and controls ๐Ÿ“. the controls are tabulated and compared in Figure 3 ๐Ÿ“Š. the standard interpretation of the ASCII controls is in Figure 4 ๐Ÿซถ

there are 4 ASCII codes that don't have a matching graphic or control in EBCDIC ๐Ÿ‘€. the EBCDIC codes given to them are:

                   |     Hex Code
             ASCII |-------+--------
            Symbol | ASCII | EBCDIC
            -------+-------+--------
               DC3 |  13   |  3A
                   |       |
                `  |  60   |  70
                   |       |
                \  |  5C   |  71
                   |       |
                ^  |  5E   |  72

there are 29 EBCDIC graphics codes and 19 EBCDIC control codes that don't have a matching graphic or control in ASCII ๐Ÿ“. on top of that, there are 84 other EBCDIC codes whose interpretation is unspecified ๐ŸŒธ. four of those got picked to match the ASCII controls and ASCII graphics that don't have an EBCDIC code ๐ŸŽ€. when you convert EBCDIC codes to ASCII, the remaining 80 codes, plus the 29 EBCDIC graphics and 18 EBCDIC controls (not counting NL), all become X'FF' ๐Ÿ’€. the NL character is special ๐Ÿซถ. the NL character, EBCDIC code X'15', turns into the two character sequence CR LF, which is ASCII X'0D 0A' ๐Ÿ’œ. like we said before, X'80' gets sent as a prompting character whenever CP asks for an input line ๐Ÿงš

going the other way, from ASCII to EBCDIC, if any code other than the 128 ASCII codes (or the interrupt codem X'80') comes in, it gets converted to X'FF' ๐Ÿซ . also, whenever the two ASCII characters CR LF show up next to each other in the input stream, they get converted into the single EBCDIC character NL โœจ

[In Figure 1, positions shown as "[?]" cannot be printed in ASCII.] ๐Ÿ™ˆ

Okay so picking up right where we left off ๐ŸŽ€ These are the code tables and control function notes, and the vibe is pure chart-nerd joy ๐Ÿ“Šโœจ

Figure 1. Extended Binary-Coded Decimal Interchange Code (EBCDIC) ๐Ÿงš

        0 0  0   0   0   0   0   0   0   1   1   1   1   1   1   1   1
        1 0  0   0   0   1   1   1   1   0   0   0   0   1   1   1   1
        2 0  0   1   1   0   0   1   1   0   0   1   1   0   0   1   1
        3 0  1   0   1   0   1   0   1   0   1   0   1   0   1   0   1
   4567+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0000|NUL|DLE|DS |   |SP | & | - |   |   |   |[?]|[?]|   |   |   | 0 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0001|SOH|DC1|SOS|   |   |   | / |   | a | j |[?]|[?]| A | J |   | 1 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0010|STX|DC2|FS |SYN|   |   |   |   | b | k | s |[?]| B | K | S | 2 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0011|ETX|TM |   |   |   |   |   |   | c | l | t |[?]| C | L | T | 3 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0100|PF |RES|BYP|PN |   |   |   |   | d | m | u |[?]| D | M | U | 4 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0101|HT |NL |LF |RS |   |   |   |   | e | n | v |[?]| E | N | V | 5 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0110|LC |BS |ETB|UC |   |   |   |   | f | o | w |[?]| F | O | W | 6 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   0111|DEL|IL |ESC|EOT|   |   |   |   | g | p | x |[?]| G | P | X | 7 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1000|   |CAN|   |   |   |   |   |   | h | q | y |[?]| H | Q | Y | 8 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1001|   |EM |   |   |   |   |   |   | i | r | z |[?]| I | R | Z | 9 |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1010|SMM|CC |SM |   |[1]| ! |   | : |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1011|VT |CU1|CU2|CU3| . | $ | , | # | { | } |[?]|[?]|   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1100|FF |IFS|   |DC4| < | * | % | @ |[?]|[?]|[?]|[?]|   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1101|CR |IGS|ENQ|NAK| ( | ) | _ | ' |[?]|[?]| [ | ] |   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1110|SO |IRS|ACK|   | + | ; | > | = |[?]|[?]|[?]|[?]|   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   1111|SI |IUS|BEL|SUB| | |[2]| ? | " |[?]|[?]|[?]|[?]|   |   |   |   |
       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

                         +---+---+---+---+---+---+---+---+
                         | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
                         +---+---+---+---+---+---+---+---+
                                   Code Structure

Figure 1 is the EBCDIC grid, bestie, and the layout is the whole point ๐Ÿฅน Those [?] slots are just spots the table leaves open ๐Ÿคทโ€โ™€๏ธ

Figure 2. Extended Binary-Coded Decimal Interchange Code (EBCDIC), read in the other direction ๐Ÿ”„

        8 0   0   0   0   0   0   0   0
        7 0   0   0   0   1   1   1   1
        6 0   0   1   1   0   0   1   1
        5 0   1   0   1   0   1   0   1
    4321+---+---+---+---+---+---+---+---+
        0000|NUL|DLE|SP | 0 | @ | P | ` | p |
            +---+---+---+---+---+---+---+---+
        0001|SOH|DC1| ! | 1 | A | Q | a | q |
            +---+---+---+---+---+---+---+---+
        0010|STX|DC2| " | 2 | B | R | b | r |
            +---+---+---+---+---+---+---+---+
        0011|ETX|DC3| # | 3 | C | S | c | s |
            +---+---+---+---+---+---+---+---+
        0100|EOT|DC4| $ | 4 | D | T | d | t |
            +---+---+---+---+---+---+---+---+
        0101|ENQ|NAK| % | 5 | E | U | e | u |
            +---+---+---+---+---+---+---+---+
        0110|ACK|SYN| & | 6 | F | V | f | v |
            +---+---+---+---+---+---+---+---+
        0111|BEL|ETB| ' | 7 | G | W | g | w |
            +---+---+---+---+---+---+---+---+
        1000|BS |CAN| ( | 8 | H | X | h | x |
            +---+---+---+---+---+---+---+---+
        1001|HT |EM | ) | 9 | I | Y | i | y |
            +---+---+---+---+---+---+---+---+
        1010|LF |SUB| * | : | J | Z | j | z |
            +---+---+---+---+---+---+---+---+
        1011|VT |ESC| + | ; | K | [ | k | { |
            +---+---+---+---+---+---+---+---+
        1100|FF |FS | , | < | L | \ | l | | |
            +---+---+---+---+---+---+---+---+
        1101|CR |GS | - | = | M | ] | m | } |
            +---+---+---+---+---+---+---+---+
        1110|SO |RS | . | > | N | ^ | n | ~ |
            +---+---+---+---+---+---+---+---+
        1111|SI |SU | / | ? | O | _ | o |DEL|
            +---+---+---+---+---+---+---+---+
    +---+---+---+---+---+---+---+---+---+---+---+---+
            | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
            +---+---+---+---+---+---+---+---+
                     Code Structure

Figure 2. ๐Ÿ’ซ

Figure 3. USA Standard Code for Information Interchange (USASCII) ๐Ÿฆ‹ This one is the big boss of the chart world ๐Ÿ‘‘

   CAT     EBCDIC  ASCII   TTY     PTTC    FUNCTION

           NUL     NUL     NULL            Null
   CC      SOH     SOH     SOM             Start of Heading
   CC      STX     STX     EOA     EOA (D) Start of Text
   CC      ETX     ETX     EOM             End of Text
   DC      PF                      PF      Punch Off
   FE      HT      HT      H.TAB   TAB     Horizontal Tab
   GR      LC                      LC      Lower Case
           DEL     DEL     RUBOUT  DEL     Delete
           SMM                             Start of Manual Message
   FE      VT      VT      V.TAB           Vertical Tab
   FE      FF      FF      FORM            Form Feed
   FE      CR      CR      RETURN          Carriage Return
   GR      SO      SO      SO              Shift Out
   GR      SI      SI      SI              Shift In
   CC      DLE     DLE     DC0             Data Link Escape
   DC      DC1     DC1     X-ON            Device Control 1
   DC      DC2     DC2     TAPE ON         Device Control 2
           TM                              Tape Mark
   DC      RES                     RES     Restore
   FE      NL                      NL      New Line
   FE      BS      BS              BS      Backspace
           IL                      IL      Idle
           CAN     CAN     FE0     CAN     Cancel
           EM      EM      S1              End of Medium
           CC                              Cursor Control
   CU      CU1                             Customer Use 1
   IS      IFS     FS      S4              Info. Field Separator
   IS      IGS     GS      S5              Info. Group Separator
   IS      IRS     RS      S6              Info. Record Separator
   IS      IUS     US      S7              Info Unit Separator
   ED      DS                              Digit Select
   ED      SOS                             Start of Significance
   ED      FS                              Field Separator
   DC      BYP                     BYP     Bypass
   FE      LF      LF      LF      LF      Line Feed
   CC      ETB     ETB     LEM     EOB (B) End of Text Block
           ESC     ESC     S3      PRE     Escape
           SM                              Set Mode
   CU      CU2                             Customer Use 2
   CC      ENQ     ENQ     WRU             Enquiry
   CC      ACK     ACK     RU      (Y)     Acknowledge
           BEL     BEL     BELL            Bell
   CC      SYN     SYN     SYNC            Synchronous Idle
   DC      PN                      PN      Punch On
   DC      RS                      RS      Reader Stop
   GR      UC                      UC      Upper Case
   CC      EOT     EOT     EOT     EOT (C) End of Transmission
   CU      CU3                             Customer Use 3
   DC      DC4     DC4     TAPE OFF        Device Control 4
   CC      NAK     NAK     ERROR   (N)     Negative Acknowledge
           SUB     SUB     S2              Substitute
   DC              DC3     X-OFF           Device Control 3

Figure 3 is the one where every column has its own story ๐Ÿ“–


Control Functions Compared ๐Ÿ“

  • CC (Communication Control): a functional character meant to control or facilitate sending information over communication networks ๐Ÿ“ก
  • FE (Format Effector): a functional character that controls the layout or positioning of information on printing or display devices ๐Ÿ–จ๏ธ
  • IS (Information Separator): a character used to separate and qualify information in a logical sense. There is a group of four of these, and they are meant to be used in a hierarchical order ๐Ÿชœ
  • DC (Device Control): a functional character used to control ancillary devices tied to data processing or telecommunication systems, especially switching devices "on" and "off" ๐Ÿ”Œ
  • ED (Edit and Mark): a control character used by the System/360 Edit and Mark (EDMK) instruction to format alphanumeric fields ๐Ÿงฎ
  • GB (Graphic Control): a control character that says the code combinations following it should be read in a particular code table, depending on which control character it is ๐ŸŽจ
  • CU (Customer Use): a character excluded from future assignment by IBM. These "protected" codes are for customer systems, so they won't clash with a possible future IBM use ๐Ÿ”’

Figure 3 (Continued) ๐Ÿ’œ

Categories of Control Functions ๐ŸŒˆ

  • NUL (Null): the all-zeros character that can be used to fill time and media ๐Ÿซง
  • SOH (Start of Heading): a communication control character used at the start of a sequence of characters that makes up a machine-sensible address or routing information. That sequence is called the heading. An STX character ends a heading ๐Ÿงญ
  • STX (Start of Text): a communication control character that comes before a sequence of characters to be treated as one entity and sent all the way through to the ultimate destination. That sequence is called text. SIX may be used to end a sequence of characters started by SOH ๐Ÿ’Œ
  • ETX (End of Text): a communication control character used to end a sequence of characters that started with STX and was sent as one entity ๐Ÿ”š
  • EOT (End of Transmission): a communication control character used to show that a transmission has concluded, which may have had one or more texts and any headings attached ๐Ÿ“ญ
  • ENQ (Enquiry): a communication control character used in data communication systems to request a response from a remote station. It can be used as a "Who Are You" (WRU) to get identification, to get station status, or both ๐Ÿ™‹โ€โ™€๏ธ
  • ACK (Acknowledge): a communication control character sent by a receiver as a yes, got it, affirmative response to a sender ๐Ÿซถ
  • BEL (Bell): a character for when there's a need to call for human attention. It may control alarm or attention devices ๐Ÿ””
  • BS (Backspace): a format effector that moves the printing position one printing space backward on the same line (this also applies to display devices) โฌ…๏ธ
  • HT (Horizontal Tabulation): a format effector that moves the printing position to the next of a series of predetermined positions along the printing line. This also applies to display devices and the skip function on punched cards ๐ŸŽ€
  • LF (Line Feed): a format effector that moves the printing position to the next printing line (this also applies to display devices) โฌ‡๏ธ
  • VT (Vertical Tabulation) ๐Ÿ’–: a format effector that moves the printing position to the next line in a series of predetermined printing lines. It also applies to display devices ๐Ÿ–ฅ๏ธ.
  • FF (Form Feed) ๐Ÿ“„: a format effector that moves the printing position to the first predetermined printing line on the next form or page. It also applies to display devices.
  • CR (Carriage Return) ๐ŸŽ€: a format effector that moves the printing position to the first printing position on the same printing line. It also applies to display devices.
  • SO (Shift Out) ๐Ÿ”€: a control character that says the code combinations which follow shall be interpreted as outside of the character set of the standard code table, until a Shift In character is reached.
  • SI (Shift In) ๐Ÿ”: a control character that says the code combinations which follow shall be interpreted according to the standard code table.
  • DLE (Data Link Escape) ๐Ÿฆ‹: a communication control character that changes the meaning of a limited number of contiguously following characters. It is used exclusively to provide supplementary controls in data communication networks.
  • DC1, DC2, DC3, DC4 (Device Controls) ๐Ÿ”Œ: characters for controlling ancillary devices associated with data processing or telecommunication systems, especially switching devices "on" and "off". If a single "stop" control is required to interrupt or turn off ancillary devices, DC4 is the preferred assignment.
  • NAK (Negative Acknowledge) ๐Ÿ™…: a communication control character transmitted by a receiver as a negative response to a sender.
  • SYN (Synchronous Idle) ๐ŸŒธ: a communication control character used by a synchronous transmission system when no other character is present, to provide a signal from which synchronism may be achieved or retained.
  • ETB (End of Transmission Block) ๐Ÿงš: a communication control character used to indicate the end of a block of data for communication purposes. ETB is used for blocking data where the block structure is not necessarily related to the processing format.
  • CAN (Cancel) ๐Ÿšซ: a control character used to indicate that the data it is sent with is in error or is to be disregarded.
  • EM (End of Medium) ๐Ÿ“ผ: a control character associated with the sent data, which may be used to identify the physical end of the medium, or the end of the used, or wanted, portion of information recorded on a medium. The position of this character does not necessarily correspond to the physical end of the medium.
  • SS (Start of Special Sequence) โœจ: a control character used to indicate the start of a variable length sequence of characters which have special significance or which are to receive special handling.
  • ESC (Escape) ๐Ÿ—๏ธ: a control character intended to provide code extension (supplementary characters) in general information interchange. The Escape character is itself a prefix that affects the interpretation of a limited number of contiguously following characters.
  • FS (File Separator), GS (Group Separator), RS (Record Separator) and US (Unit Separator) ๐Ÿ—‚๏ธ: these information separators may be used within data in an optional fashion, except that the hierarchical relationship shall be: FS is the most inclusive, then GS, then RS, and US is the least inclusive. The content and length of a File, Group, Record, or Unit are not specified.
  • DEL (Delete) ๐Ÿงฝ: this character is used primarily to "erase" or "obliterate" erroneous or unwanted characters in perforated tape. In the strict sense, DEL is not a control character.

Figure 4 ASCII Control Functions

Endnotes โœจ

  • [1] - Cent sign ๐Ÿ’ธ
  • [2] - Logical not ("bent bar") ๐Ÿซถ
  • [?] - Graphics not in ASCII. See Postscript or PDF version of this document.
          [This RFC was put into machine readable form for entry]
          [into the online RFC archives by Lorrie Shiota, 10/02]
๐Ÿ“ฆ where this page comes from