/* BEGIN INCLUDE FILE tc_operations_.incl.pl1 BIM May 1981 */ /* Modified 7 February 1985 by Jon Rochlis to add saved_ips_mask to request_header. */ /* format: style3 */ /* These are the operations that the "virtual video terminal" is expected to provide. These are the primitive operation. For example, the various flavors of region clearing are collapsed into "clear region". The particular operations of clear screen, clear to end of screen, and clear to end of line are special cases which will be used when terminal functionality permits. Of course, at the user interface level, these are provided as convienience. This introduces the innefficiency of mapping CLEOL -> CL-REGION -> CLEOL. However, CLEOL _i_n _a _w_i_n_d_o_w does not always mean CLEOL on the screen. It will not unless the window is full width, or happens to be rightmost. Similiarly, a user call of CLEAR_WINDOW is just a region to the terminal. */ declare request_ptr pointer; declare REQUEST_SENTINEL character (4) aligned init ("RqqS") internal static options (constant); declare 1 request_header aligned based (request_ptr), 2 sentinel character (4) aligned, 2 request_id fixed bin (71), /* Clock Value */ 2 window_id bit (36) aligned, 2 coords aligned like r_coords, 2 operation fixed bin, 2 flags aligned, 3 async_interruption bit (1) unaligned, /* Output */ 3 this_window bit (1) unaligned, /* ditto */ 2 saved_ips_mask bit (36) aligned; /* so tc_block can restore mask from window_io_ */ declare 1 r_coords aligned based, 2 row fixed bin, 2 col fixed bin; declare OP_ERROR fixed bin initial (0) internal static options (constant); declare OP_POSITION_CURSOR fixed bin initial (1) internal static options (constant); declare OP_CLEAR_REGION fixed bin initial (2) internal static options (constant); /* This next one is for the TC operation of clearing terminal without any assumptions, used when the user indicates screen damage, or on reconnection. */ declare OP_CLEAR_SCREEN_NO_OPT fixed bin init (4) internal static options (constant); declare 1 request_clear_region aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, 3 extent aligned, 4 rows fixed bin, 4 columns fixed bin; declare OP_INSERT_TEXT fixed bin initial (3) internal static options (constant); declare 1 request_text aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, 3 text_ptr pointer, 3 text_length fixed bin (21); declare request_text_string character (request_text.text_length) based (request_text.text_ptr); declare OP_DELETE_CHARS fixed bin initial (6) internal static options (constant); declare 1 request_delete_chars aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, 3 count fixed bin; declare OP_SCROLL_REGION fixed bin initial (7) internal static options (constant); declare 1 request_scroll_region aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, 3 start_line fixed bin, 3 n_lines fixed bin, 3 distance fixed bin; declare OP_BELL fixed bin initial (8) internal static options (constant); declare OP_GET_CHARS_ECHO fixed bin initial (9) internal static options (constant); declare OP_GET_CHARS_NO_ECHO fixed bin initial (10) internal static options (constant); declare OP_WRITE_SYNC_GET_CHARS_NO_ECHO fixed bin initial (11) internal static options (constant); declare 1 request_read_status aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, /* not used as such */ 3 returned_length fixed bin, 3 event_channel fixed bin (71); declare 1 request_read aligned based (request_ptr), 2 header aligned like request_header, 2 by_name aligned, 3 buffer_ptr pointer, 3 buffer_length fixed bin (21), 3 returned_length fixed bin (21), 3 returned_break_flag bit (1) aligned, 3 prompt_ptr pointer, 3 prompt_length fixed bin (21), 3 breaks bit (128) unaligned; declare request_prompt character (request_read.prompt_length) based (request_read.prompt_ptr); declare request_buffer character (request_read.buffer_length) based (request_read.buffer_ptr); declare OP_GET_CURSOR_POSITION fixed bin initial (12) internal static options (constant); declare OP_READ_STATUS fixed bin initial (13) internal static options (constant); declare OP_OVERWRITE_TEXT fixed bin initial (14) internal static options (constant); declare OP_WRITE_RAW fixed bin initial (15) internal static options (constant); declare OP_READ_ONE fixed bin initial (16) internal static options (constant); /* use request_read, and return the character in the buffer there */ /* pass the BLOCK flag in in break_flag. Well... */ /* END INCLUDE FILE tc_operations_.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 */