COMPILATION LISTING OF SEGMENT iox_signal_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 0958.5 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* format: style2 */ 14 iox_signal_: 15 procedure (switch, code) options (support); 16 17 /* This procedure signals io_error for iox_. */ 18 19 20 /* Coded 8/73 by M. Weaver 21* Last modified (date and reason): 22* Aug 9, 1977 by S. Webber to make better use of static storage 23* Oct 28,1977 by M. R. Jordan to make io_status fixed bin(35) rather than bit(72) aligned 24* April 1981 by Benson I. Margulies to rename to iox_signal_ for iox_. 25* May 1982 by C. Hornig to use an IOCB pointer. 26**/ 27 28 /* this program is called by routines that use iox_, but have no 29* status code in which to return their displeasure. The existing 30* examples are ioa_ and listen_ */ 31 32 declare switch pointer parameter; 33 declare code fixed bin (35) parameter; 34 declare (addr, null, size) builtin; 35 36 declare signal_ entry options (variable); 37 1 1 /* Begin include file: io_error_info.incl.pl1 BIM April 1981 */ 1 2 /* This depends on condition_info_header.incl.pl1 */ 1 3 /* format: style2 */ 1 4 1 5 declare io_error_info_ptr pointer; 1 6 declare 1 io_error_info aligned based (io_error_info_ptr), 1 7 2 header aligned like condition_info_header, 1 8 2 switch_name char (32), 1 9 2 status, 1 10 3 code fixed bin (35), 1 11 3 IOS_status_bits bit (36); /* for compatability */ 1 12 1 13 /* end include file, io_error_info.incl.pl1 */ 38 2 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 2 2 /* format: style2 */ 2 3 2 4 declare condition_info_header_ptr 2 5 pointer; 2 6 declare 1 condition_info_header 2 7 aligned based (condition_info_header_ptr), 2 8 2 length fixed bin, /* length in words of this structure */ 2 9 2 version fixed bin, /* version number of this structure */ 2 10 2 action_flags aligned, /* tell handler how to proceed */ 2 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 2 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 2 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 2 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 2 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 2 16 3 pad bit (32) unaligned, 2 17 2 info_string char (256) varying, /* may contain printable message */ 2 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 2 19 2 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 39 40 declare 1 io_err_info aligned like io_error_info automatic; 41 42 /* fill in info structure */ 43 44 io_err_info.length = size (io_err_info); 45 io_err_info.version = 1; 46 string (io_err_info.action_flags) = ""b; 47 io_err_info.info_string = "Could not do I/O on switch."; 48 io_err_info.status_code = 0; 49 io_err_info.switch_name = switch -> iocb.name; 50 io_err_info.status.code = code; 51 io_err_info.status.IOS_status_bits = ""b; 52 53 call signal_ ("io_error", null (), addr (io_err_info)); 54 /* if returned to, try again */ 55 56 return; 57 3 1 /* BEGIN INCLUDE FILE ..... iocb.incl.pl1 ..... 13 Feb 1975, M. Asherman */ 3 2 /* Modified 11/29/82 by S. Krupp to add new entries and to change 3 3* version number to IOX2. */ 3 4 /* format: style2 */ 3 5 3 6 dcl 1 iocb aligned based, /* I/O control block. */ 3 7 2 version character (4) aligned, /* IOX2 */ 3 8 2 name char (32), /* I/O name of this block. */ 3 9 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 3 10 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 3 11 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 3 12 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 3 13 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 3 14 2 reserved bit (72), /* Reserved for future use. */ 3 15 2 detach_iocb entry (ptr, fixed (35)),/* detach_iocb(p,s) */ 3 16 2 open entry (ptr, fixed, bit (1) aligned, fixed (35)), 3 17 /* open(p,mode,not_used,s) */ 3 18 2 close entry (ptr, fixed (35)),/* close(p,s) */ 3 19 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 3 20 /* get_line(p,bufptr,buflen,actlen,s) */ 3 21 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 3 22 /* get_chars(p,bufptr,buflen,actlen,s) */ 3 23 2 put_chars entry (ptr, ptr, fixed (21), fixed (35)), 3 24 /* put_chars(p,bufptr,buflen,s) */ 3 25 2 modes entry (ptr, char (*), char (*), fixed (35)), 3 26 /* modes(p,newmode,oldmode,s) */ 3 27 2 position entry (ptr, fixed, fixed (21), fixed (35)), 3 28 /* position(p,u1,u2,s) */ 3 29 2 control entry (ptr, char (*), ptr, fixed (35)), 3 30 /* control(p,order,infptr,s) */ 3 31 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 3 32 /* read_record(p,bufptr,buflen,actlen,s) */ 3 33 2 write_record entry (ptr, ptr, fixed (21), fixed (35)), 3 34 /* write_record(p,bufptr,buflen,s) */ 3 35 2 rewrite_record entry (ptr, ptr, fixed (21), fixed (35)), 3 36 /* rewrite_record(p,bufptr,buflen,s) */ 3 37 2 delete_record entry (ptr, fixed (35)),/* delete_record(p,s) */ 3 38 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 3 39 /* seek_key(p,key,len,s) */ 3 40 2 read_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 3 41 /* read_key(p,key,len,s) */ 3 42 2 read_length entry (ptr, fixed (21), fixed (35)), 3 43 /* read_length(p,len,s) */ 3 44 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 3 45 /* open_file(p,mode,desc,not_used,s) */ 3 46 2 close_file entry (ptr, char (*), fixed bin (35)), 3 47 /* close_file(p,desc,s) */ 3 48 2 detach entry (ptr, char (*), fixed bin (35)); 3 49 /* detach(p,desc,s) */ 3 50 3 51 declare iox_$iocb_version_sentinel 3 52 character (4) aligned external static; 3 53 3 54 /* END INCLUDE FILE ..... iocb.incl.pl1 ..... */ 58 59 60 end iox_signal_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0805.2 iox_signal_.pl1 >spec>install>1111>iox_signal_.pl1 38 1 01/06/82 2206.2 io_error_info.incl.pl1 >ldd>include>io_error_info.incl.pl1 39 2 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 58 3 05/20/83 1846.4 iocb.incl.pl1 >ldd>include>iocb.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. IOS_status_bits 116 000100 automatic bit(36) level 3 dcl 40 set ref 51* action_flags 2 000100 automatic structure level 3 dcl 40 set ref 46* addr builtin function dcl 34 ref 53 53 code 115 000100 automatic fixed bin(35,0) level 3 in structure "io_err_info" dcl 40 in procedure "iox_signal_" set ref 50* code parameter fixed bin(35,0) dcl 33 in procedure "iox_signal_" ref 14 50 condition_info_header based structure level 1 dcl 2-6 header 000100 automatic structure level 2 dcl 40 info_string 3 000100 automatic varying char(256) level 3 dcl 40 set ref 47* io_err_info 000100 automatic structure level 1 dcl 40 set ref 44 53 53 io_error_info based structure level 1 dcl 1-6 iocb based structure level 1 dcl 3-6 length 000100 automatic fixed bin(17,0) level 3 dcl 40 set ref 44* name 1 based char(32) level 2 dcl 3-6 ref 49 null builtin function dcl 34 ref 53 53 signal_ 000010 constant entry external dcl 36 ref 53 size builtin function dcl 34 ref 44 status 115 000100 automatic structure level 2 dcl 40 status_code 104 000100 automatic fixed bin(35,0) level 3 dcl 40 set ref 48* switch parameter pointer dcl 32 ref 14 49 switch_name 105 000100 automatic char(32) level 2 dcl 40 set ref 49* version 1 000100 automatic fixed bin(17,0) level 3 dcl 40 set ref 45* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. condition_info_header_ptr automatic pointer dcl 2-4 io_error_info_ptr automatic pointer dcl 1-5 iox_$iocb_version_sentinel external static char(4) dcl 3-51 NAME DECLARED BY EXPLICIT CONTEXT. iox_signal_ 000023 constant entry external dcl 14 NAME DECLARED BY CONTEXT OR IMPLICATION. string builtin function ref 46 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 134 146 103 144 Length 356 103 12 173 31 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME iox_signal_ 164 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME iox_signal_ 000100 io_err_info iox_signal_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return_mac ext_entry set_support THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. signal_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000017 44 000031 45 000033 46 000035 47 000036 48 000043 49 000044 50 000052 51 000054 53 000055 56 000102 ----------------------------------------------------------- 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