1 /****^  ***********************************************************
 2         *                                                         *
 3         * Copyright, (C) Honeywell Bull Inc., 1987                *
 4         *                                                         *
 5         * Copyright, (C) Honeywell Information Systems Inc., 1981 *
 6         *                                                         *
 7         * Copyright (c) 1972 by Massachusetts Institute of        *
 8         * Technology and Honeywell Information Systems, Inc.      *
 9         *                                                         *
10         *********************************************************** */
11 
12 
13 
14 
15 /****^  HISTORY COMMENTS:
16   1) change(86-12-17,LJAdams), approve(86-12-17,MCR7485),
17      audit(86-12-19,Margolin), install(87-01-06,MR12.0-1255):
18      Modified to support MOWSE.
19   2) change(86-12-17,LJAdams), approve(86-12-17,MCR7584),
20      audit(86-12-19,Margolin), install(87-01-06,MR12.0-1255):
21      Modified to support DSA.
22   3) change(87-01-05,LJAdams), approve(87-01-05,MCR7485),
23      audit(87-01-05,Blair), install(87-01-06,MR12.0-1255):
24      Initialize tc_data_ptr.
25                                                    END HISTORY COMMENTS */
26 
27 
28 /* Understander of disconnections for Terminal Control */
29 /* Benson I. Margulies, sometime in 1981 */
30 /* format: style2,linecom,^indnoniterdo,indcomtxt,^inditerdo,dclind5,idind25 */
31 tc_disconnect:
32      procedure;
33           return;
34 
35           declare error_table_$io_no_permission
36                                            external static fixed bin (35);
37 
38           declare (addr, currentsize, null, string)
39                                            builtin;
40 
41           declare Code                     fixed bin (35);
42           declare TC_data_ptr              pointer;
43           declare signal_                  entry () options (variable);
44 
45 %include condition_info_header;
46 %include tc_disconnect_info;
47           declare 1 tcdi                   aligned like tc_disconnect_info;
48 %include tc_data_;
49 %include net_event_message;
50 ^L
51 
52 check:
53      entry (TC_data_ptr, Code);
54 
55           if Code ^= error_table_$io_no_permission
56           then return;
57 
58           tc_data_ptr = TC_data_ptr;
59 
60           string (tcdi.action_flags) = ""b;
61           tcdi.length = currentsize (tcdi);
62           tcdi.cant_restart = "1"b;
63           tcdi.info_string = "A terminal managed by video terminal control has hungup.";
64           tcdi.status_code = 0;
65           tcdi.tc_data_ptr = TC_data_ptr;
66           if tc_data.network_type = DSA_NETWORK_TYPE
67           then tcdi.tty_handle = tc_data.tty_handle;
68           else if tc_data.network_type = MOWSE_NETWORK_TYPE
69           then tcdi.mowse_terminal_iocb_ptr = tc_data.mowse_terminal_iocb_ptr;
70           else tcdi.devx = tc_data.devx;
71           call signal_ ("terminal_control_disconnection_", null (), addr (tcdi));
72           return;
73      end tc_disconnect;