XPORT Root Module 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 1 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 0 1 MODULE XROOT ( IDENT = 'V1.0-10' %TITLE 'XPORT Root Module' 0 2 %BLISS32( ,ADDRESSING_MODE( EXTERNAL=LONG_RELATIVE ) ) 0 3 %BLISS36( ,ENTRY( XST$MESSAGE, XST$NULL_STRING, XST$NO_MEMORY, P 0 4 XPO$COUNT_TEMP, XPO$ELEMENT0, XPO$ERROR_IOB ),OTS='' ) 0 5 ) = 0 6 BEGIN 1 7 1 8 ! 1 9 ! COPYRIGHT (c) 1981 BY 1 10 ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 1 11 ! 1 12 ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED 1 13 ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE 1 14 ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER 1 15 ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY 1 16 ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY 1 17 ! TRANSFERRED. 1 18 ! 1 19 ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE 1 20 ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT 1 21 ! CORPORATION. 1 22 ! 1 23 ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 1 24 ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. 1 25 ! 1 26 1 27 !++ 1 28 ! 1 29 ! FACILITY: BLISS Library 1 30 ! 1 31 ! ABSTRACT: 1 32 ! 1 33 ! This module contains XPORT variables which must be in the root 1 34 ! segment of an overlay structure. 1 35 ! 1 36 ! ENVIRONMENT: User mode - multiple host operating/file systems 1 37 ! 1 38 ! AUTHOR: Ward Clark, CREATION DATE: 25 July 1980 1 39 ! 1 40 !-- XROOT XPORT Root Module 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 2 V1.0-10 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 1 42 ! 1 43 ! TABLE OF CONTENTS: 1 44 ! 1 45 1 46 ! 1 47 ! INCLUDE FILES: 1 48 ! 1 49 1 50 LIBRARY 'XPORT' ; ! Public XPORT control block and macro definitions 1 52 LIBRARY 'XPOSYS' ; ! Internal XPORT macro definitions 1 54 1 55 $XPO_SYS_TEST( $TOPS10, $TOPS20, $VMS, $11M, $RSTS, $RT11 ) ; %PRINT: This module was compiled for VAX/VMS ; %PRINT: XPORT V1.3-51 XPOSYS V1.3-16 XPO$K_VERSION = 1 XPO$K_LEVEL = 3 1 56 1 57 %IF $11M %THEN U 1 58 REQUIRE 'XRSX' ; ! XPORT-specific RSX-11 and FCS-11 interface definitions U 1 59 %FI 1 60 1 61 ! 1 62 ! MACROS: 1 63 ! 1 64 1 65 ! 1 66 ! EQUATED SYMBOLS: 1 67 ! 1 68 1 69 LITERAL 1 70 yes = 1, ! Used to set an indicator on 1 71 no = 0, ! Used to set an indicator off 1 72 1 73 max_msg_length = ! Maximum length of failure message 1 74 %BLISS16( 80 ) %BLISS32( 255 ) %BLISS36( 255 ); 1 75 1 76 1 77 %IF $TOPS20 %THEN U 1 78 GLOBAL LITERAL U 1 79 xpo$k_max_chan = 96; ! Maximum I/O JFN number U 1 80 %FI 1 81 1 82 %IF $11M %THEN U 1 83 GLOBAL LITERAL U 1 84 xrsx$k_max_lun = 15; ! Maximum FCS Logical Unit Number (LUN) U 1 85 U 1 86 LITERAL U 1 87 max_rsx_files = 4; ! Default number of concurrently opened files U 1 88 %FI 1 89 1 90 %IF $RT11 %THEN U 1 91 GLOBAL LITERAL U 1 92 xpo$k_max_chan = 14; ! Maximum I/O channel number U 1 93 %FI 1 94 1 95 ! 1 96 ! PSECT DECLARATIONS: 1 97 ! 1 98 XROOT XPORT Root Module 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 3 V1.0-10 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 1 99 $XPO_PSECTS ! Declare XPORT PSECT names and attributes 1 100 1 101 ! 1 102 ! OWN STORAGE: 1 103 ! 1 104 1 105 OWN 1 106 message_buffer : ! Failure action routine message buffer 1 107 VECTOR[ CH$ALLOCATION( max_msg_length ) ]; 1 108 1 109 GLOBAL 1 110 xst$message : $STR_DESCRIPTOR( CLASS = BOUNDED, ! Failure message buffer descriptor P 1 111 STRING = ( max_msg_length, CH$PTR( message_buffer ) ) ), 1 112 1 113 xst$null_string : $STR_DESCRIPTOR( STRING = '' ), ! FIXED null string 1 114 1 115 xst$no_memory : $STR_DESCRIPTOR( CLASS = FIXED ) ! Fixed erroneous temporary string descriptor 1 116 PRESET( [STR$B_DTYPE] = STR$K_DTYPE_XXX, 1 117 [STR$B_CLASS] = STR$K_CLASS_F, 1 118 [STR$A_POINTER] = XPO$_NO_MEMORY ); 1 119 1 120 %IF $TOPS10 OR $TOPS20 OR $RT11 OR $RSTS %THEN U 1 121 GLOBAL U 1 122 xpo$count_temp : INITIAL( 0 ); ! Count of temporary files created U 1 123 %FI 1 124 1 125 %IF NOT $VMS %THEN U 1 126 GLOBAL U 1 127 xpo$element0 : $XPO_FREE_ELEMENT ! Dummy free element descriptor to head free storage chain U 1 128 PRESET( [XPO$H_FREE_SIZE] = 0, U 1 129 [XPO$A_FREE_LINK] = 0 ); U 1 130 %FI 1 131 1 132 %IF $11M OR $RSTS OR $RT11 %THEN U 1 133 GLOBAL U 1 134 xpo$pool_alloc : INITIAL( no ); ! yes = dynamic memory pool has been allocated U 1 135 %FI 1 136 1 137 %IF $TOPS20 %THEN U 1 138 GLOBAL U 1 139 x20$buffer_cb : ! Buffer control block for each channel U 1 140 BLOCKVECTOR[ xpo$k_max_chan+1, 3 ] U 1 141 INITIAL( REP 3 * (xpo$k_max_chan+1) OF (0) ); U 1 142 %FI 1 143 1 144 %IF $RT11 %THEN U 1 145 GLOBAL U 1 146 xpo$channels : BITVECTOR[ xpo$k_max_chan + 1 ] ! I/O channel assignment vector U 1 147 PRESET( [xpo$k_max_chan] = 0 ), U 1 148 xrt$buffer_cb : ! Buffer control block for each channel U 1 149 BLOCKVECTOR[ xpo$k_max_chan+1, 4 ] U 1 150 INITIAL( REP 4 * (xpo$k_max_chan+1) OF (0) ); U 1 151 %FI 1 152 1 153 %IF $TOPS10 OR $TOPS20 %THEN U 1 154 GLOBAL U 1 155 xpo$error_iob : $XPO_IOB() ! IOB for standard error message output XROOT XPORT Root Module 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 4 V1.0-10 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 U 1 156 PRESET( [IOB$V_OPEN] = no ); U 1 157 %FI 1 158 1 159 %IF $11M %THEN U 1 160 GLOBAL U 1 161 xrsx$ti0_lun : INITIAL( 1 ), ! LUN for user's terminal U 1 162 U 1 163 xrsx$event_flag : INITIAL( 32 ), ! XPORT QIO/FCS event flag number U 1 164 U 1 165 xrsx$ok_fsr : INITIAL( no ), ! FCS File Storage Region (FSR) initialization indicator U 1 166 U 1 167 xrsx$lun_vector : BITVECTOR[ xrsx$k_max_lun + 1 ]; ! FCS Logical Unit Number (LUN) assignment vector U 1 168 %FI 1 169 1 170 ! 1 171 ! EXTERNAL REFERENCES: 1 172 ! 1 173 1 174 %IF $11M %THEN U 1 175 ROUTINE dummy : NOVALUE = U 1 176 BEGIN U 1 177 FSRSZ$( max_rsx_files ); ! FCS File Storage Region - declared here rather than at U 1 178 ! module level since the FSRSZ$ macro must appear in U 1 179 ! executable code. U 1 180 RETURN U 1 181 END; U 1 182 %FI 1 183 END 1 184 ELUDOM XROOT Machine Code Listing 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 5 V1.0-10 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 .psect _XPO$DATA, CON, LCL, NOSHR, NOEXE, WRT, NOVEC .lcomm MESSAGE_BUFFER, 256, 16 .global XST$MESSAGE .lcomm XST$MESSAGE, 12, 16 .global XST$NULL_STRING .lcomm XST$NULL_STRING, 8, 8 .global XST$NO_MEMORY .lcomm XST$NO_MEMORY, 8, 8 .lcomm P.AAA, 0, 1 .psect _XPO$DATA, CON, LCL, NOSHR, NOEXE, WRT, NOVEC .global XST$MESSAGE XST$MESSAGE: 00 0100 data1 0x0 : 2 // data1 0 0E 0102 data1 0xE // data1 14 03 0103 data1 0x3 // data1 3 00000000 0104 data4 MESSAGE_BUFFER 00FF 0108 data2 0xFF // data2 255 .global XST$NULL_STRING XST$NULL_STRING: 0000 010C data2 0x0 // data2 0 0E 010E data1 0xE // data1 14 01 010F data1 0x1 // data1 1 00000000 0110 data4 P.AAA .global XST$NO_MEMORY XST$NO_MEMORY: 00 0114 data1 0x0 : 2 // data1 0 00 0116 data1 0x0 // data1 0 01 0117 data1 0x1 // data1 1 0020A17A 0118 data4 0x20A17A // data4 2138490 ; Library Statistics ; ; -------- Symbols -------- Pages ; File Total Loaded Percent Mapped ; ; DISK$NORMS_OWN:[LASTOVICA.XPORT.VMSGEN]XPORT.L32;14 ; 590 24 4 270 ; DISK$NORMS_OWN:[LASTOVICA.XPORT.VMSGEN]XPOSYS.L32;14 ; 91 9 9 27 Source Listing 4-FEB-2004 11:01:41 BLISS-32I T1.1-053 Page 6 Source Listing 19-MAR-2002 10:12:26 [LASTOVICA.XPORT.VMSGEN]XROOT.BLI;1 COMMAND LINE: BLISSXROOT/VARIANT=3/LIST/DEBUG