/* BEGIN INCLUDE FILE: mowse_io_data.incl.pl1 * * * * * * * * * * * * */ /****^ HISTORY COMMENTS: 1) change(87-04-16,Flegel), approve(87-07-15,MCR7580), audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): Created. 2) change(87-06-23,Flegel), approve(87-06-23,MCR7649), audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): Converted to support the use of event channels. 3) change(88-10-06,Flegel), approve(88-11-16,MCR8023), audit(88-12-12,Lee), install(89-01-24,MR12.3-1012): phx21215 - Added mowse_io_data.channel_info.foreground to use to generate events when something happens in the foreground. END HISTORY COMMENTS */ /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ dcl mowse_io_data_ptr ptr; dcl 01 mowse_io_data based (mowse_io_data_ptr), 02 open_descrip char (19) var, 02 iocb_ptr ptr aligned, /* mowse_tty iocb pointer */ 02 default_iocb_ptr ptr aligned, /* mowse_i/o iocb pointer */ 02 attach_descrip char (256) var, /* Attach description */ 02 old_modes char (256) unal, /* Modes on previous iocb */ 02 current_modes char (256) unal, /* Current mode settings */ 02 WSTERM_modes (11) char (1), /* Encoded modes for WSTERM */ 02 cv_trans_struc_ptr ptr, /* Conversion table pointer */ 02 info_ptr ptr, /* Application control info seg */ 02 mcb_ptr ptr, /* Internal MCB to MOWSE */ 02 sleepers ptr, /* Queue of sleeping applications */ 02 dozers fixed bin (35), /* Number of unhandled sleeper wakeups */ 02 ws, /* Vidoe system control */ 03 flags, 04 trace bit (1) unal, 04 debug bit (1) unal, 04 mark_set bit (1) unal, 04 video_mode bit (1) unal, /* State (on/off) of video */ 04 more_input bit (1) unal, /* Last read unfinished */ 04 pad bit (31) unal, 03 read_count fixed bin (17), /* count of unfinished read commands sent */ 03 ips_mask bit (36) aligned, 02 sus_data, /* sus_ information */ 03 sus_entry ptr, /* Saved sus_ signal handler */ 03 activated bit (1) unal, /* If sus_ has been signaled */ 03 pad bit (35) unal, 02 channel_info, /* Event channel info */ 03 process_id bit (36) aligned, /* This process */ 03 wake_info, 04 wake_map (0:127) bit (1) unal, /* Break chars */ 04 pad bit (16) unal, 03 user_input like wait_info, /* Input wait channel */ 03 packet_transmitter like wait_info, /* Write events */ 03 packet_receiver, /* hcs_ events */ 04 channel fixed bin (71), /* Channel id */ 03 packet_dispatcher, /* Dispatch channels */ 04 sync_channel fixed bin (71), /* Process when quiet */ 04 async_channel fixed bin (71), /* Process NOW! */ 03 foreground, /* MF - phx21215 - read/write_status, get_event_channel info */ 04 channel fixed bin (71), /* Event channel */ 02 debug_iocb_ptr ptr, /* Debug file IOCB */ 02 trace_iocb_ptr ptr, /* Trace file IOCB */ 02 timer_info (8), 03 wakeup fixed bin (71), /* Seconds from last in queue */ 03 timer_id fixed bin, /* Who owns this wakeup */ 02 switches, /* Control switches */ 03 quit_enable bit (1) unal, /* Quit processing state */ 03 reset_write bit (1) unal, /* resetwrite requested */ 03 disconnect_active bit (1) unal, /* Disconnection occuring */ 03 rs_pending (2) bit (1) unal, /* Reset occuring */ 03 ds_pending (2) bit (1) unal, /* Disconnect occuring */ 03 br_pending bit (1) unal, /* Break occurring */ 03 brk_pending bit (1) unal, /* Break occuring (quit) */ 03 info_stored bit (1) unal, /* Info segment stored */ 03 connect_active bit (1) unal, /* Connection in progress */ 03 start_issued bit (1) unal, /* Indicates start order pending */ 03 pad bit (24) unal, 02 task, 03 active (0:2) bit (1) unal, /* Tasks which are active */ 03 pad bit (33) unal, 02 user_input, /* User_i/o input data */ 03 in fixed bin (21), /* Next free slot in repository */ 03 out fixed bin (21), /* Head of data */ 03 queue (0:4095) char (1), /* Repository */ 02 l_dat (0:1), /* Local data message queue */ 03 in_ptr ptr, /* Incoming messages */ 03 out_ptr ptr, /* Outgoing messages */ 02 r, /* Receiver data */ 03 eop char (1), /* End of packet character */ 03 sop char (1), /* Start of packet character */ 03 esc (0:2) char (1), /* 3 escape characters */ 03 esc_count fixed bin, /* Number of escaped chars in received packet */ 03 asn (0:1) fixed bin (3), /* Acknowledge sequence number */ 03 dat (0:1, 0:3) char (124) var, /* Data queues */ 03 pkt (0:2) char (129) var, /* Packet queue */ 03 pktin fixed bin, /* Next packet character in */ 03 pktout fixed bin, /* Head of packet */ 03 psn (0:1) fixed bin, /* SN for each channel */ 03 esckey bit (9) unal, /* Decoding 2nd character escape */ 03 ignoring (0:1) bit (1) unal, /* Ignore data during synchronization */ 03 pad bit (25) unal, 02 s, /* Sender data */ 03 eop char (1), /* End of packet character */ 03 sop char (1), /* Start of packet character */ 03 esc (0:2) char (1), /* 3 escape characters */ 03 dat (0:1, 0:3) char (124) var, /* Data queue */ 03 psn (0:1) fixed bin (3), /* Packet sequence number */ 03 lasn (0:1) fixed bin (3), /* Last ack sent */ 03 nasn (0:1) fixed bin (3), /* Next ack to be sent */ 03 escreq (0:255) bit (1) unal, /* Characters to be escaped */ 03 pad bit (32) unal; /* Wait channel control struncture */ dcl 01 wait_info based, 02 channel fixed bin (71) aligned, /* Channel ID */ 02 count fixed bin, /* Waiting count */ 02 flags, 03 transmitted bit (1) unal, /* Wakeup already generated */ 03 pad bit (35) unal; /* END INCLUDE FILE: mowse_io_data.incl.pl1 * * * * * * * * * * * * */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */