1 03/19/85  tc_io_
  2 
  3 
  4 The tc_io_ I/O module supports terminal independent I/O to the screen
  5 of a video terminal.
  6 
  7 Entry points in this module are not called directly by users; rather,
  8 the module is accessed through the I/O system interfaces iox_.
  9 
 10 
 11 Attach Description:
 12         tc_io_ {device} {-control_args}
 13 
 14 
 15 Arguments:
 16 device
 17    is the channel name of the device to be attached If a device is not
 18    given, the -login_channel control argument must be given.
 19 
 20 
 21 Control arguments:
 22 -login_channel
 23    specifies attachment to the user's primary login channel.  If a
 24    device is not specified, then the user's login channel is used.
 25    This control argument flags this switch for reconnection by the
 26    process disconnection facility.  If the user's login device should
 27    hang up, this switch will be automatically closed, detached,
 28    attached, and opened on the user's new login channel when the user
 29    reconnects, if permission to use this facility is specified in the
 30    SAT and PDT for the user.
 31 -destination DESTINATION
 32    specifies that the attached device is to be called using the address
 33    DESTINATION.  In the case of telephone auto_call lines, DESTINATION
 34    is the telephone number to be dialed.
 35 
 36 
 37 -no_block
 38    specifies that the device is to be managed asynchronously.  The tty_
 39    subroutine will not block to wait for input to be available or
 40    output space to be available.  This control argument should not be
 41    used on the login channel, because it will cause the command
 42    listener to loop calling get_chars.
 43 -no_hangup_on_detach
 44    prevents the detach entry point from hanging up the device.  This is
 45    not meaningful for the login channel.
 46 -hangup_on_detach
 47    causes the detach entry point to hang up the device automatically.
 48    This is not meaningful for the login channel.
 49 
 50 
 51 Open Operation:
 52 Opens the module for stream_input_output.
 53 
 54 
 55 Get Line Operation:
 56 The get_line operation is not supported.
 57 
 58 
 59 Control Operation:
 60 The following control orders are supported:
 61 clear_screen
 62    clears the entire terminal screen.  The info_ptr is null.  It is
 63    intended for use when the screen image may have been damaged due to
 64    communications problems, for example.
 65 get_capabilities
 66    returns information about the capabilities of the terminal.  The
 67    info structure is described in the description of the
 68    "get_capabilities" control order in the window_io_ module.
 69 get_break_table
 70    returns the current break table.  The info pointer should point to a
 71    break table, declared in window_control_info.incl.pl1.
 72 
 73 
 74 set_break_table
 75    sets the break table.  The info pointer should point to a break
 76    table as defined by the get_break_table order, above.  By default,
 77    the break table has "1"b for all nonprintable characters, and "0"b
 78    elsewhere.  Applications that set the break table must be careful to
 79    reset it afterwards, and establish an appropriate cleanup handler.
 80 set_line_speed
 81    sets the speed of the terminal's connection to Multics.  The
 82    info_ptr should point to a fixed binary number representing the line
 83    speed in characters per second.  Negative line speeds are not
 84    allowed.
 85 
 86 
 87 set_term_type
 88    changes the terminal type.  The info pointer should point to a
 89    set_term_type_info structure.  This sets
 90    window_status_pending for all windows and sets the ttp_change field
 91    in the window_status structure along with the screen_invalid.  This
 92    operation re-initializes all the terminal specific video system
 93    information such as the video sequences, length and width of the
 94    screen, and capabilities.  It is equivalent to doing "window_call
 95    revoke; stty -ttp new_terminal_type; window_call invoke", except no
 96    windows are destroyed.  The set_term_type_info structure is declared
 97    in set_term_type_info.incl.pl1.  The send_initial_string, set_modes
 98    and ignore_line_type flags are all ignored by the video system. The
 99    initial string will always be sent.
100 
101 
102 reconnection
103    determines the new terminal type (which may or may not be the same
104    as before the disconnection).  Performs a set_term_type control
105    order to inform the rest of the system of the change in terminal
106    type.  If the set_term_type fails then the
107    video_utils_$turn_off_login_channel is invoked in an attempt to
108    re-attach tty_.  Reconnection (a field in window_status) is set to
109    indicate to an application doing get_window_status that a
110    reconnection has occurred.
111 
112    The window_status_info structure is declared in
113    window_status.incl.pl1.