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.