1 
  2 /*             "net_ascii_dim_sdb_dcls.incl.pl1" -- the include file that       */
  3 /*        declares the stream data block for the network ASCII DIMS.            */
  4 
  5 /*        Originally created by D. M. Wells 1972, February.                     */
  6 /*        Modified by D. M. Wells 1974, January 3 prior to installation.        */
  7 /*        Modified by D. Reed and D. M. Wells, September 1976, for options      */
  8 
  9      declare
 10          (RECEIVE   initial (0),
 11           TRANSMIT  initial (1))
 12                fixed binary (1) internal static options (constant);
 13 
 14      declare
 15           1 SDB_template aligned based,                     /* stream data block for network tty connection   */
 16              2 dim_name character (32) unaligned,           /* the name of this DIM                           */
 17              2 device_name_list pointer,                    /* threaded list of device id's                   */
 18              2 next_device pointer,                         /* pointer to next entry in threaded list         */
 19              2 device_name_size fixed binary (24),          /* number of chars in device name                 */
 20              2 device_name character (32) unaligned,        /* device id                                      */
 21              2 r_ncp_idx fixed binary (12),                 /* NCP index for the read socket                  */
 22              2 r_local_pin fixed binary (8),
 23              2 w_ncp_idx fixed binary (12),                 /* NCP index for the write socket                 */
 24              2 w_local_pin fixed binary (8),
 25 
 26              2 mode_section aligned,                        /* information which changemodes might change     */
 27                 3 modes_inconsistent bit (1),               /* on if internal modes are inconsistent          */
 28                 3 current_modes aligned,                    /* a representation of the modes of this stream   */
 29                     4 mode_switches unaligned,              /* -- those determined only by a switch           */
 30                        5 can bit (1),                       /* whether the input should be canonicalized      */
 31                        5 erkl bit (1),                      /* whether escape and kill should be done         */
 32                        5 esc bit (1),                       /* whether escape sequences should be understood  */
 33                        5 half bit (1),                      /* terminal like TTY33                            */
 34                        5 tabsin bit (1),                    /* whether tabs are allowed to be passed to user  */
 35                        5 edited bit (1),                    /* whether output non-graphic chars are deleted   */
 36                        5 red bit (1),                       /* we don't want ribbon shifts sent               */
 37                        5 tabs bit (1),                      /* whether tabs to be output as tabs or spaces    */
 38                        5 rawi bit (1),                      /* whether no processing done on input           */
 39                        5 rawo bit (1),                      /* whether no processing should be done on output */
 40                        5 handle_quit bit (1),
 41                     4 protocol_495 bit (1) unaligned,       /* whether TELNET protocol of RFC 495 is in use   */
 42                     4 allow_quits bit (1) unaligned,        /* whether or not to actually generate quits      */
 43                     4 do_telnet bit (1) unaligned,          /* whether or not to use new telnet at all        */
 44 
 45                 3 canon_info aligned like canon_info_template,
 46 
 47                 3 break_chars aligned,
 48                    4 break (0 : 511) bit (1) unaligned,
 49                 3 read_delim_chars aligned,
 50                     4 delim (0 : 511) bit (1) unaligned,
 51                 3 old_term_type fixed binary (17),          /* the terminal type which we will say we are     */
 52                 3 terminal_type_name character (32) unaligned,        /* the terminal type we are             */
 53                 3 timeout_value fixed binary (17),          /* how long we will wait for various events       */
 54 
 55              2 device_state aligned like device_state_template,
 56              2 current_terminal_state aligned,              /* current state of terminal and carriage         */
 57                 3 vacant bit (1) unaligned,                 /* "0"b = entry-in-use, "1"b = not_in_use         */
 58                 3 aborting_output bit (1) unaligned,        /* whether all current output is being thrown away          */
 59 
 60              2 attachment_info aligned,                     /* info about network attachment of this device   */
 61                 3 chan character (16) unaligned,            /* symbolic name of Network host                  */
 62                 3 connect_done bit (1) unaligned,           /* whether a connect was done at attachment       */
 63                 3 attach_modes unaligned,
 64                    4 read bit (1),                          /* whether a read channel is desired              */
 65                    4 write bit (1),                         /* whether a write channel is desired             */
 66                    4 icp bit (1),                           /* whether it is desired to connect via ICP       */
 67                    4 listen bit (1),                        /* whether it is desired to only listen to net    */
 68                    4 connect bit (1),                       /* whether it is desired to connect via RFC's     */
 69                 3 read_event_channel fixed binary (71),     /* IPC event channel for read side                */
 70                 3 write_event_channel fixed binary (71),    /* IPC event channel for write side               */
 71              2 nextp pointer,                               /* pointer to next typewriter block in chain      */
 72 
 73              2 initial_raw_buffer aligned,
 74                 3 header like byte_buffer_header,
 75                 3 workspace aligned,
 76                    4 byte (0 : 1499) bit (9) unaligned,
 77 
 78              2 output_buffer aligned,
 79                 3 header like byte_buffer_header,
 80                 3 workspace aligned,
 81                    4 byte8 (0 : 799) bit (8) unaligned,
 82 
 83              2 string_ptr pointer,
 84              2 area_ptr pointer,
 85              2 output_ptr pointer,
 86              2 rawbuffer_ptr pointer,
 87 
 88              2 option_in_effect (0 : 1),          /* 0 is receive options, 1 is transmit options              */
 89                 3 option (0 : 35) bit (1) unaligned,
 90 
 91              2 option_in_negotiation (0 : 1),
 92                 3 option (0 : 35) bit (1) unaligned,
 93 
 94              2 last_item_in_SDB bit (1) aligned;
 95 
 96      declare
 97           1 byte_buffer_header aligned based,
 98              2 info aligned,
 99                 3 area_ptr pointer,                         /* pointer to allocation area, null if not alloc  */
100                 3 lock_word bit (36) aligned,                         /* locked if non-zero                   */
101              2 buffer_bound fixed binary (24),              /* hbound of the workspace byte buffer            */
102              2 byte_offset fixed binary (24),               /* offset of first byte in workspace buffer       */
103              2 num_bytes fixed binary (24);                 /* count of valid bytes in buffer                 */
104 
105           % include net_conversion_dcls;
106 
107           /* end of "net_ascii_dim_sdb_dcls.incl.pl1" --                                  */
108