% VAX-11 Librarian V03-00b x`oS<YYYY-;;5`ACNETASASKBADXBATCHBCK<BRUBUILDERDBURSTFNCCCDACLEH CLEXTRACTCLIBDOCCMPCNV#COMPILER*CTOOLS: DAYOFWEEK;DEF=(DELTREE=DFNBDMPHDSCUDSPWfDTOATIMEYEDITSET[ERRHELP\ETAPEjF77 F77OTS4 FAO_codesjFERMILIB<FILENAME 8FLX+FORK.FPRETTY0 FTNCODCNT2 GET_BOOT_TIME3HELPDOC F77OTS4 FAO_codesjFERMILIB<FILENAME 8FLX+FORK.FPRETTY5FTB0 FTNCODCNTFFTPRINT2 GET_BOOT_TIME3HELPDOC5HOME6zIFLK Include_filesLBRDLCPRINT< Logical_NamesMAC MACCODCNT<MacrosMAKEADDLVMCRFORKPNEWS,NOTICENPRINTODTPASCAL22PASMATPFMONPIP PORTLINESPROCREFRESEQRETAB XRST#*RSX!F77PASMATZAPDRENAME|PASXREFPATPBPFMONPIP PORTLINESPROCREFRESEQRETAB XRST#*RSX% RSXHELP%SCHSET&nSETADM3'SETLA120'SETNAME(:SETxx(.SWINDOW)TIMEVTKBUSERSl USRDIRLSTx VAX$AP_LIB`VAXAPLIBH VAX_TO_VAXVFYtVMR`VTM WILDRENAME@ZAP Quw1 ACNETF VAX/VMS ACNET network service macros (and some additional macros) are9 to be found in the macro library SYS$LIBRARY:VAXNET.MLB.I The VAX/VMS ACNET User Task Interface routines are in the object libraryH SYS$LIBRARY:VAXNETUTI.OLB and in the shareable image SYS$SHARE:UTI.EXE.E Use the shareable image by using the following LINK options with the following as an example:# $ LINK ...,...,SYS$INPUT:/OPTIONS ...2 SYS$SHARE:UTI/SHARE,SYS$LIBRARY:VAXNETUTI/LIB RARYH Alternately, if the only options to be specified are those for the UTI,I then the options file VAXNETUTI.OPT in SYS$LIBRARY may be used as shown:. $ LINK ...,...,SYS$LIBRARY:VAXNETUTI/OPTIONS 2 $JRADIX50 $JRADIX50 tskstrE Convert a 1-6 character ASCII string to a Radix-50 longword returnedE returned in register R0. Conversion stops on the first non-Radix-50D character in the input string or if the maximum of 6 characters hasC been converted to Radix-50. If the input is specified by a stringF descriptor, then the string length in the descriptor (if less than 6)C will also terminate the conversion. If less than 6 characters areA used, the returned Radix-50 is equivalent to the used input text< padded on the right by spaces. Calls the JRADIX50 routine.? tskstr address of a string descriptor describing the inputA text string OR the address of a the input text itself> (in this case there must be 6 characters or a non-;  Radix-50 character terminating the input text). 2 $NET_CAN $NET_CAN reqidadr( Cancel a specified outstanding request.& Calls the NTV_CANCEL_REQUEST routine.@ reqidadr address of a word which must contain a vaild request? identification code of the request to be cancelled. 2 $NET_CNCT $NET_CNCT [tsknam]D Connect a process to the network or specify a new network task name9 for a connected process. Calls the NTV_CONNECT routine.A tsknam lo ngword giving the network task name under which theC user process is to be connected to the network. This isD given as 6 Radix-50 characters in the longword. If thisE argument is defaulted, then the first 6 characters of theB process name are converted to Radix-50 and used as the network task name. B NOTE: If the tsknam argument is defaulted and the user process is@ already connected, then no action is taken. In particular, the8 network task name is not changed to the "default" name! 2 $NET_CREQD $NET_CREQ rpyidadr,[lenadr],[nodadr],[flgadr],[reqidadr],[srcadr]6 Check on receipt of a request or unsolicited message.% Calls the NTV_CHECK_REQUEST routine.E rpyidadr address of a word in which the reply identification valueE is returned. The reply identification is to be used whenC sending the reply to a request. A zero is returned for/ unsolicited (non-request) messages.C lenadr address of a word in which the length of the request orD unsolicited message is returned. The length is given in words.C nodadr address of a byte in which the destination logical nodeG number of the message (request or unsolicited) is returned.E flgadr address of a word in which the message flags are returnedE in the lower byte. See the UAB flags byte for the format the lower byte.D reqidadr address of a word in which the request identification isC returned (for unsolicited messages, the contents of theD message identification field from the message header are returned).E srcadr address of a word in which the source logical node (lowerG byte) and source logical task id (upper byte) are returned. 2 $NET_CRPY3 $NET_CRPY reqidadr ,[lenadr] ,[flgadr] ,[stsadr]8 Check on the receipt of a reply to a specified request.# Calls the NTV_CHECK_REPLY routine.@ reqidadr address of a word which must contain a vaild requestC identification code of the request for which a reply is checked.C lenadr address of a word in which the length (in words) of the reply is returned.E flgadr address of a word in which the message flags are returnedE in the lower byte. See the UAB flags byte for the format of this byte.D stsadr address of a byte in which the reply status is returned. 2 $NET_DCNT_S $NET_DCNT_SD Disconnect the process from the network eliminating all outstanding? requests. The delivery of replies and requests or unsolicitedA messages (for RUM-connected processes) is halted. Only the "_S"B form is defined for $NET_DCNT. Calls the NTV_DISCONNECT routine. 2 $NET_GTID$ $NET_GTID [lognode],[tsknam],tskidI Return the logical task id for a particular network task on this or some/ other node. Calls the NTV_GET_TASKID routine.F lognode logical node for which information is to be returned. The5 default is to use the current local node.D tsknam longword with the Radix-50 representation of the networkB task name whose logical task id is to be returned. If@ this is defaulted, the network task name of the userB process itself (must be connected to the network) will be used.G tskid address of a byte in which the logical task id is returned. 2 $NET_GTNM% $NET_GTNM [lognode],[tskid],tsknamI Return the network task name for a network task connected to a specified- node and having a specified logical task id.$ Calls the NTV_GET_TASKNAME routine.F lognode logical node for which information is to be returned. The5 default is to use the current local node.F tskid logical task id for which the task name is to be returned.G If defaulted then logical task id 0 is used and the network9 name returned is that of ACNET (in Radix-50).@ tsknam Address of a longword in which the network task nameA associated with the logical task id is returned (as 6! Radix-50 characters). 2 $NET_RREQ- $NET_RREQ [reqadr],[maxlen],[efn],[astadr]F Receive request - change the parameters (buffer, AST, etc.) concernedB with receiving requests and unsolicited messages. Initially usedG after a NET_CONNECT) to specify a RUM-sty le connect and allow the user6 process to receive requests and unsolicited messages.' Calls the NTV_RECEIVE_REQUEST routine.E reqadr address of the buffer in which the request or unsolicited* message contents are returned.? maxlen length of the above buffer (in words) specifies theA maximum accepted length of the request or unsolicited= message contents capable of being fully received.E efn event flag number to be set when a request or unsolicited message is received.E astadr address of a user AST routine to be called when a request/ or unsolicited message is received. 2 $NET_RRPY6 $NET_RRPY reqidadr,[rpyadr],[maxlen],[efn],[astadr]D Receive reply - change the parameters (buffer, AST, etc.) concerned> with receiving replies. Calls the NTV_RECEIVE_REPLY routine.@ reqidadr address of a word which must contain a vaild requestB identification code of the request for which the reply+ receive parameters are changed.E rpyadr address of the buffer in which the reply message contents are returned.? maxlen length of the above buffer (in words) specifies theB maximum accepted length of the reply message contents.? efn event flag number to be set when a reply message is received.C astadr address of a user AST routine to be called when a reply message is received. 2 $NET_SEND- $NET_SEND [lognode],[tsknam],msgadr,msglen: Send an unsolicited message. Calls the NTV_SEND routine.A lognode byte giving the destination logical node number. The@ default is the current (default) logical node of the local system.< tsknam longword with the Radix-50 representation of the? network task name of the destination task. If this< argument is defaulted, then the destination task" name of ACNET is used.@ msgadr address of the buffer containing the user data to be< sent as the contents of the unsolicited message.- msglen length of the user data in words. 2 $NET_SREQ@ $NET_SREQ [lognode],[tsknam],[reqflg],reqadr,reqlen,reqidadr,) rpyadr,maxlen,[efn],[astadr]= Send a request message. Calls the NTV_SEND_REQUEST routine.A lognode byte giving the destination logical node number. The@ default is the current (default) logical n ame of the local system.F tsknam a longword with the Radix-50 representation of the networkC task name of the destination task. If this argument isB defaulted, then ACNET is used as the destination task.D reqflg a word of bit flags (only the lower byte currently used)B to select options for the request. The symbols givingE the bit masks of the flags (the position symbol names are0 defined in the standard manner) are:< REQ_M_MULTRPY Multiple replies are expected0 for this request.= REQ_M_NOBSYWT Request is not to be queued if= the receiver is busy. Instead@ an error reply is to be returned.E reqadr address of the buffer containing the user data to be sent+ as the contents of the request.< reqlen length of the user data of the request in words.F req idadr address of a word in which the request identification code is returned.D rpyadr address of the buffer in which the contents of the reply0 (to the request) are to be returned.A maxlen length of the reply buffer in words. This limits the@ maximim accepted size of the reply message contents.? efn event flag number to be set when a reply message is received.C astadr address of a user AST routine to be called when a reply message is received. 2 $NET_SRPY9 $NET_SRPY rpyidadr,[rpyflg],[rpyadr],[rpylen],[rpysts]> Send a reply to a request. Calls the NTV_SEND_REPLY routine.A rpyidadr address of a word containing the reply identification codeD rpyflg a word of bit flags (only the lower byte currently used)B to select options for the reply or to override requestC options. The symbols giving the bit masks of the flags are: 5 RPY_M_ERRACK -Not implemented yet.-@ RPY_M_ENDMULT Indicates this is the final reply> and terminates a multiple reply' request.= RPY_M_LOCKED Request receive buffer is left= locked if it was locked by the: request for which this is a% reply.E rpyadr address of the buffer containing the user data to be sent1 as the contents of the reply message.: rpylen length of the user data of the reply in words.C rpysts a word contain the status to be returned with the reply9 (the default status is 0 for normal/success). 2 $NET_STAT_S $NET_STAT_S statusB Convert the 1-byte reply status into a 32-bit VMS completion code@ to be returned as the completion code for NET_STATUS. Only the- "_S" form of the $NET_STAT macro is defined. Cal ls the NTV_STATUS routine.! status 1-byte reply status.2 $NET_STS16_S $NET_STS16_S status= Convert the a 32-bit VMS completion code into a 16-bit ACNET= Global Status which is returned in R0. Only the "_S" form of? the $NET_STS16 macro is defined. Calls the NTV_STS16 routine.1 status 32-bit status/completion code value. 2 $NET_WREQD $NET_WREQ rpyidadr,[lenadr],[nodadr],[flgadr],[reqidadr],[srcadr]3 Await receipt of a request or unsolicited message. !$ Calls the NTV_WAIT_REQUEST routine.E rpyidadr address of a word in which the reply identification valueE is returned. The reply identification is to be used whenC sending the reply to a request. A zero is returned for/ unsolicited (non-request) messages.C lenadr address of a word in which the length of the request orD unsolicited message is returned. The length is given in words.C nodadr address of a byte in whi "ch the destination logical nodeG number of the message (request or unsolicited) is returned.E flgadr address of a word in which the message flags are returnedE in the lower byte. See the UAB flags byte for the format the lower byte.D reqidadr address of a word in which the request identification isC returned (for unsolicited messages, the contents of theD message identification field from the message header are # returned).E srcadr address of a word in which the source logical node (lowerG byte) and source logical task id (upper byte) are returned. 2 $NET_WRPY0 $NET_WRPY reqidadr,[lenadr],[flgadr],[stsadr]5 Await the receipt of a reply to a specified request." Calls the NTV_WAIT_REPLY routine.@ reqidadr address of a word which must contain a vaild requestC identification code of the request for which a reply is checked.C lenadr addres$s of a word in which the length (in words) of the reply is returned.E flgadr address of a word in which the message flags are returnedE in the lower byte. See the UAB flags byte for the format of this byte.D stsadr address of a byte in which the reply status is returned. 2 $UAB_DEF $UAB_DEF $gblE $UAB_DEF defines the offsets into the User AST Block which is passedF to the user's specified AST routine by the network AST. The User% ASTF Block is 10 words long (see symbol UAB_K_LENGTH for length in bytes).B Those words not identified below are possibly used by the networkD for other purposes. In any case, none of the items in the User AST4 Block may be written over or modified by the user. 3 Reply_UAB$ The UAB for reply's has the format:$ 15 0% +---------------------------------+' | UAB_W_REQID | 1% +---------------------------------+' | UAB &_W_RPYLEN | 2% +---------------------------------+' | UAB_L_RPYADR | 3% + +' | | 4% +----------------+----------------+' | UAB_B_FLAGS | UAB_B_RPYSTS | 5% +----------------+----------------+' | | 6% +---------------------------------+' | | 7% +---------------------------------+' | ' | 8% +---------------------------------+' | | 9% +---------------------------------+' | |10% +---------------------------------+ 4 UAB_B_FLAGS- The format of the reply UAB_B_FLAGS byte is:! 7 6 5 4 3 2 1 0# +---+---+---+---+---+---+---+---+# | 1 | T | | | | | | M |# | S | O | | | | | | U |# | T | O | | | | | | L |# | P | L | | | | | (| T |# | K | O | | | | | | R |# | T | N | | | | | | P |# | | G | | | | | | Y |# +---+---+---+---+---+---+---+---+? This byte is in the same format as the lower byte of the flags? word returned via the optional flgadr argument of the WAIT and1 CHECK routines (macros $NET_WRPY and $NET_CRPY).? The MULTRPY bit is set if multiple replies are to be delivered= (but this bit is cleared if a reply is received with MULTRPY@ clear in the message packet) header). The TOOLONG bit is set if? the reply is truncated to fit into the buffer. The 1STPKT bit- is set when delivering the first packet AST. 3 Request_UAB> The UAB for requests and unsolicited messages has the format:$ 15 0% +---------------------------------+' | UAB_W_RPYID | 1% +---------------------------------+' | UAB_W_REQLEN | 2% +---------------------------------+' | UAB_L_REQADR * | 3% + +' | | 4% +----------------+----------------+' | UAB_B_FLAGS | UAB_B_REQSTS | 5% +----------------+----------------+' | UAB_B_D.TSKID | UAB_B_D.NODE | 6% +----------------+----------------+' | UAB_W_RRQID | 7% +---------------------------------+' | UAB_B_S.TSKID | UAB_B_S.NODE | 8% +----------------+----------------+' | | 9+% +---------------------------------+' | |10% +---------------------------------+ 4 UAB_B_FLAGS/ The format of the request UAB_B_FLAGS byte is:! 7 6 5 4 3 2 1 0# +---+---+---+---+---+---+---+---+# | C | T | | | | M | M |# | A | O | | | | S | U |# | N | O | | | | G | L |# | C | L | | | | T | T |# | E | O | | | | Y | R |# | L | N | | | | P | P |# | ,| G | | | | E | Y |# +---+---+---+---+---+---+---+---+? This byte is in the same format as the lower byte of the flags? word returned via the optional flgadr argument of the WAIT and1 CHECK routines (macros $NET_WREQ and $NET_CREQ).@ The MULTRPY and MSGTYPE fields are set from those fields in the> message header. The TOOLONG bit is set if the request or USM@ message is truncated to fit into the buffer. The CANCEL bit is1 set when an existing request is being cancelled. - 2 JRADIX50C This routine converts up to 6 characters of the input ASCII stringC into a 32-bit longword Radix-50 value of the ASCII. Conversion is= stopped by processing 6 characters or finding a non-Radix-50D character (a character not in the Radix-50 character set). If lessA than 6 characters are converted, the resulting Radix-50 value isB calculated for a 6 character string padded on the right by blanksB in order to provide additional compatibility with PDP-11 FORTRAN.( return.wl.u.v = JRADIX50( string.rt.dx )< string input text is given by the address of a character string descriptor., return longword with the Radix-50 result2 NET_RPYSTS_TESTC Check for a reply status (returned from the $NET_CRPY or $NET_WRPYA network services or in the User Reply AST block) which indicatesB that the request may have failed due to a transient condition and may be retried.2 result.wlu.v = NET_RPYSTS_TEST( rpystsadr.rbu.r ). rpystsadr address of th/e reply status byte.B result return of TRUE (-1) indicates that the request may beA retried. If the reply status is not recognized as a= retryable condition, then FALSE (0) is returned. H Note that a reply status of SUCCESS will fail this test (return FALSE). 3 RetryableA The following reply status codes are considered to be retryable:( RSC_K_IOERROR retryable I/O error9 RSC_K_NOMEMRMT no memory available on remote system: 0RSC_K_REQPKTERR request message packet assembly error8 RSC_K_RPYPKTERR reply message packet assembly error< RSC_K_RPYTBLFUL request failed, no table room for reply@ RSC_K_TSKQFUL request failed, destination task queue full? RSC_K_TIMEOUT request timeout while queued to dest. task 2 NET_STS16E Converts a 32-bit status code (VMS format) into a 16-bit status code4 in the format used for ACNET Global Status returns.( gblsts.wl.v = NET_STS16( status.rlc.r )5 status 1 longword containing the 32-bit status code to be converted.B gblsts sign-extended 16-bit ACNET Global Status is returned in register R0.2 NET_TRN_NODEC Translate a logical node number into a Radix-50 string (a longword( value) that is the logical node's name.8 status.wlc.v = NET_TRN_NODE( node.rbu.v, namadr.wlu.r )6 node byte value giving the logical node number.B namadr address of the longword in which the logical node name, (in 2Radix-50) is to be returned.2 NET_TRN_NODENAMF Translate the logical node name given by a text string into a logical node number.> status.wlc.v = NET_TRN_NODENAME( namtxt.rt.dx, lnnadr.wbu.r )H namtxt text string with the logical node name passed by descriptor.D lnnadr byte in which the logical node number is to be returned. Passed by reference.2 NTCANA Cancel an oustanding request (usually a multiple-reply request). status = NTCAN( reqid )( st3atus = NET_CANCEL_REQUEST( reqid )= reqid a word containing the request identification of the" request to be cancelled.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending4 <0 for error condition (in upper byte)3 Errors The error codes returned are:" -21 = not connected to network -22 = missing argument(s)9 -24 = no such request for proces4s or not a request id9 -47 = network error #2: no address of request id word2 NTCNCTD Connect the user process to the ACNET network or change the network> task name of a user process already connected to the network. status = NTCNCT( [tsknam] )$ status = NET_CONNECT( [tsknam] )@ tsknam a longword which specifies the network task name for = the user process as 1 to 6 Radix-50 characters. If< defaulted, then the first 6 characters of the VMSA 5 process name are converted to Radix-50 for the network task name.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:> -02 = local system out of space: no free control blocks or% connected task list is full2 -27 = RUM task of the same name already exists@ -43 = system s 6ervice error, one of the following conditions:A - non-existant network process (when renaming a RUM task)1 - NETCOMMON global section does not exist -44 = nontranslatable error:$ - no XSC block in VMS memory5 - NETCOMMON not completely locked into memory0 - not all of NETCOMMON mapped to process -45 = internal network error -46 = network error #1:9 - paging file quota exceeded in mapping NETCOMMON9 - insufficient working set l 7imit to map NETCOMMON8 - system limit on number of locked pages reached@ - cannot map NETCOMMON, no room in virtual address space; -48 = network error #3: control block vector is in use.2 NTCREQB Check on the arrival of a request or unsolicited special message.; If available, return information about the request or USM.> status = NTCREQ( rpyid,[lenadr],[nodadr],[flgadr],[reqid], [srcadr] )8 status = NET_CHECK_REQUEST( rpyid,[lenadr],[nodadr8],; [flgadr],[reqid],[srcadr] ): rpyid word to receive the reply identification code of< the received request (will be set to 0 for a USM).: lenadr word to receive the length of the request or USM message (in words).> nodadr byte to receive the destination logical node number.; flgadr byte to receive the request flags and the message type code.; reqid word to receive the request identification of the 9 request.< srcadr word to receive the source logical node and source, logical task id (high byte) bytes.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:8 +01 = Pending: receive buffer is unlocked and empty.& -21 = not connected to the network* -22 = insufficient number of arg :uments) -28 = this task not connected for RUM< -29 = local locked receive buffer: receive buffer lockedD by an "old" USM or a Request that does not exist any more. -31 = truncated request2 -43 = system service error: no network process. -44 = nontranslatable error: no XSC block. -45 = internal network error5 -47 = network error #2: no address for a reply id2 NTCRPY@ Check on the arrival of a reply to a request and (if available)$ return information abou;t the reply.7 status = NTCRPY( reqid,[lenadr],[flgadr],[stsadr] )@ status = NET_CHECK_REPLY( reqid,[lenadr],[flgadr],[stsadr] )@ reqid word containing the identification code of the request' whose reply is to be checked.> lenadr word to receive the length of the reply message (the' length is returned in words).? flgadr byte to receive the reply flags (the MULTRPY, TOOLONG and 1STPKT flag bits).8 stsadr address of a byte to receive the r<eply status.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:* +01 = pending: reply not yet received.* +02 = conditional success: final reply> +03 = conditional success: a Support software reply status was returned? +04 = conditional success: a User software reply status was = returned -01 = retryable I/O error, -03 = insufficient memory at destination- -04 = reply message packet assembly error/ -05 = request message packet assembly error -06 = request timeout& -07 = destination busy, queue full. -08 = destination busy, request not queued" -21 = not connected to network* -22 = insufficient number of arguments- -24 = no such request or not a request id -25 = illegal event flag -30 = no such logical node# -3 >1 = request message truncated! -32 = reply message truncated" -33 = no such destination task$ -34 = replier being disconnected( -35 = level II ACNET function error:) - Illegal ACNET function typecode1 - incorrect ACNET WRITE function password+ - bad value in ACNET typecode block -41 = hard I/O error -42 = node down or offline( -43 = system service/directive error: -44 = nontranslatable error: unknown reply status code6 -47 = network er?ror #2: no request id word address2 NTDCNTF Disconnect the user process from the network and release all networkF resources in use by the user process. Outstanding requests FROM theF process are cancelled and outstanding requests TO the process have a) status-only reply (DISCON status) sent. status = NTDCNT() status = NET_DISCONNECT()A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for condition@al success and pending$ <0 for error condition3 Errors The error codes returned are:4 -02 = local system out of space: no free buffers" -21 = not connected to network2 -43 = system service error: no network process9 -44 = nontranslatable error: XSC block does not exist -45 = internal network error -48 = network error #3: - buffer vector in use3 - already waiting for a buffer transmission2 NTGTIDA Get the logical task id associate Ad with the network task name on6 the system which supports the specified logical node./ status = NTGTID( [lognod],[tsknam],taskid )7 status = NET_GET_TASKID( [lognod],[tsknam],taskid ): lognod byte giving the destination logical node number.9 If defaulted, the local default logical node is assumed.> tsknam a longword giving the network task name (in Radix-50: form) of the task whose logical task id is to be; returned. If defaulted, theB network task name of# the current task is used.8 taskid byte in which the logical task id is returned.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are: -01 = Retryable I/O error= -02 = local system out of space: no free buffers, no free0 control blocks, or request tabCle full., -03 = Insufficient memory at destination" -21 = Not connected to network* -22 = Insufficient number of arguments -30 = No such logical node" -33 = No such destination task -41 = Hard I/O error -42 = Node down or offline3 -43 = System service error: no network process.9 -44 = nontranslatable error: XSC block does not exist -45 = Internal network errorA -48 = network error #3: control block or buffer vector in use2 NTGTNMA Get the network D task name associated with the logical task id on6 the system which supports the specified logical node./ status = NTGTNM( [lognod],[taskid],tsknam )9 status = NET_GET_TASKNAME( [lognod],[taskid],tsknam ): lognod byte giving the destination logical node number.B If defaulted, the local default logical node is assumed.? taskid a byte giving the logical task id of the network task= whose name is to be returned. If defaulted, zero is> used and the nEetwork task name of ACNET is returned.> tsknam longword in which the network task name is returned.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are: -01 = Retryable I/O error= -02 = local system out of space: no free buffers, no free0 control blocks, or request table full., -0F3 = Insufficient memory at destination" -21 = Not connected to network* -22 = Insufficient number of arguments -30 = No such logical node" -33 = No such destination task -41 = Hard I/O error -42 = Node down or offline3 -43 = System service error: no network process.9 -44 = nontranslatable error: XSC block does not exist -45 = Internal network errorA -48 = network error #3: control block or buffer vector in use2 NTRREQD Connect a network task to recie Gve unsolicited messages and request.= Unlock the receive buffer (of a RUM task) or change to a new$ receive buffer and receive actions.6 status = NTRREQ( [reqadr],[maxlen],[efn],[astadr])4 status = NET_RECEIVE_REQUEST( [reqadr],[maxlen],1 [efn],[astadr])? reqadr the new receive buffer. If defaulted, the address of: old receive buffer is retained as user must have< specified a buffer to receive replies. In either/ ca Hse, the receive buffer is unlocked.? maxlen word containing the new receive buffer size in words.; If defaulted, then the size of the receive buffer2 is unchanged (the old size is retained).@ efn byte giving the number of an event flag to be set when< a request or USM reply is received. If explicitly@ defaulted, event flag 0 is used (on the VAX); implicit@ defaulting (by a short argument list) leaves the event& event flag numIber unchanged.? astadr address of user's request AST routine. If explicitlyB defaulted, no user request AST will be invoked; implicit> defaulting leaves the request AST address unchanged.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:9 -02 = local system out of space: no dy Jnamic memory to9 declare network AST, no free control blocks, or$ no space in RUM task list." -21 = not connected to network* -22 = insufficient number of arguments: -23 = invalid message length: no buffer specified when+ doing a RUM-connect (first call). -25 = illegal event flag1 -27 = name already in use by another RUM task2 -43 = system service error: no network process- -44 = nontranslatable error: no XSC block -45 = internal net Kwork error: -46 = network error #1: AST quota exceeded when trying to declare network AST -48 = network error #3:? - RUM Connect Block is already locked for modifications@ - control block vector already in use (only on 1st call)2 NTRRPYD Clears the reply done flag and (optionally) change the reply buffer$ and other reply receive parameters.< status = NTRRPY( reqid,[rpyadr],[maxlen],[efn],[astadr])> status = NET_RECEIVE_REPLY( reqid,[rpyadr],[maxlen L],[efn],' [astadr])@ reqid word containing the identification code of the request; whose reply receive parameters are to be changed.A rpyadr the new reply buffer. If defaulted, the address of theB old reply buffer is retained as user must have specified& a buffer to receive replies.= maxlen word containing the new reply buffer size in words.< If defaulted, then the size of the reply buffer is/ unchange Md (the old size is retained).= efn a byte giving the number of an event flag to be set= when a reply is received. If explicitly defaulted,@ event flag 0 is used (on the VAX); implicit defaulting< (short argument list) leaves the event flag number unchanged.= astadr address of user's reply AST routine. If explicitly@ defaulted, no user reply AST will be invoked; implicit< defaulting leaves the reply AST address unchanged.NA status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:@ -02 = local system out of space: insufficient dynamic memory! to declare network AST." -21 = not connected to network* -22 = insufficient number of arguments. -24 = no such request or not a request id. -25 = illegal event flag O? -46 = network error #1: AST quota exceeded while attempting! to declare network AST.F -48 = network error #3: request block is already locked for modify2 NTSENDC Send an unsolicited special message (USM). Be careful using USM'sA as the network will lose a USM without notifying the sender when an error is detected.6 status = NTSEND( [lognod],[tsknam],msgadr,msglen )8 status = NET_SEND( [lognod],[tsknam],msgadr,msglen )9 lognod byte giving the destination Plogical node number6 If defaulted, the local default logical node is assumed.6 tsknam longword giving the network task name of the= destination task (in Radix-50 form). If defaulted,1 the network task name of ACNET is used.= msgadr address of a buffer of words to be sent as the user& data portion of the message.: msglen word giving the number of words in the buffer to be sent. A status returns ACNET Global Status Q(sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:4 -02 = Local system out of space: no free buffers" -21 = not connected to network* -22 = insufficient number of arguments3 -23 = invalid message: too long or length of 0. -30 = no such logical node3 -43 = system service error: no network process.9 -44 = nontranslatablRe error: XSC block does not exist -45 = internal network error4 -47 = network error #2: no address of request id -48 = network error #3: - buffer vector in use7 - already waiting for transmission to complete.2 NTSREQ@ Sends a request message and setups the parameters specifing the> reply receive buffer and the actions to be taken when a reply is received.> status = NTSREQ( [lognod],[tsknam],[reqflg],reqadr,reqlen,B reqid,r Spyadr,maxlen,[efn],[astadr])A status = NET_SEND_REQUEST( [lognod],[tsknam],[reqflg],reqadr,@ reqlen,reqid,rpyadr,maxlen,[efn],( [astadr])< lognod a byte giving the destination logical node number.B If defaulted, the local default logical node is assumed.6 tsknam longword giving the network task name of the= destination task (in Radix-50 form). If defaulted,1 the network task name of ACNET is Tused.9 reqflg word containing the request option bits MULTRPY and NOBSYWT.> reqadr a buffer or an array of words to be sent as the user. data portion of the request message.B reqlen a word giving the number of words in the buffer (reqadr) to be sent. A reqid word in which the request identification of the request! being sent is returned.B rpyadr the buffer in which the received reply (or replies) will" be returned to tUhe user.9 maxlen word containing the reply buffer size in words.@ efn byte giving the number of an event flag to be set when> a reply is received. If not specified, event flag 0 is used (on the VAX).? astadr address of user's reply AST routine to be called when? a reply is received. If not given, no reply AST will be called.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 V >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:= -02 = local system out of space: no free buffers, no free0 control blocks, or request table full." -21 = not connected to network* -22 = insufficient number of arguments> -23 = invalid message length: message too long, no message' specified, or no reply buffer -25 = illegal event flag -30 = no such logical node3 -43 W= system service error: no network process.9 -44 = nontranslatable error: XSC block does not exist -45 = internal network error4 -47 = network error #2: no address of request id -48 = network error #3:/ - control block or buffer vector in use7 - already waiting for transmission to complete.2 NTSRPYB Sends a reply to an earlier received request. If that request is4 locking the receive buffer, the buffer is unlocked.@ status = NTSRPY( rpyid,[rpyflg],[rXpyadr],[rpylen],[rpysts] )> status = NET_SEND_REPLY( rpyid,[rpyflg],[rpyadr],[rpylen],' [rpysts] )9 rpyid word containing the reply identification of the! request being answered.@ rpyflg word containing the reply modifier bits such as LOCKED and ENDMULT.= rpyadr address of the buffer which contains the data to be@ returned to the requestor. If this is defaulted, then@ rpylen must also be defaulted or the l Yength must be 0.C rpylen word containing the length of the reply message in words.? rpysts byte containing a specified reply status code for the> message. If this is not given, SUCCESS will be used> except when the ENDMULT bit is set in which case the; ENDMLT reply status will be used (if the original= request had request multiple-replies with MULTRPY).A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for comZplete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:4 -02 = local system out of space: no free buffers" -21 = not connected to network* -22 = insufficient number of arguments< -23 = invalid message length: message too long or length. is non-zero but no buffer specified.& -24 = no such request to reply to. -25 = illegal event flag# -26 = request already cancelled[ -28 = not connected for RUM -30 = no such logical node3 -43 = system service error: no network process.9 -44 = nontranslatable error: XSC block does not exist -45 = internal network error7 -47 = network error #2: no address of reply id word -48 = network error #3: - buffer vector in use7 - already waiting for transmission to complete.2 NTSTAT@ Convert a reply status from its byte to its 16-bit ACNET Global status form. status = NTSTA\T( rpysts )! status = NET_STATUS( rpysts )0 rpysts byte containing the reply status code.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors4 The error codes returned from the reply status are:* +02 = Conditional success: final reply7 +03 = Conditional success: a Support software reply" status code was return]ed; +04 = Conditional success: a User software reply status code was returned -01 = Retryable I/O error, -03 = Insufficient memory at destination- -04 = Reply message packet assembly error/ -05 = Request message packet assembly error -06 = Request timeout& -07 = Destination busy, queue full. -08 = Destination busy, request not queued -30 = No such logical node# -31 = Request message truncated! -32 = Reply message truncated" -33 = No ^ such destination task$ -34 = Replier being disconnected' -35 = Level II ACNET function error -41 = Hard I/O error -42 = Node down or offline( -43 = System service/directive error: -44 = Nontranslatable error: unknown reply status code2 NTV_LCL_RETRYD Check for a condition code from a send operationg (using one of the@ network services $NET_SREQ, $NET_SRPY, $NET_SEND, and $NET_CAN)A which indicates that the send operation may have failed due to a. transient local c _ondition and may be retried., status.wlc.v = NTV_LCL_RETRY( stsin.rlc.v )B stsin longword value of the condition code (status returned)> from a network service routine) to be tested for a retryable condition.A status returned status, SS$_NORMAL indicates that the reques@ may be retried (the original input status is left in@ register R1 for MACRO callers). If the input status@ is not recognized as a retryable condition, th`en the0 original status is returned (in R0).B Note that an input status of SS$_NORMAL will return SS$_NORMAL soE this routine should only be called with non-success condition codes. 3 Retryable8 The following condition codes are considered retryable:( NET__NOBUFFER no buffers available/ NET__NOCTLBLK no control blocks available> NET__REQTBLFUL no request indicies available ($NET__SREQ)2 NTV_RMT_RETRY@ Check for a condition code from a reply (using the $N aET_CRPY orC $NET_WRPY network services or $NET_STAT_S on a reply status) which> indicates that the request may have failed due to a transient condition and may be retried., status.wlc.v = NTV_RMT_RETRY( stsin.rlc.v )B stsin longword value of the condition code (status returned)> from a network service routine) to be tested for a retryable condition.A status returned status, SS$_NORMAL indicates that the reques@ may be retried (the original i bnput status is left in@ register R1 for MACRO callers). If the input status@ is not recognized as a retryable condition, then the0 original status is returned (in R0).B Note that an input status of SS$_NORMAL will return SS$_NORMAL soE this routine should only be called with non-success condition codes. 3 Retryable8 The following condition codes are considered retryable:' NET__IOERROR retryable I/O error8 NET__NOMEMRMT no memory available con remote system9 NET__REQPKTERR request message packet assembly error7 NET__RPYPKTERR reply message packet assembly error; NET__RPYTBLFUL request failed, no table room for reply? NET__TSKQFUL request failed, destination task queue fullD SS$_TIMEOUT request timeout while queued to destination task 2 NTV_STATUS< Convert a one byte reply status to a 32-bit condition code.* status.wlc.v = NTV_STATUS( rpysts.rbu.v ) rpysts reply status code! status retu drned condition code3 Condition_codes SS$_NORMAL success= NET__ENDMLTRPY success, final reply of a set of multiple replies? NET__SUPSINFO informational, a reply status code reserved1 to support software was given? NET__USRINFO informational, a reply status code reserved. to user software was given5 SS$_BADPARAM bad value in ACNET typecode block1 SS$_COMMHARD hard communications I/O error e2 SS$_MSGNOTFND unknown reply status presented( SS$_NOSUCHNODE no such logical node4 SS$_NOSUCHOBJ no such task at destination nodeC SS$_TIMEOUT request was timed-out while queued for a locked" receive buffer3 NET__DISCONING replier task being disconnected= NET__ILLACNCOD illegal or unknown ACNET request typecode) or sub-function value; NET__INCWRTPWD incorrect ACNET WRITE function password' NET__IOERROR retrya fble I/O error1 NET__NODEDOWN destination logical node down6 NET__NOMEMRMT no memory available at remote node9 NET__REQPKTERR request message packet assembly error- NET__REQTRUNC request message truncated5 NET__RPYPKTERR reply message packet assembly err; NET__RPYTBLFUL request failed, no room in reply tables+ NET__RPYTRUNC reply message truncated6 NET__SUPSINFO support software reply status code5 NET__SYSERR system service or directive error g9 NET__TASKBUSY request failed, destination task busy= NET__TSKQFUL request failed, receive buffer queue full3 NET__USRINFO user software reply status code 2 NTV_STS16E Converts a 32-bit status code (VMS format) into a 16-bit status code4 in the format used for ACNET Global Status returns.( gblsts.wl.v = NTV_STS16( status.rlc.v )F status longword containing the 32-bit status code to be converted.B gblsts sign-extended 16-bit ACNET Global Status is returned hin register R0.2 NTV_STS16_R1E Converts a 32-bit status code (VMS format) into a 16-bit status code4 in the format used for ACNET Global Status returns. MOVL status,R0 JSB G^NTV_STS16_R1@ R0 must contain the 32-bit VMS status code on entry to theA routine. The sign-extended 16-bit Global Status is then returned in R0. 2 NTV_STS32E Converts a 16-bit Acnet Global Status code into a 32-bit status code (VMS format).( status.wlc.iv = NTV_STS32( gblsts.rw.v )7 gblsts 16-bit ACNET Global Status word (by value).9 status the 32-bit VMS signal code is returned in R0.2 NTV_STS32_R1E Converts a 16-bit Acnet Global Status code into a 32-bit status code (VMS format). MOVW gblsts,R0 JSB G^NTV_STS32_R1E R0 must contain the 16-bit ACNET Global Status word upon entryF to the routine. The 32-bit VMS signal code is then returned in R0.2 NTWREQ? Await the arriv jal of a request or unsolicited special message.- Return information about the request or USM.> status = NTWREQ( rpyid,[lenadr],[nodadr],[flgadr],[reqid], [srcadr] )7 status = NET_WAIT_REQUEST( rpyid,[lenadr],[nodadr],: [flgadr],[reqid],[srcadr] ): rpyid word to receive the reply identification code of< the received request (will be set to 0 for a USM).: lenadr word to receive the length of the request or USM k message (in words).> nodadr byte to receive the destination logical node number.; flgadr byte to receive the request flags and the message type code.; reqid word to receive the request identification of the request.< srcadr word to receive the source logical node and source, logical task id (high byte) bytes.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for clonditional success and pending$ <0 for error condition3 Errors The error codes returned are:8 +01 = Pending: receive buffer is unlocked and empty.& -21 = not connected to the network* -22 = insufficient number of arguments) -28 = this task not connected for RUM< -29 = local locked receive buffer: receive buffer lockedD by an "old" USM or a Request that does not exist any more. -31 = truncated request2 -43 = system service error: no networkm process. -44 = nontranslatable error: no XSC block. -45 = internal network error5 -47 = network error #2: no address for a reply id2 NTWRPY: Wait until the reply to a request is received, and return information about the reply.7 status = NTWRPY( reqid,[lenadr],[flgadr],[stsadr] )? status = NET_WAIT_REPLY( reqid,[lenadr],[flgadr],[stsadr] )@ reqid word containing the identification code of the request' whose reply is to be checked.> lenadr word tno receive the length of the reply message (the' length is returned in words).? flgadr byte to receive the reply flags (the MULTRPY, TOOLONG and 1STPKT flag bits).8 stsadr address of a byte to receive the reply status.A status returns ACNET Global Status (sign-extended to 32-bits):% =0 for complete success4 >0 for conditional success and pending$ <0 for error condition3 Errors The error codes returned are:* +0 o1 = pending: reply not yet received.* +02 = conditional success: final reply> +03 = conditional success: a Support software reply status was returned? +04 = conditional success: a User software reply status was returned -01 = retryable I/O error, -03 = insufficient memory at destination- -04 = reply message packet assembly error/ -05 = request message packet assembly error -06 = request timeout& -07 = destination busy, queue full. -0 p8 = destination busy, request not queued" -21 = not connected to network* -22 = insufficient number of arguments- -24 = no such request or not a request id -25 = illegal event flag -30 = no such logical node# -31 = request message truncated! -32 = reply message truncated" -33 = no such destination task$ -34 = replier being disconnected( -35 = level II ACNET function error:) - Illegal ACNET function typecode1 - incorrect ACNET WRITE functionq password+ - bad value in ACNET typecode block -41 = hard I/O error -42 = node down or offline( -43 = system service/directive error: -44 = nontranslatable error: unknown reply status code6 -47 = network error #2: no request id word address2 RAD50_TO_ASCIID Convert the 6 Radix-50 characters in a longword to ASCII and return in a character string.< status.wlc.v = RAD50_TO_ASCII( r50adr.rlu.r, txtadr.wt.ds )B status SS$_NORMAL for complete success; LIBr$_STRTRU if the @ output string is shorter than 6 characters and the< converted text may have been truncated to fit.A r50adr address of a longword containing the Radix-50 value9 of the characters to be converted to ASCII.> txtadr address of the quadword string descriptor of the@ string in which the ASCII characters are returned.2 _CANCEL_REQUESTB Cancel an outstanding request (usually a multiple-reply request).4 stastus.wlc.v = NTV_CANCEL_REQUEST( reqidadr.rwu.r )$ status completion condition code@ reqidadr address of word containing the request identification/ code of the request to be cancelled.3 Condition_codes( The completion condition codes include:: SS$_WASCLR success, the request has been cancelledE SS$_WASSET success, the request is already marked for delete.B SS$_ACCVIO no address of request identification word given3 SS$_INSFARG insufficient tnumber of arguments@ NET__NOSUCHREQ no such request as given by the request id or4 request not owned by this process8 NET__NOTREQID not identification code for a request2 _CHECK_REPLY; Check on the arrival of a reply to an outstanding request.= This routine returns immediately with NET__PENDING (0) if no reply has yet arrived.? status.wlc.v = NTV_CHECK_REPLY( reqidadr.rwu.r, [lenadr.ww.r],? [flgadr.wbu.r], [stsadr.wb.r])5 u status completion condition code or NET__PENDING.B reqidadr address of a word containing the request identification@ code for the request for which the arrival of a reply is being checked.= lenadr address of a word in which the length of the reply= message (if any) is returned (length is in words).< flgadr address of a byte in which the reply flags of the? reply message (if any) are returned. The only flags/ of interest avre MULTRPY and TOOLONG.> stsadr address of a byte in which the reply status code of2 the reply message (if any) is returned.> The values returned in the arguments have meaning only if the% completion code is not NET__PENDING.3 Condition_codes( The completion condition codes include:B NET__PENDING reply has not yet arrived (value of code is 0).* SS$_NORMAL success, reply received< SS$_ACCVIO address of a request id word not provided, SS$_ILLEFC w illegal event flag number3 SS$_INSFARG insufficient number of argumentsF SS$_UNASEFC process not associated with event flag cluster with2 the specified event flag number9 NET__NOSUCHREQ no such request as given by request id! NET__NOTCNCT not connected.4 NET__NOTREQID not a request identification code3 Reply_status@ These are the 32-bit completion codes returned from translating- the reply status code in the message header: SS$_NORMAL x successD NET__ENDMLTRPY success, final reply in a set of multiple replies4 SS$_BADPARAM bad value in ACNET typecode block0 SS$_COMMHARD hard communications I/O error1 SS$_MSGNOTFND unknown reply status presented' SS$_NOSUCHNODE no such logical node3 SS$_NOSUCHOBJ no such task at destination node< SS$_TIMEOUT request timed-out while queued for locked! receive buffer2 NET__DISCONING replier task being disconnected? NET__ILLACNCOD i yllegal or unknown ACNET request typecode or% sub-function value: NET__INCWRTPWD incorrect ACNET WRITE function password& NET__IOERROR retryable I/O error0 NET__NODEDOWN destination logical node down5 NET__NOMEMRMT no memory available at remote node" NET__NOSUCHREQ no such request8 NET__REQPKTERR request message packet assembly error, NET__REQTRUNC request message truncated4 NET__RPYPKTERR reply message packet assembly err: NET__RPYTBLFUL r zequest failed, no room in reply tables* NET__RPYTRUNC reply message truncated4 NET__SYSERR system service or directive error8 NET__TASKBUSY request failed, destination task busy< NET__TSKQFUL request failed, receive buffer queue full2 _CHECK_REQUEST> Check the receive buffer for the arrival of a request or USM.> This routine will return immediately with NET__PENDING (0) if9 the receive buffer is unlocked (no message has arrived).A status.wlc.v = NTV_CHECK_REQUEST( rpy {idadr.wwu.r, [lenadr.ww.r],B [nodadr.wbu.r], [flgadr.wbu.r],D [reqidadr.wwu.r],[srcadr.wbu.ra])& status completion condition code.? rpyidadr address of a word in which the reply identification5 code of the message (if any) is returned.@ lenadr address of a word in which the length of the message6 (if any) is returned (length is in words).> nodadr address of a byte in which the des |tination logical< node number of the message (if any) is returned.? flgadr address of a byte in which the message flags of theB received message (if any) are returned. These include< the message type code, MULTRPY and TOOLONG bits.A reqidadr address of a word in which the request identification> code of the received message (if any) is returned.@ srcadr address of a word (2 byte array) in which the sourceA node and logic}al task id are returned (task id in the second byte).> The values of the arguments only have meaning if the returned% completion code is not NET__PENDING.3 Condition_codes( The completion condition codes include:B NET__PENDING receive buffer empty and unlocked (value is 0).D SS$_WASCLR receive buffer locked by a USM that was processed' and its RPB deleted.E SS$_WASSET receive buffer is locked by a request or a new USM: SS$_ACCV ~IO address of a reply id word not provided3 SS$_INSFARG insufficient number of arguments/ SS$_NONEXPR non-existant network process+ SS$_SSFAIL XSC block does not exist; NET__NOSUCHREQ no such request as given the RCB lock id NET__NOTCNCT not connected@ NET__NOTRUM not connected to receive unsolicited messages$ NET__REQTRUNC request truncated 2 _CONNECTB Connect the user process to the ACNET network and set the network task name as specified. - status.wlc.v = NTV_CONNECT( [tsknam.rlu.v] )# status completion condition codeC tsknam longword with the network task name in Radix-50. If thisD is defaulted (or no arguments to routine), and this is the@ first call, then the default network task name is used (see below).D If the user process is already connected to the ACNET network, thisC routine provides a method to change the network task name. If theE user is already connected and the tskna m argument is defaulted, thenE this routine is a null operation to allow layered software to insure) the process is connected to the network.C The default network task name is constructed by taking the first 6D characters of the VMS process name and converting them to Radix-50.A If the first character of the process name is "_", it is skipped? and the second through seventh characters are used to form the> network task name (so that "JOB532" is used from "_JOB4325").3 Condition_codes ( The completion condition codes include:< SS$_NORMAL success, process connected to the network? SS$_BADPARAM bad $GETJPI parameter (internal network bug)8 SS$_EXQUOTA process exceeded paging file quota in6 mapping to NETCOMMON global sectionD SS$_INSFWSL insufficient working set limit to allow expansion? of P0 region to map NETCOMMON global sectionA SS$_LCKPAGFUL system limit on number of locked pages reached/ SS$_NONEXP R non-existant network processD SS$_NOPRIV cannot allow access (or requested type of access)3 to the NETCOMMON global section.> SS$_NOSUCHSEC the NETCOMMON global section does not exist> SS$_OPINCOMPL NETCOMMON not completely locked into memory1 SS$_SSFAIL no XSC block in dynamic memory@ SS$_VASFULL virtual address space of the process is full,A no room exists to map NETCOMMON global sectionB SS$_VECINUSE block/buffer pointer save vector in already use@ NET__NOTALLMAP not all of NETCOMMON was mapped successfully.3 NET__NOCTLBLK no free control blocks available7 NET__RUMNAMEXI RUM task of same name already exists; NET__TSKLSTFUL network task connect list full (no room)3 Internal_errorsE The following completion codes are indicative of a possible internal network error:) NET__BUGCHECK internal network error> SS$_ACCVIO access violation in VMS system service call3 SS$_ ENDOFFILE NETCOMMON section file is empty!A SS$_INSFARG insufficient number of arguments to VMS system service> SS$_INTERLOCK global section allocation bit map in shared7 memory is locked by another process.. SS$_IVLOGNAM invalid global section name3 SS$_IVSECFLG a reserved section flag was set.@ SS$_IVSECIDCTL the match control field of the global section id is invalid? SS$_PAGOWNVIO page in the specified input address range is: owned by a more privileged access mode.. SS$_SHMNOTCNCT shared memory not connectedC SS$_TOOMANYLNAM logical name translation exceeded allowed depth 2 _DISCONNECT< Disconnect from the network returning all allocated network resources. status.wlc.v = NTV_DISCONNECT()" status completion condition code3 Condition_codes( The completion condition codes include:. SS$_WASCLR success, already disconnected* SS$_WASSET successfully disconnected- SS$_NONEXPR non-existant network process) SS$_SSFAIL XSC block does not exist 2 _GET_TASKIDD Return the logical task id of a named task connected to the network1 on a system supporting a specified logical node.G status.wlc.v = NTV_GET_TASKID([node.rbu.v], [name.rlu.v], tskid.wbu.r)5 node logical node number. Default is LOCAL node.D name network task name. Default is network task name of current process." tskid returned logical task id.H Note that if both the logical node and network task name are defaulted,= then the logical task id of the calling process is returned.2 _GET_TASKNAMEJ Return the network task name of a task connected with a specified logical= task id on the system supporting the specified logical node.= status.wlc.v = NTV_GET_TASKNAME([node.rbu.v], [tskid.rbu.v],, name.wlu.r)0 node logical node number. Default is LOCAL.G tskid logical task id. Default is 0 (logical task id of the network process, ACNET).9 name returned network task name (in Radix-50 format).2 _RECEIVE_REPLYB Clear the reply DONE bit and optionally change the address and/orC size of the reply buffer, event flag set when a reply is received," or address of the user reply AST.B status.wlc.v = NTV_RECEIVE_REPLY( reqidadr.rwu.r, [rpyadr.rb.ra],= [maxlen.rw.v], [efn.rb.v],3 [astadr.rzem.r])% status completion condition codeA reqidadr address of a word containg the request identification code.D rpyadr address of a new buffer to receive the reply message(s).9 Default is to retain previous buffer address.6 maxlen length of the new reply buffer (in words).8 Default is to retain previous buffer length.? efn event flag to be set when the reply is received (if> non-zero). If explicitly defaul ted, then no event> flag is used. If implicitly defaulted (by a shortA argument list), then previous event flag is retained.= astadr address of a user AST routine to be called when a@ reply is received. If explicitly defaulted, then noE reply AST is called. If implicitly defaulted (by a short> argument list), then previous reply AST address is retained.3 Condition_codes( The completion condition codes include:  SS$_NORMAL success6 SS$_CANCEL request has been cancelled or endedA SS$_EXQUOTA AST quota exceeded, cannot declare network AST, SS$_ILLEFC illegal event flag number? SS$_INSFARG at least a request id argument must be givenA SS$_INSFMEM insufficient VMS memory to declare network AST1 SS$_INTERLOCK RQB is locked for modificationA SS$_UNASEFC process not associated with event flag cluster7 with the specified event flag n umber9 NET__NOSUCHREQ no such request as given by request id+ NET__NOTCNCT not connected to network4 NET__NOTREQID not a request identification code2 _RECEIVE_REQUESD Unlock the receive buffer of a RUM-connected process or (first timeF called) connect to Receive Unsolicited Messages (requests and USM's).C Can optionally change the address or length of the receive buffer,D the event flag set when the receive buffer is filled or the address! of the user request AST routine.C status.wlc.v = NTV_RECEIVE_REQUEST( [reqadr.rb.ra], [maxlen.rw.v],A [efn.rb.v], [astadr.rzem.r])# status completion condition code9 reqadr address of a new receive buffer. Default is to; retain the address of the current receive buffer.= maxlen new length of the (new) receive buffer. Default is' to retain the current length.> efn event flag to be set when a request/USM is received.@ If explicitly de faulted (or 0), no event flag is used.= If implicitly defaulted (by a short argument list),1 current event flag number is unchanged.A astadr address of a user AST routine called when a request/USM> is received. If explicitly defaulted (or 0), no ASTA routine is called. If implicitly defaulted (by a short? argument list, the current AST routine address is not changed).3 Condition_codes( The completion condition codes includ e: SS$_NORMAL successA SS$_EXQUOTA AST quota exceeded, cannot declare network AST, SS$_ILLEFC illegal event flag numberC SS$_INSFARG insufficient number of arguments (on first call)A SS$_INSFMEM insufficient VMS memory to declare network AST1 SS$_INTERLOCK RCB is locked for modification/ SS$_NONEXPR non-existant network process+ SS$_SSFAIL XSC block does not existA SS$_UNASEFC process not associated with event flag cluster7 with the specified event flag numberC SS$_VECINUSE UPP_GL_ACTV.CB longword vector in use (non-zero)D NET__NOBUFR no required receive buffer address was specified,? or the length is 0 (when doing RUM-connect).) NET__NOCTLBLK no control blocks free+ NET__NOTCNCT not connected to network> NET__RUMLSTFUL cannot connect as RUM as RUM task list full@ NET__RUMNAMEXI cannot connect as RUM as task name is already- in use by another RUM task2 _SEND+ Send an Unsolicited Special Message (USM).7 status.wlc.v = NTV_SEND( [node.rbu.v], [tsknam.rlu.v],4 msgadr.rb.ra, msglen.rw.v)< node destination logical node number. Default is LOCAL.: tsknam destination network task name. Default is ACNET.< msgadr address of buffer with the message data to be sent./ msglen length of the message data (in words).3 Condition_codes& The condition codes returned include:C SS $_NORMAL success, message sent or queued for transmission2 SS$_INSFARG must have 4 arguments specified3 SS$_INTERLOCK error, XMTWT bit is already set!/ SS$_NONEXPR non-existant network process9 SS$_NOSUCHNODE no such destination logical node known+ SS$_SSFAIL XSC block does not existB SS$_VECINUSE block/buffer pointer save vector in already useA NET__BUGCHECK internal network error (XMITWT event flag bug)2 NET__NOBUFFER no free buffers to send messageA NET__NOMSG must specify a user message of non-zero length, NET__NOTCNCT not connected to network.# NET__TOOLONG message too long 2 _SEND_REPLY: Send a reply to a request back the source of the request.? status.wlc.v = NTV_SEND_REPLY( rpyidadr.rwu.r, [rpyflg.rwu.v],> [rpyadr.rb.ra], [rpylen.rw.v],. [rpysts.rb.v])$ status completion condition code= rpyidadr address of word with the reply identification code7 rpyflg reply modifier flags: LOCKED and/or ENDMULT.* Default is neither flag is set.: rpyadr address of the user buffer containing the reply< message. Default is to send a status-only reply.@ rpylen length of the user reply data (in words). Default is' to send a status-only reply.> rpysts reply status. Default is SUCCESS (or ENDMLT if the@ ENDMULT flag is send and the request was for multiple replies ).3 Condition_codes& The condition codes returned include:A SS$_NORMAL success, reply sent or queued for transmission= SS$_ACCVIO address not given for reply identificationD SS$_CANCEL request already cancelled (but not yet processed,C in receive buffer or queued awaiting the buffer), SS$_ILLEFC illegal event flag number4 SS$_INSFARG insufficient number of arguments 3 SS$_INTERLOCK error, XMTWT bit is already set!/ SS$_NONE XPR non-existant network process9 SS$_NOSUCHNODE no such destination logical node known+ SS$_SSFAIL XSC block does not existB SS$_VECINUSE block/buffer pointer save vector in already useF SS$_UNASEFC process not associated with event flag cluster with2 the specified event flag numberA NET__BUGCHECK internal network error (XMITWT event flag bug), NET__NOBUFFER no free buffers availableG NET__NOMSG no reply message address but non-zero message length5 NET__NOSUCHREQ not such request found to reply to+ NET__NOTCNCT not connected to network. NET__NOTRUM not connected as a RUM task- NET__NOTRPYID not a reply identification# NET__TOOLONG message too long2 _SEND_REQUEST Send a request message.? status.wlc.v = NTV_SEND_REQUEST( [node.rbu.v], [tsknam.rlu.v],A [reqflg.rwu.v], [reqadr.rb.ra],B [reqlen.rw.v], [reqidadr.wwu.r],@  [rpyadr.wb.ra], [maxlen.rw.v],> [efn.rb.v], [astadr.rzem.r])% status completion condition code? node destination logical node number. Default is LOCAL.= tsknam destination network task name. Default is ACNET.= reqflg request flags: MULTRPY and/or NOBSYWT. Default is no flags are set.7 reqadr address of the user's request message data.: reqlen length of the request message data (in words).A reqidadr address of a word in which the request identification code is returned.@ rpyadr address of a buffer to receive the reply message(s).2 maxlen length of the reply buffer (in words).? efn event flag to be set when the reply is received (if non-zero).= astadr address of a user AST routine to be called when a reply is received.3 Condition_codes* The condition codes returned may include:C SS $_NORMAL success, request sent or queued for transmission4 SS$_ACCVIO word for request id not specified, SS$_ILLEFC illegal event flag number3 SS$_INSFARG insufficient number of arguments3 SS$_INTERLOCK error, XMTWT bit is already set!/ SS$_NONEXPR non-existant network process9 SS$_NOSUCHNODE no such destination logical node known+ SS$_SSFAIL XSC block does not existB SS$_VECINUSE block/buffer pointer save vector in already useA SS$_UN ASEFC process not associated with event flag cluster7 with the specified event flag number) NET__BUGCHECK internal network error, NET__NOBUFFER no free buffers available) NET__NOCTLBLK no free control blocks? NET__NOMSG no message buffer (or length of 0) specified0 NET__NORPYBUF no buffer for reply specified+ NET__NOTCNCT not connected to network* NET__REQTBLFUL no free request indices# NET__TOOLONG message too long 2 _WAIT_REPLY; Wait for the arrival of a reply to an outstanding request.; This routine returns only after a reply has been received.> status.wlc.v = NTV_WAIT_REPLY( reqidadr.rwu.r, [lenadr.ww.r],> [flgadr.wbu.r], [stsadr.wb.r])% status completion condition code.B reqidadr address of a word containing the request identification@ code for the request for which the arrival of a reply is to be awaited.= lenadr address of a word in which the length of the reply4 message is returned (length is in words).< flgadr address of a byte in which the reply flags of the9 reply message are returned. The only flags of, interest are MULTRPY and TOOLONG.> stsadr address of a byte in which the reply status code of) the reply message is returned.3 Condition_codes( The completion condition codes include:* SS$_NORMAL success, reply received< SS$_ACCVIO address of a re quest id word not provided, SS$_ILLEFC illegal event flag number3 SS$_INSFARG insufficient number of argumentsF SS$_UNASEFC process not associated with event flag cluster with2 the specified event flag number9 NET__NOSUCHREQ no such request as given by request id! NET__NOTCNCT not connected.4 NET__NOTREQID not a request identification code3 Reply_status@ These are the 32-bit completion codes returned from translating- the reply status co de in the message header: SS$_NORMAL successD NET__ENDMLTRPY success, final reply in a set of multiple replies4 SS$_BADPARAM bad value in ACNET typecode block0 SS$_COMMHARD hard communications I/O error1 SS$_MSGNOTFND unknown reply status presented' SS$_NOSUCHNODE no such logical node3 SS$_NOSUCHOBJ no such task at destination node< SS$_TIMEOUT request timed-out while queued for locked! receive buffer2 NET__DISCONING replier t ask being disconnected? NET__ILLACNCOD illegal or unknown ACNET request typecode or% sub-function value: NET__INCWRTPWD incorrect ACNET WRITE function password& NET__IOERROR retryable I/O error0 NET__NODEDOWN destination logical node down5 NET__NOMEMRMT no memory available at remote node" NET__NOSUCHREQ no such request8 NET__REQPKTERR request message packet assembly error, NET__REQTRUNC request message truncated4 NET__RPYPKTERR reply messa ge packet assembly err: NET__RPYTBLFUL request failed, no room in reply tables* NET__RPYTRUNC reply message truncated4 NET__SYSERR system service or directive error8 NET__TASKBUSY request failed, destination task busy< NET__TSKQFUL request failed, receive buffer queue full2 _WAIT_REQUEST@ Wait for the arrival of a request or USM in the receive buffer.@ status.wlc.v = NTV_WAIT_REQUEST( rpyidadr.wwu.r, [lenadr.ww.r],A [nodadr.wbu.r], [flgadr.wbu.r],C [reqidadr.wwu.r],[srcadr.wbu.ra])& status completion condition code.? rpyidadr address of a word in which the reply identification, code of the message is returned.@ lenadr address of a word in which the length of the message- is returned (length is in words).> nodadr address of a byte in which the destination logical3 node number of the message is returned.? flgadr address of a byte in which the message flags of the= received message are returned. These include the8 message type code, MULTRPY and TOOLONG bits.A reqidadr address of a word in which the request identification5 code of the received message is returned.@ srcadr address of a word (2 byte array) in which the sourceA node and logical task id are returned (task id in the second byte).3 Condition_codes( The completion condition code s include:D SS$_WASCLR receive buffer locked by a USM that was processed' and its RPB deleted.E SS$_WASSET receive buffer is locked by a request or a new USM: SS$_ACCVIO address of a reply id word not provided3 SS$_INSFARG insufficient number of arguments/ SS$_NONEXPR non-existant network process+ SS$_SSFAIL XSC block does not exist; NET__NOSUCHREQ no such request as given the RCB lock id NET__NOTCNCT not connected@  NET__NOTRUM not connected to receive unsolicited messages$ NET__REQTRUNC request truncated 2 $LNN_DEF $LNN_DEF $gblH This macro defines the symbolic names (VAX MACRO) for the ACNET logicalF node numbers as LNN_K_name, where name is the name of a logical node.> Nodes should always be specified symbolically though for ease< of verifying conversions (ODT) some node definitions may be> computed based on the MAC number used on the XEROX systems by& adding the following decimal offsets:" Booster: add 30 to old MAC number7 MR/SY: add 30 to old MAC number (includes Beam Lines)' SCRUB System: add 50 to old MAC number2 $MSGHDR_ALTDEF $MSGHDR_ALTDEF $gblI $MSGHDR_ALTDEF defines alternate names for the bit fields and constants. 2 $MSGHDR_DEF $MSGHDR_DEF $gblG $MSGHDR_DEF defines the fields and bits in the network message header.G Also the constants for the message and packet type fields are defined. 2 $NETAGS_DEF $NETAGS_DEF $gbl {,type=WORD}@ This macro defines the symbolic names (VAX MACRO) for the ACNETA Global Status codes returned by the network. The symbols may beA defined as word values (default case) or as the Status Code byte/ values (upper byte of the Global Status word). ? type this argument is WORD (default case) if the symbols? are to be defined as the full word values. If BYTE< is used the symbol values are only for the upper1 byte of the ACNET Global Status word. 2 $RSC_DEF $RSC_DEF $gblG This macro defines the symbolic names (VAX MACRO) for the reply status codes as RSC_K_name. 2 $_RAD50L $.RAD50L textC Generate a longword (.LONG) containing the Radix-50 value of a 1-6 character text string.: text 1-6 character string to be stored as Radix-50. 2 $_RAD50S $.RAD50S sym,text> Define a symbol to have the Radix-50 value of a 1-6 character text string.5 sym symbol to be defined with Radix-50 value.: text 1-6 character string to be stored as Radix-50. 2 $_RAD50W $.RAD50W textG Generate a .WORD containing the Radix-50 value of a 1-3 character text string.F text 1-3 character text string to be stored as a Radix-50 value.2 CASE: CASE src, {,TYPE=W} {,LIMIT=#0} {,NMODE=S^#}F Generates a CASEx instruction (x is given by TYPE) and the case table dispatch list.B src source argument on which the CASE will dispatch to the correct labelC disp-list list of labels to which control will transferred by the@ CASE instruction for sequential values of the source2 TYPE data type of the CASE, default is WORDD LIMIT lower limit of CASE range (if source < limit, CASE falls% through). Default is #0.? NMODE Mode for maximum argument of CASE (default is S^#).2 ERROR_BUGCHK- ERROR.BUGCHK {bugchk,success} {,type=STOP}G Tests for success fol lowing a system or user routine call that returnsF a condition code in R0. If an error occurred, LIB$STOP or LIB$SIGNAL8 are called to signal a "bugcheck" and stop the process.E bugchk label for bugcheck routine call. If a label is given forE this parameter, either it must be a local label or labelsE must be given for both the bugchk and success parameters!< success success label (default to internal local label).H type either STOP (default) for LIB$STOP or SIGNAL for LIB$SIGNAL. 2 ERROR_CONT ERROR.CONT success {,error} G Tests for success following a system or user routine call that returns@ a condition code in R0 (the low bit of R0 is 1 for success and  information completion codes).3 success success label to continue processing atD error if specified, this becomes the label at the start of the; error processing code following the macro call. 2 ERROR_EXIT, ERROR.EXIT {error} {,success} {,exit=RET}? Tests for success following a system or user routine call thatC returns a condition code in R0. If an error label is specified, aF branch to it (byte-displacment) will be taken if the low bit of R0 isF zero. If the error parameter is not given, then a skip over an errorF exit will be made if the low bit of R0 is one (success/informational)E where the error exit instruction (either RET or RSB) is given by the! exit parameter (default is RET).C error if specified, a BLBC (branch-on-low-bit-clear) on R0 is; generated with this as the destination address.< success success label (default to internal local label).D exit if error not specified, then this provides the means for= exiting the routine on an error. Default is RET.2 POPREG POPREG regnumI POPREG pops a longword off the top of the stack into a general register.I For registers R6-R14, the instruction "MOVL (SP)+,Rn" is used to pop theC value. For registers R0-R5, the shorter (by one byte) sequence of "POPR #^M" is used.A regnum register number to which the longword on top of stack is to be restored2 TRANSFER_VECTOR$ TRANSFER_VECTOR entry {,JUMP=BRW}> This macro generates a transfer vector for a shareable image.D entry name of routine entry point (must be defined by .ENTRY).B jump means by which control will be transferred to routine./ Default is BRW, alternative is JMP. 2 Status_codesB The NET_... and NTxxxx entry points to the ACNET network servicesB return ACNET Global Status. This is a 16-bit word (sign-extended, to 32-bit on a VAX) divided into two bytes:8 15 8 7 09 +----------------------+----------------------+9 | Success/error code | Facility Number |9 +----------------------+----------------------+A The facility number for ACNET network services is 1. Errors are? indicated by negative error codes and conditional successes byD positive success codes. Complete success is indicated in a special? manner by the return of 0 for all 16 (or 32) bits of the ACNET Global Status.3 Success_codes Byte Word Name ---- ---- ----' +00 0 SUC Complete success6 +01 +257 PND Operation is pending completion< +02 +513 END End multiple replies (on final reply)E +03 +769 SSR Reply status reserved to su pport software seenB +04 +1025 USR Reply status reserved to user software seen 3 Error_codes Byte Word Name ---- ---- ----* -01 -255 RIO Retryable I/O error< -02 -511 NLM No local memory/table space availableD -03 -767 MRM No remote system memory/table space available: -04 -1023 RPE Reply message packet assembly error< -05 -1279 QPE Request message packet assembly errorA -06 -1535 TMO Request timeout with queued a t destination= -07 -1791 FUL Request failed, destination queue full< -08 -2047 BSY Request failed, destination task busy 3 Fatal_codes Byte Word Name ---- ---- ----/ -21 -5375 NCN Not connected to network* -22 -5631 ARG Missing argument(s)? -23 -5887 IVM Invalid message length or buffer address/ -24 -6143 NSR No such request or reply) -25 -6399 IEF Illegal event flag1 -26 -6655 CAN Request has been canc elledE -27 -6911 RUM Network task name already in use by a RUM task2 -28 -7167 NCR Not connected as a RUM task+ -30 -7679 NOD No such logical node0 -31 -7935 TRQ Truncated request message. -32 -8191 TRP Truncated reply message/ -33 -8447 TSK No such destination task6 -34 -8703 DCN Replier task being disconnected4 -35 -8959 L2E ACNET Level II function error% -41 -10495 HIO Hard I/O error3 -42 -10751 DWN Logical node down or offline3 Special_codes Byte Word Name ---- ---- ----+ -43 -11007 SYS System service error+ -44 -11263 NXE Untranslatable error- -45 -11519 BUG Network internal error' -46 -11775 NE1 Network error #1< VAX/VMS: exceeded some quota or limit1 (i.e., AST limit)' -47 -12031 NE2 Network error #2D VAX/VMS: no address for request/reply id word' -48 -12287 NE3 Network error #3F VAX/VMS: buffer/control block vector in use, orE block already locked for modificationww71 ASD The Unix assembler is used with Decus C to assemble the output fromB the C compiler (.S file) into object code. The assembler is used by: XAS file.s -switches or: MCR XAS -switches file.sC The default file type of the input file is .S, the output file hasF the input file name and a file type of .OBJ (normal DEC object code). 2 Switches7 The assembler is controlled by the following switches:; -b Flag branches that are expanded to Bxx/JMP sequences: -d Delete the input file if no errors were encountered! (normal for C assemblies)." -g Globalize undefined symbols* -l Explicitly generate a listing file.% -n Do not generate an object fileww ^;rp1 ASK4 This routine is similar to the DCL INQUIRE command. Command format:2 $ ASK [/qualifiers] symbol-name "prompt-string": It MUST be invoked via a foreign command to be defined as $ ASK :== $FERMI$EXE:ASK 2 Parameters symbol-nameD a valid DCL symbol name whose value will be the text typed in reponse to the prompt. prompt-string= prompt string text, must be enclosed in double quotes. 2 Qualifiers/DEFAULT=default-stringG Defines the default answer text. This must be alphanumeric and is NOT enclosed in double quotes./GLOBALA The named symbol is defined as a global DCL symbol rather than a' local (to the procedure level) symbol. /TIMEOUT=n; Sets the timeout value in seconds. Assumed to be decimal.wwy1 BAD @ BAD or the badblock locator utility is used to determine if bad: blocks exist on a disk volume and to record the locations? for use by backup and restore utilites and the INITALIZE task.) The general form of the command line is:  $ MCR BAD device:[/switches]  > where device specifies a device using an RSX-11M device name.C The specification consists of two alphanumeric characters followedC by a 1 to 3 digit octal unit number and colon. The VMS controllerC letter is converted to a number times 16 and added to the VMS unit# number to give an RSX device name: DRA0: becomes DR0: DRB1: becomes DR21:" DRC2: becomes DR42: and so forth. D switch specifies an optional switch that qualifies the BAD command D line. Multiple BAD switches for a device must be specified on one C line. If you do not specify a switch, BAD begins pattern checking of individual blocks. /ALLOCATE:volume_label9 Prompts you for blocks to be allocated to BADBLK.SYS and< to be entered in the bad block descriptor file. The switch may abbreviated as /ALO=volume. /LIST4 List bad block numbers as they are located. May be abbreviated to /LI. /MANUAL; Prompts you for additional bad blocks which are entered in< the bad block descriptor file, after searching the disk for) bad blocks. May be abbreviated to /MAN. /OVERRIDE; Ignores the last track information on a last-track device,9 and creates a bad block descriptor file on the last good: block before the last track. May be abbreviated to /OVR. /PATTERN=m:nB Specifies the double word data pattern used to locate bad blocks. May be abbreviated to /PAT=m:n./RETRY& Force I/O driver to retry bad blocks./UPDATE; Prompts you for additional bad blocks which are entered in< the bad block descriptor file. May be abbreviated to /UPD.wwl ̊1 BATCH> This command will submit a single VMS command line as a batch! job. The format of the call is: BATCH [command-line]A This procedure will not produce a printout of the .LOG file, butD will instead leave a jobname.LOG file in the user's current defaultC directory. The jobname is the name of the batch job and is gottenA from the first word of the command line (or the filename if the A command is @file) or the word BATCH. If you are still logged in@ when the batch job completes (or aborts), you will be notified.A The global symbol BATCH is defined in the system-wide login file( (SYLOGIN.COM) to be "@FERMI$EXE:BATCH". 2 Parameters command-lineG is any VMS command line with a verb and up to 5 additional parameters.E If no command line is given, the user will be prompted for the entry@ of one or more lines of commands. The entry of these lines is B termina ted by a blank line. If a line entered in response to theB prompt is begun by a "%", then the line (with the % removed) will? be added to the temporary command file without a preceeding $.ww`}̊1 BCKEThe RMSBCK command utility copies standard RMS files from one medium I(disk to disk or disk to tape) translating the data into a special backupAformat containing the source file's attributes. The BCK command format is:5 MCR BCK outfile[/switch(s)]=infile[/switch(s)][,...]7outfile is the filespec of a backup file to be created:5 - if on disk the filename and file type must be *.*4 - if on tape a single file (the container file) is+ produced, an explicit name is required.Ainfile is the filespec of a disk file to be backed-up. Wildcards. may be used to specify a collection of files.JThe command line may also consist of the word HELP or a question mark (?);(RMSBCK will respond with a HELP message. 2 Switches/IDGRMSBCK prints its current version number. This switch may appear aloneas a command string./QU (D)/NOQUEEnables the Query mode. In this mode RMSBCK will query if processing5should be continued after one of several error types./SL[:filespec]CRMSBCK produces a summary listing including the command string, theEnames of files backed up, the names of files not backed up with errorBmessages, Query mode diagnostic messages, and summary of any inputBerrors. IF just /SL is used, RMSBCK prints the summary listing on the terminal./RA /NORA (D)4Read the outfile after writing. Conflicts with /RC./RC /NORC (D)=Read the outfile after writing to check it against the input.Conflicts with /RA./RW /NORW (D)4Rewind the magnetic tape before writing the outfile./SU /NOSU (D)HSupersede files in the output account with the same filename, extension,Aand version as a new backup file. Applies only to disk outfiles./CD:dd-mmm-yy[:v]7Backup files based on creation date as determined by v:# null created on the specified date# A created after the specified date$ B created before the specified date/RD:dd-mmm-yy[:v]7Backup files based on revision date as determined by v:# null revised on the specified date# A revised after the specified date$ B revised before the specified dateww |1 BRU= RSX-11M Backup and Restore Utility. The command format is: * RSX: >BRU /qualifier(s) source target VMS: $ MCR BRU* BRU> /qualifier(s) source targ et E The RSX-11M Backup and Restore Utility provides functions that allowE you to back up and restore Files-11 volumes. It transfers files fromB a volume to a backup volume (or volumes) to ensure that copies ofF the files are available in case the original files are destroyed. IfA the original files are destroyed, or if for any other reason theF copies need to be retrieved, you can restore the backed up files with this command. F Both source and target fields can specify disk or tape units, but at L least one of these must be a disk. The source field may optionally include H from 1 to 16 file specifications, which are used to select which files  are to be transferred. 2 Qualifiers/APPEND  BRU>/APPEND source target G The /APPEND qualifier appends a backup set from the input disk volume + to the last backup set on the output tape. C If the output tape was positioned at the beginning, /APPEND causesF a skip to the logical end-of-tape before writing th e new backup set. @ The output volume is searched for the last logical end-of-file. I If the output tape is already positioned at logical end-of-tape, /APPENDD causes BRU to start writing where the tape is currently positioned. D If the output tape is not positioned at the beginning or at logicalH end-of-tape, /APPEND/REWIND will rewind the tape and then space forward until the logical end-of-tape. E If the tape is a continuation tape (that is, not the first tape of aG tape set) o r if the last backup set does not end on the tape, an error message is displayed. /BACKUP_SET # BRU>/BACKUP_SET:name source target G The /BACKUP_SET qualifier allows you to specify the name of the backupD set to be placed on the tape. The default is the volume name of theE disk being backed up. This name may be up to 12(10) characters long. G When applied to an output tape volume, the backup set name assigns theH name of the backup set being placed on the volume. Multiple backup sets" may be placed on a single volume. E When applied to an input tape volume, the first tape is searched forF the specified backup set name. If you specify no backup set name with@ the input volume, the first backup set on the tape is restored. B Several sequential backup sets from the same tape can be restoredF without having to rewind the tape between operations. The first tape= in the backup set is not rewound unless you specify /REWIND./BAD . BRU>/INITIALIZE/BAD:[AUTO MATIC] source target MANUAL OVERRIDE B The /BAD qualifier is used with the /INITIALIZE qualifier during @ tape-to-disk or disk-to-disk operations. /BAD creates the file BADBLK.SYS on the output disk. F For last-track devices, AUTOMATIC causes the manufacturer's bad blockD information and the software detected bad sector file to be used toE create BADBLK.SYS. For nonlast-track devices, the software bad blockA descriptor block is used to cre ate BADBLK.SYS. AUTOMATIC is the default option. D OVERRIDE applies only to last-track devices, causing the last-trackG device to appear to be a nonlast-track device. When OVERRIDE is speci-A fied, BRU uses the software bad block descriptor block to create= BADBLK.SYS and ignores the manufacturer-written information. F MANUAL accepts the addresses of bad blocks entered interactively from; the terminal. MANUAL also requests BRU to use either the E manufacturer-written bad block in formation and the software-detectedE bad sector file (for last-track devices) or the bad block descriptor8 block (for nonlast-track devices) to create BADBLK.SYS./BUFFERS - BRU>/INITIALIZE/BUFFERS:number source target F The /BUFFERS qualifier specifies the default number of directory FileE Control Blocks (FCBs) on each volume. The FCBs are stored in memoryG by the ACP when the volume is mounted. The more FCBs there are storedG in memory, the faster that files contained in heavily used directoriesG are found. The default number of buffers is the same as for the input disk. E The /BUFFERS qualifier is used with the /INITIALIZE qualifier during) tape-to-disk or disk-to-disk operations./COMPARE  BRU>/COMPARE source target G The /COMPARE qualifier compares the data on the output device with the@ data on the input device and reports any differences. No data 1 transfer takes place during a compare operation. D The command line specifying the compare operation must be identicalE to that entered when the data on the output volume was created, withI the exception of the /INITIALIZE, /NOINITIALIZE, and /APPEND qualifiers./CREATED 7 BRU>/CREATED:BEFORE:(dd-mmm-yy hh:mm:ss) source target BEFORE:dd-mmm-yy BEFORE:hh:mm:ss( AFTER:(dd-mmm-yy hh:mm:ss) AFTER:dd-mmm-yy AFTER:hh:mm:ss B The /CREATED qualifier allows you to select for backup or restore> files cre ated before or after the specified date and/or time. B If you use the BEFORE option, BRU copies any files created before the specified date and/or time. F If you use the AFTER option, BRU copies any files created on or after: the specified date and/or at or after the specified time. H If you specify both a date and time, the date and time must be enclosedF in parentheses. If you specify only a date or only a time, the paren-H theses are not necessary. If you specify only a time, the current date B is used. If you specify only a date, the time defaults to 00:00. /DENSITY " BRU>/DENSITY:number source target F The /DENSITY qualifier specifies the density at which a magnetic tape3 is to be written. The following values are legal: 9 Drive Default Density Optional Density 3 TU10/TE10 800 none3 TU16/TE16 800 16003 TU45 800 16003 TU77 800 16003 TS11 1600 none3 TU78 6250 1600 F If you specify /DENSITY with /APPEND, you must specify the density atI which the existing tape data was written. If you specify a density otherC than the original density, a warning message will be displayed and1 processing will continue at the correct density. F If you specify an incorrect density for a restore operation, an error6 message is displayed and the operation is terminated. /DIRECTORY  BRU>/DIRECTORY source& BRU>/BACKUP_SET:name/DIRECTORY source D The /DIRECTORY qualifier lists the backup set names or files on theD specified tape volume. In a multivolume tape set, the directory is on the first tape of the set. H When specified with no backup set name, /DIRECTORY lists all the backup sets on the volume. E When used with the /BACKUP_SET qualifier, /DIRECTORY lists the filesD in the specified backup set. If the backup set is not on the tape,? an error message is displayed and the operation is terminated./DISPLAY  BRU>/DISPLAY source target H The /DISPLAY qualifier prints the file name and UFD of each file as the+ header for that file is being transferred./ERRORS  BRU>/ERRORS:number H The /ERRORS qualifier requests termination of a restore operation afterA the specified number of nonfatal tape read errors have occurred. @ The range for number is 0 to 65535. The default is /ERRORS:25./EXCLUDE % BRU>/EXCLUDE ddnn:filespec(s) target G The /EXCLUDE qualifier specifies that files matching the file specifi-C cations in the command line be excluded from the backup or restore operation. /EXTEND , BRU>/INITIALIZE/EXTEND:number source target D The /EXTEND qualifier specifies the default number of blocks a fileC will be extended when that file has exhausted its allocated space.9 This value is used by an ACP when the volume is mounted.  D The /EXTEND qualifier is used with the /INITIALIZE qualifier during) tape-to-disk or disk-to-disk operations./HEADERS - BRU>/INITIALIZE/HEADERS:number source target H The /HEADERS qualifier specifies the number of file headers to allocateG initially to the index file. The primary reason for preallocating fileF headers is to locate them near the storage bitmap file. Proper place-H ment of file headers can help reduce head motion during I/O operations. E The /HEADERS qualifie r is used with the /INITIALIZE qualifier during* tape-to-disk and disk-to-disk operations. /INITIALIZE  BRU>/INITIALIZE source target D The /INITIALIZE qualifier specifies that you want to initialize theE output disk during a tape-to-disk or disk-to-disk operation. Initia-E lization places a Files-11 structure on the disk, including the boot6 block, the home block, and the required system files. D Along with the /INITIALIZE qualifier, you can specify the followingE qualifier when you are initializing a disk: /BAD, /BUFFERS, /EXTEND,E /HEADERS, /MAXIMUM, /NOPRESERVE, /OUTVOLUME, /POSITION, /PROTECTION,A and /WINDOWS. If you do not specify any of these qualifiers, the. characteristics of the input volume are used. /INVOLUME ! BRU>/INVOLUME:name source target F The /INVOLUME qualifier specifies the volume label of the input disk./ This name can be up to 12(10) characters long. F For disk-to-tape or disk-to-disk operations, the volume label of the G i nput volume is checked to verify that the disk has the correct label.= This check ensures that you do not back up the wrong volume. H For restore operations, BRU checks the volume label of the disk that is" stored in the backup set on tape./LENGTH ! BRU>/LENGTH:number source target G The /LENGTH qualifier specifies the length of the output tape in deci-F mal feet. If the length specified exceeds the length of the tape, theG entire length of the output tape will be used. In cases where you knowG the end of the tape must not be used, you can specify a shorter length: to ensure that you do not write on that part of the tape./MAXIMUM - BRU>/INITIALIZE/MAXIMUM:number source target F The /MAXIMUM qualifier specifies the maximum number of files that canF be placed on a volume, as determined by the number of file headers inF the volume's index file. The default maximum is the maximum number of files on the input disk./MOUNTED  BRU>/MOUNTED source target D The /MOUNTED qualifier allows you to back up files from a disk that! is mounted as a Files-11 volume. F Note that disk activity while the files are being backed up may cause undesirable results. /NEW_VERSION  BRU>/NEW_VERSION source target F The /NEW_VERSION qualifier resolves file specification conflicts thatC occur during restore operations when a file already exists on the : output disk volume by creating a new version of the file. /NOINITIALIZE BRU>/NOINITIALIZE source target F /NOINITIALIZE specifies that you do not want to initialize the outputE disk because it is already in Files-11 format. The output disk must> be mounted as a Files-11 volume. You cannot enter any of theD initialization qualifiers when you specify /NOINITIALIZE. Doing so results in an error message. /NOPRESERVE ) BRU>/INITIALIZE/NOPRESERVE source target E The /NOPRESERVE qualifier specifies that you do not want to preserve? file-IDs. BRU suppresses the message about file-IDs not beingG preserved. Note that when restoring to a mounted disk, not preserving# files-IDs is BRU's default action. @ When file-IDs are not preserved, new file-IDs are assigned and  incremented sequentially. /NOSUPERSEDE  BRU>/NOSUPERSEDE source target F The /NOSUPERSEDE qualifier specifies that when file specifications onD the output volume are identical to file specifications on the inputE volume, the files on the input volume are not transferred (the files* on the output volume are not superseded). 3 The default is /NOSUPERSEDE. See also /SUPERSEDE. /OUTVOLUME " BRU>/OUTVOLUME:name source target H The /OUTVOLUME qualifier specifies the volume label of the output disk.5 This label can be up to 12(10) characters in length. F For disk-to-tape backup operations, the name of the input disk volumeG stored on the output tape volume is changed to the name specified with the /OUTVOLUME qualifier. G For tape-to-disk restore operatio ns or for disk-to-disk transfers, theE name of the output disk volume is changed to the name specified with the /OUTVOLUME qualifier. /POSITION 1 BRU>/INITIALIZE/POSITION:BEGINNING source target MIDDLE END& BLOCK:number D The /POSITION qualifier specifies the location of the index file onE the output disk volume being initialized, usually to minimize accessE time. The BEGINNING, MIDDLE, and END options specify the beginning,B middle, and end of a volume. The BLOCK:number option specifies aB block number where the index file is to be placed. The BEGINNING@ option is generally used only when a disk mostly contains large contiguous files. J The default location is at the same location as that on the input disk. /PROTECTION 6 BRU>/INITIALIZE/PROTECTION:SYSTEM:value source target' OWNER:value' GROUP:value' WORLD:value G The /PROTECTION qualifier specifies the default protection for all new@ files created on the disk after the BRU transfer has completed.A Each access code consists of a positional keyword specifying theH protection group (SYSTEM:, OWNER:, GROUP:, WORLD:) followed by a 4-code- group specifying the protection, as follows: % R - allow read access to file& W - allow write access to file% E - allow file to be extended$ D - allow file to be deleted E If this qualifier is not specified, the defaults from the input disk are used./REVISED 7 BRU>/REVISED:BEFORE:(dd-mmm-yy hh:mm:ss) source target BEFORE:dd-mmm-yy BEFORE:hh:mm:ss( AFTER:(dd-mmm-yy hh:mm:ss) AFTER:dd-mmm-yy AFTER:hh:mm:ss F The /REVISED qualifier allows you to back up or restore files revised- before or after the specified date and time. H If you use the BEFORE option, BRU cop ies any files revised on or before the specified date and/or time. F If you use the AFTER option, BRU copies any files revised on or after: the specified date and/or at or after the specified time. I If you specify both a date and time, the date and time must be enclosed E in parentheses. If you specify only a date or time, the parenthesesE are not necessary. If you specify only a time, BRU uses the currentE date as a default. If you specify only a date, the time defaults to 00:00./REWIND  BRU>/REWIND source target F The /REWIND qualifier causes the first magnetic tape of a tape set to> be rewound before BRU executes a backup or restore operation. E When specified with an input tape, the first tape of the tape set is0 rewound before it is searched for a backup set. @ When specified with /APPEND, the input tape is rewound and thenD searched for the logical end-of-tape before BRU executes the backup operation. /SUPERSEDE  BRU>/SUPERSEDE source target H The /SUPERSEDE qualifier specifies that when file specifications on theD output volume are identical to the file specifications on the inputG volume, the file on the output volume is deleted and replaced with the file from the input volume. F The /NOSUPERSEDE qualifier specifies that when file specifications onD the output volume are identical to file specifications on the inputE volume, the files on the input volume are not transferred (the files* on the output volume are not superseded).  /NOSUPERSEDE is the default. /TAPE_LABEL $ BRU>/TAPE_LABEL:label source target F The /TAPE_LABEL qualifier specifies the 6-character volume identifierG on the ANSI VOL1 label to be placed on the tape during a backup opera-I tion or to be compared with the label on the tape for append and restoreE operations. This allows you to verify that you are using the correct tape./UFD  BRU>/NOINITIALIZE/UFD D The /UFD qualifier creates UFDs (if they do not already exist) on aE mounted output volume, then copy into it the files from the same UFDB on the input volume. If /UFD is not specified, the files are not/ copied. /UFD is used only with /NOINITIALIZE./VERIFY  BRU>/VERIFY source target D The /VERIFY qualifier copies data from the input volume, performs aC a compare operation between the input volume and the output volume1 after the transfer, and reports any differences./WINDOWS . BRU>/INITIALIZE/WINDOWS:numbers source target H The /WINDOWS qualifier specifies the default number of mapping pointersF to be allocated for file windows when initializing an output disk. AF file window consists of a number of pointers and is stored in memory  when the file is opened.  J The default number of mapping pointers is the same as for the input disk. 2 Examples 4 Example of a complete disk copy to a 1600 bpi tape:  BRU>/DENSITY:1600 DB2: MM0: E Example of a copy from tape to disk, initializing the disk and using prompting:  BRU>/DENSITY:1600 FROM: MM1: TO: DK2:* INITIALIZE THE OUTPUT DISK? YES E Example of a disk-to-disk transfer from a mounted disk, initializing the output disk:  BRU>/INITIALIZE/MOUNTED FROM: DB0: TO: DB3: 2 VMS_UsageF BRU cannot be fully utilitized under VMS at this time, only a limitedG set of qualifiers work in limited circumstances. At the present time,E BRU from RSX-11M V4.0 is available on the system as BRU4.EXE and may be executed by doing:* $ MCR BRU4 -or- $ RUN SYS$SYSTEM:BRU4 BRU>G Input must be entered in response to the BRU prompts, the command line. (with the MCR command) does not seem to work. 3 Not_doable< Just for clarity here is what one cannot do with BRU on theA VAX. For the most part trying to do one of these in reading aA BRU tape will result in a "No privilege" error message from BRU:B 1. BRU cannot output to any OD S-2 disk. This includes notB being able to write to your current directory using device SY:.B 2. BRU will also not allow one to write on an ODS-1 disk thatB is already initialized (that is you use the /NOINITIALIZEB qualifier on the BRU command). This does not work whetherB the output disk volume is mounted as a Files-11 volume or asB a foreign volume (/FOREIGN) and irrespective of the LOG_IO privilege. 3 ReadingD It is possible to read RSX V4.0 BRU tapes on the VAX by obeying the following restrictions:B 1. The input tape must be mounted as a foreign volume (/FOREIGN).B 2. The output disk must also be mounted as a foreign volumeB (/FOREIGN). In this case the logical I/O (LOG_IO) privilegeA appears to be unnecessary provided VMS permits you to mount" the disk or you have VOLPRO.B 3. BRU must be told to initialize the output disk volume itselfB (possibly with a /INITIALIZE in the BRU command line). This> must be done even if reading a single UFD from the tape.A In reading from a BRU tape to disk one is restricted to writingA to a scratch disk as any other information on the disk is wipedA when BRU initializes the volume. BRU will quite happily restore; the entire tape or just a single UFD to this scratch disk. 3 WritingD It is possible to read RSX V4.0 BRU tapes on the VAX by obeying the following restrictions:B 1. The output  tape must be mounted as a foreign volume (/FOREIGN).B 2. The input disk can be mounted as foreign in which case the' LOG_IO privilege was unnecessary.B 3. The input disk can also be mounted as a Files-11 volume. InB this case the LOG_IO privilege is required and the BRU5 command line must include a /MOUNTED qualifier.- 4. The input disk must be an ODS-1 volume.A BRU seems to work equally well whether the entire disk isA written to tape or just a single UFD is written. However, BRUA is again unable to handle even the current directory of an ODS-2 disk.ww` u 1 BUILDER= This command procedure is used to build a program or library4 by compiling and (possibly) linking a set of files. The procedure is invoked via:8 @FERMI$EXE:BUILDER bldfile option[,...] [uparams...]; The procedure decodes the option list and then invokes the@ specified program build file (bldfile parameter) after defining@ several specific DCL symbols. These symbols are not defined as? global but can be treated as such by the user's build file and) any command procedures which it invokes.@ This procedure initially deletes all .LST and .OBS files in theA default directory. If COMPILE option is on, .LIS and .OBJ filesA are also deleted. If LINK option is on, .MAP files are deleted.@ A prototype build file can be found in FERMI$EXE:PROTOTYPE.BLD. 2 ParametersbldfileC specifies a command pr ocedure with a default file type of .BLD.A This is the user's procedure which performs the compilations,> library builds (if any) and link(s) to build the specified? program or programs. See topic "Symbols" for a list of the5 DCL symbols defined to be used in the build file. option[,...]@ a series of one or more keywords (separated by commas) which> serve to control the program build process, usually by the definition of DCL symbols.uparamsA one or more parameters (enclosed in "" if more than one) user= parameters to be passed directly to the user's build file) named in the first BUILDER parameter. 2 OptionsB The following are the recognized option keywords. In many cases,@ the keyword may be preceeded by "NO" to turn off the option. AD keyword may be abbreviated to the first 3 characters (excluding any preceeding "NO"). 3 COMPILE@ This option causes the source files to be compiled (assembled). The default is COMPILE.3 CRF= This option causes the listings to include cross references.; The default is CRF (only used if listings are being made).3 DEBUGB This option causes the object code and executeable image (if any)+ to include local symbols for the debugger. The default is NODEBUG.3 HELP> This option causes the DO_HELP symbol to be defined. This is? intended to use HDRSTRIPR to extract the HELP text from source( files and construct a new help library. The default is NOHELP.3 LINKB This option causes the LINK step of the build (if any) to be made6 to produce and executeable (or shareable) image file. The default is LINK.3 LISTC This option causes the compilations (if made) to produce listings. The default is NOLIST.3 LNKDBGA This option controls the /DEBUG qualifiers of the LINK commands.; If both DEBUG and NOLNKDBG are given as options, then the B compilations and assemblies are made with /DEBUG qualifiers while; the linked images are not (i.e. NOLNKDBG overrides DEBUG).C Note that for the /DEBUG qualifier to be used on the LINK command,5 both the DEBUG and LNKDBG options must be specified! The default is LNKDBG.3 MAP@ This option causes a linker map to be produced if the LINK step is made. The default is MAP.3 OBJECT? This option causes the compilations (if any) to produce object files. The default is OBJECT.3 PRINT< This option causes the DO_PRINT symbol to be set to TRUE to. request printing of any listing or map files. The defau lt is PRINT.3 QUIET= This option causes the build file to be entered with command procedure verification on.; The default is NOQUIET for batch jobs and QUIET otherwise.3 SAVE; This option causes BUILDER to not delete the various files; (*.OBJ, *.LIS, *.MAP, etc.) that it would normally delete.> This is useful when building several programs in order in the> same directory to prevent the n+1'th build from deleting (for? instance) the print files from the n'th build. The default is obviously NOSAVE.3 TEST> This option causes the TEST_VERSION symbol to be set to TRUE.< The interpretation of this symbol is up to the user's build file. The default is NOTEST.3 TRACEE This option controls the /TRACEBACK qualifiers of the LINK commands.A If both DEBUG and LNKDBG are specified, then the TRACE option is? ignored. If NODEBUG or NOLNKDBG is set, then the TRACE optionA controls whether a /TRACEBACK or /NOTRACEBACK qualifier is added- to the LINK commands. The default is TRACE. 2 Symbols? The following symbols are defined by this procedure to be used in the build file:< do_compiles set to TRUE if compilations are to be done? do_help set to TRUE if the help library is to be made7 do_links set to TRUE if LINK'ing is to be done8 do_listings set to TRUE if listings are being made7 do_map set to TRUE if link map is being made< do_objects set to TRUE if object files are being madeD do_print set to T RUE if listing/map files are to be printed, test_version set to TRUE by TEST option$ DO_C invokes C compiler* DO_FOR invokes FORTRAN compiler) DO_MAR invokes MACRO assembler+ DO_MSG invokes MESSAGE assembler) DO_PAS invokes PASCAL compiler> DO_LINK invokes the VAX-11 Linker (/EXECUTABLE=name)= DO_SLNK invokes the VAX-11 Linker (/SHAREABLE=name)3 Utility_symbolsD The following are utility symbols created by th e BUILDER procedure.< COMPILES invokes the COMPILER.COM command procedure4 NOMSGS turns off all exit status messages0 NOVICE turns on messages (all fields)6 EXPERT display only text fields of messages 3 Image_filesD The DO_LINK command can generate an executable image file using theB /EXECUTABLE=name qualifier (the image file name is taken from theF build file name). The DO_SLNK command can generate a shareable imageE with the /SHAREABLE=name qualif ier. Neither command includes eitherD qualifier (/EXECUTABLE or /SHAREABLE) in its definition and must be added in the build file.3 Listing_filesC The processor-invoking symbols create listing files with the /LISTC qualifier. The listing file will have a file type of .LIS and the? file name given by the first input source file. If the NOLISTE option was given, the /NOLIST qualifier will be used in the symbols. 3 Map_filesE The DO_LINK and DO_SLNK symbols create a map file wit h the /MAP=nameC qualifier. The map file will have a file type of .MAP and the fileF name given by the file name of the build file (parameter to BUILDER).D If the NOMAP option was given, the /NOMAP qualifier will be used in DO_LINK and DO_SLNK symbols.3 Object_filesD The processor-invoking symbols create object files with the /OBJECTB qualifier. The object file will have a file type of .OBJ and theA file name given by the first input source file. If the NOOBJECTG option was given, the /NOOBJECT qualifier will be used in the symbols.ww׍ ̊1 BURSTFD BURSTF bursts the subroutines, functions, programs, and block datas< from a FORTRAN source file into their own individual files. Format: $ BURSTF file_spec C where BURSTF has been defined as a Foreign command by defining the DCL symbol:# $ BURSTF :== $FERMI$EXE:BURSTF2 Output_files A Subroutines and functions are written to .FOR where A is the name of the subrou tine or function. The same is true forA PROGRAM and BLOCK DATA sections, assuming the section has a nameD (e.g. PROGRAM TEST or BLOCK DATA TEST). Otherwise BURSTF will writeB main programs to MAINx.FOR and block datas to BLOCKx.FOR, where xB x is a sequence number which is incremented for each new BLOCK or main program file. $ NOTE:@ BURSTF assumes that the keywords PROGRAM, SUBROUTINE, FUNCTION,C BLOCK DATA, and END appear as above with no extra embedded blanks,+ however upper or lower case is acceptable. 2 File_listsF BURSTF writes the name of each file created to the terminal. The fileH names may be written to a file instead by appending ">filename" to the. end of the command line to create a new file:' $ BURSTF input_file >names_fileE If ">>filename" is used instead, then the list of file names will be appended to an existing file.E The file with the list of file names may be used to create a commandF file to compile the FORTRAN program units, or to recombine the files, etc.  ww`71 CCE CC is a compiler for the C language. It is a DECUS "product" and isD otherwise unsupported. It may be used under RSX11-M, RSTS/E, RT11,B and VAX/VMS (compatibility mode). The language is essentially asB described in Kernighan and Ritchie and the Unix V7 documentation.+ The C compiler is invoked by the commands: XCC file.c -switches  or: MCR XCC file.c -switches @ The input file type is default to .C. The C compiler writes anA output file (file type .S) to be assembled by the Unix assembler (AS.EXE). 2 Examples2 The Decus C compiler can be used via the command: XCC file -v > Output from the compiler is a file (file type is .S) in "Unix1 assembler format" which is assembled as follows: XAS file -d ; The resulting .OBJ file is taskbuilt against the C library RSX$C:C.OLB using: TKB! TKB> file=file,RSX$C:C/LB TKB> / ENTER OPTIONS: TKB> stack = 1500 TKB> //@ The "stack" stack option is needed if the program is recursive. 3 DefintionsD Under VAX/VMS, system-wide logical names XCC and XAS are defined toB point the executable images of the C compiler and Unix assembler.* These can be used to define the commands: XCC :== $FERMI$EXE:XCC.EXE XAS :== $FERMI$EXE:XAS.EXE5 or may be used with MCR similar to using MAC or TKB: MCR XCC file -v F (assuming that XCC has be en defined as a logical name for the process1 with the equivalence string FERMI$EXE:XCC.EXE).2 Program_usageD When C programs are run on VMS using the RSX emulator, a Unix-style@ startup sequence is emulated (including redirection of standardC input and output). This requires defining the program as a symbol3 or by accessing the C program via the MCR command: ASSIGN disk:[] PROG' MCR PROG -switch [outfile]G Note that lower-case arguments should be quoted to prevent translation by the operating system.E The program could also be used by defining a DCL symbol and invoking$ the program like any other command:$ COMMAND :== $DISK:[ACCOUNT]PROG.TSK& COMMAND [outfile] -switch  2 Standard_filesE C program read and write from their standard input and output files,C stdin and stdout. These are normally defined to be SYS$INPUT: andC SYS$OUTPUT: under VAX/VMS (actually device TT:). The command lineE arguments "outfile" ar e used to direct standard input and output to specified files.F Under VMS, the stderr file is opened on device CO: (rather than TI:).E It will mean that error messages are written to the command terminalB (SYS$COMMAND:) even if SYS$OUTPUT: is reassigned to another file. 2 Switches< The C compiler recognizes the following switches (specified as "Unix"-format options):4 -a Chain to AS assembler (will not work on VMS).C -d Treat floating-point according to C language specificatio ns.5 -e Generate inline code for multiply, divide, xor3 and shift operations (PDP-11 EIS). (default)4 -f Treat floating-point in non-standard fashion,6 passing function arguments as single-precision.? -l For debugging compiler, dumps internal code trees to the .S file.! -m Disables the preprocessor.; -n Call subroutines for multiple, divide, xor and shift operations.' -p Include profile code generation.0 -r Define rsts before compiling source code. -v Ignored.A -w Suppresses the "variable was defined but never referenced" warning message.6 -x For debugging compiler, retain temporary files.@ -z For debugging compiler, breakpoint trap executed on entry to each overlay.2 Documentation* The following documentation is available:$ CC.DOC Compiler Usage% AS.DOC Assembler Usage+ CLIB.DOC Runtime library Usage. CBUGS.DOC Current list of prob lems1 CX.DOC RSX Executive call routines0 LEX.DOC Lexical Analyzer GeneratorB [WIZARD.DOC Runtime library with internal documentation]B These files (and others) may be found in SYS$SYSROOT:[SYSHLP.CC].ww |1 CDA D RSX-11M CDA helps you determine the cause of RSX-11M system crashesG by analyzing a memory dump created by the Executive Crash Dump Module.D It then formats the information and can create a listing, according1 to the switches you specify on the command line. ) The general form of the command line is: C [listfile/sw],[binaryfile/sw]=[symbolfile/STB],crash-input[/sw] 2 Parameters listfile@ the human-readable CDA output listing. Default file type is .LST. binaryfileA a copy of the binary data the crash dump module writes on the= crash dump device. Can be used for later input to CDA orB saved to maintain a crash history. Default file type is .CDA. symbolfileC  the symbol definition file (RSX11M.STB) for the crashed system.8 CDA defaults to RSX11M.STB in the current directory. crash-input@ the source of the binary input to CDA; the crash dump device; or a binary file created by CDA in a previous analysis. Default file type is .CDA. 2 Analysis; The switches control the analysis of the crash-input file.8 These switches must be applied to the crash-input file. /ACT5 Dumps the active task control blocks. Same as /ATL. /ATL5 Dumps the active task control blocks. Same as /ACT./ADV: Lists control block information on all devices. The /DEV9 switch lists the control blocks only for active devices./ALL Does entire analysis./CLI6 Lists the contents of CLI parser blocks. Can also be specified as /CPB./CLQ' Lists the contents of the clock queue./CTL: Lists the contents of the controller table and controller8 request block for each device controller in the system./DEV= Lists information on acti ve devices. The same effect can be9 produced by any of the /DCB, /SCB or /UCB switches also. /DUMP:a:b[:c]< Dumps physical memory in the range given by a:b (inclusive)/ and labels them with their physical addresses.< Dumps physical memory in the range given by a:b (inclusive)> and labels them with dummy virtual addresses starting with c. Can also be specified as /DMP./HDR- Dumps task headers of memory resident tasks./KDS:a:b RSX-11M-PLUS only.< Lists the contents of kernel data space between the virtual addresses a and b inclusive./KIS:a:b RSX-11M-PLUS only.; Lists the contents of kernel instruction space between the% virtual addresses a and b inclusive./KMR: Forces assignment of kernel APRs when CDA reads incorrect@ Page Address Register (PAR) values from the crash stack (causes> the analysis to abort). This switch can be used to retry the9 analysis and forces CDA to use standard mapping vlues to8 convert the kernel virtual addresses to physical me mory addresses./PAR2 Dumps partition information. Also known as /PCB. /POOL[:a:b]> Dumps primary pool in octal, RAD50 and ASCII in the inclusive3 range. If no range is given, all of pool is dump./SECPOOL[:a:b] RSX-11M-PLUS@ Dumps secondary pool in octal, RAD50 and ASCII in the inclusive= range. If no range is given, all of secondary pool is dump./STD< Dumps all task control blocks in the System Task Directory. Same as /TCB or /TAL./-SYS1 Suppresses the dump of system inf ormation pages./TAL< Dumps all task control blocks in the System Task Directory. Same as /TCB or /STD./TASK=name[:a:b]C Dumps the virtual memory of task "name" between the 16-bit virtual? addresses a and b inclusive. If no range is given, the entire- virtual address space of the task is dumped. Also known as /TAS or /TSK./TCB< Dumps all task control blocks in the System Task Directory. Same as /TAL or /STD./TDS:name[:a:b] RSX-11M-PLUS only.= Dump the contents of the named task's data space between the? virtual addresses a and b includes. If no range is given, the" entire task data space is dumped./TIS:name[:a:b] RSX-11M-PLUS only.@ Dump the contents of the named task's instruction space betweenC the virtual addresses a and b includes. If no range is given, the) entire task instruction space is dumped. 2 Functions; The following switches control secondary functions of CDA. /BL:n? Specifies starting block number for crash-file on input device; if a disk or DECtape. Default is block 1. Applied to the crash-file./DENS:n> Sets tape density to either LOW (800 bpi) or HIGH (1600 bpi). Applied to the crash-file. /MEMSIZ:n; Specifies memory size in K words. Applied to binary-file.; The binary file will be 4*n blocks long, n must be greater than 16. Default is 124./STB> Applied to the symbol-file to identify that the file contains3 the Executive Symbol Table for the crashed system. 2 Listings$ The switches for the list file are: /EXIT[:n]- Terminates analysis after n analysis errors.? Default (with no switch) is to run CDA to completion. If just4 the /EXIT switch is given, CDA exits after 1 error./LIMIT:n9 Limits output listing to n pages. Default is 300 pages./LINES:n6 Specifies the page length as n lines. Default is 60./-SP@ Does not spool the list file. Default is to spool the listing. 2 VMS_Usage, CDA may be used on the VAX via the command: $ MCR CDA commandlineF CDA can read a crash file stored on the VAX disks by itself or it canG read a new crash input disk or tape. If a crash disk or tape is to be. read, it must be mounted as a foreign volume: $ MOUNT dev[:]/FOREIGNww\ ̊1 CLEHCommand Line Editor (CLE) lets you recall commands, edit commands,Hdefine terminal keys, and save commands in a log file. To invoke CLE, type CLE.Format: $ CLEHAfter invoking CLE, press the CLE Help key to display the keypad diagramHand more information about specific CLE functions. The CLE HELP key isdefined to be:E PF2 for VT100 terminals and LA34/LA120 terminals with keypads RED for VT52 terminals% CTRL/P for hardcopy terminals2 terminal-typeHCLE works with VT100, VT52, and LA34 or printing terminals. CLEHautomatically determines what kind of terminal you are using.HUnidentifiable terminals default to the LA34 specification. Be sureHthat your te rminal type is properly set with the DCL command SETHTERMINAL. Type HELP SET TERMINAL for more information about this DCLcommand.2 SetupHIf the CLE command is not already present on your VAX/VMS system, youmust place the command% $ @FERMI$EXE:CLESETUPHinto your login command file (the file SYS$LOGIN:LOGIN.COM). This willHdefine the symbol CLE to invoke Command Line Editor, and will also?create any established system wide or personal key definitions.HBy default, CLE does not keep a log file of interactive commands. ToHstart a log file with CLE, you must issue the CLE function START LOGHFILE. If you wish to have a log file started automatically by CLE,place the command $ CLE_LOG :== ONHin your login command file. To specify the log file to be other than-the file SYS$LOGIN:CLE.LOG, place the command. $ DEFINE CLE$LOG log-file-nameHin your login command file, where log-file-nam e is the specification ofthe desired log file.2 Function-listHThe following CLE function numbers may be used to define a terminal keyHto have the corresponding function, by defining the key to be the stringH"#n". Defining the LINEFEED key to be "#11" for example, will allow-LINEFEED to be used for DELETE PREVIOUS WORD.A #1 KEY NOT DEFINED #17 DELETE LINE END #-1 DEFINE PROMPTB #2 INSERT CHAR #18 RETYPE #-2 START LOG FILE@ #3 LEFT CHAR #19 BEGIN OF LINE #-3 END LOG FILE' #4 RIGHT CHAR #20 END OF LINE' #5 MOVE CHAR #21 DELETE LINE( #6 DELETE PREV CHAR #22 CLEAR SCREEN$ #7 DELETE CHAR #23 CLE HELP# #8 LEFT WORD #24 ADVANCE" #9 RIGHT WORD #25 BACKUP& #10 MOVE WORD #26 DEFINE KEY! #11 DELETE PREV WORD #27 RESET1 #12 DELETE WORD #28 DELETE KEY DEFINITION #13 PREVIOUS COMMAND #29 EXIT! #14 NEXT COMMAND #30 ENTER* #15 MOVE COMMAND #31 NULL OPERATION0 #16 DELETE LINE BEGIN #32 SAVE KEY DEFINITIONSww撨q 1 CLEXTRACT5 Extract command definition(s) from a CLI tables file < CLEXTRACT builds an output file suitable for input to the> command language editor (CLEDITOR). This file contains theC specified verb or of all verbs in the file specified by /TABLES.  Format: CLEXTRACT 2 /ALL5 Extract all VERB definitions. Do not use with /VERB.2 /CLI8 Name of CLI type. Must be DCL or MCR. Default is DCL. 2 /OUTPUT1 Output file specification. Default is SYS$OUTPUT 2 /TABLES CLI tables file specification. 5 For DCL the default is SYS$LIBRARY:DCLTABLES.EXE5 For MCR the default is SYS$LIBRARY:MCRTABLES.EXE2 /VERB: Verb to extract. /VERB must be specified if /ALL is not. 2 DefinitionA CLEXTRACT may be defined as a DCL command for an individual user by executing the command:" $ SET COMMAND FERMI$EXE:CLEXTRACTww y 1 CLIBDOC? Command procedure to get CLIB help text and prepare a shorter,( paginated form for printing (CLIB.DOC).& To create, print and delete CLIB.DOC:0 @FERMI$EXE:CLIBDOC !via LCPRINT/ @FERMI$EXE:CLIBDOC NARROW !via NPRINT+ To create and print CLIB.DOC (saves file):0 @FERMI$EXE:CLIBDOC SAVE !via LCPRINT/ @FERMI$EXE:CLIBDOC SAVE NARROW !via NPRINT To just create CLIB.DOC file: @FERMI$EXE:CLIBDOC NOPRINTww`Py1 CMPH CMP, the RSX-11M file compare program, is used to determine differencesC between ASCII coded files. The general form of the command line on the VAX is: D $ MCR CMP outfile/switch(es)=infile1/switch(es),infile2/switch(es) 2 Parameters outfileA file specification for the output file. If not specified, itB defaults to TI:. The file specification defaults (for missing* fields) are SY:[current UIC]FILCOM.LST infile1,infile2B file specification for the input files. The default file typeC for infile1 is .MAC. The infile1 file specification is used to6 supply the defaults for missing fields of infile2. 2 Switches@ Switches may be negated by use of a "-" between the "/" and the switch mnemonic: "/-sw"./BLB Include blank lines in comparison. Default is /-BL to ignore the blank lines./CBC List infile2 with change bars indicating differences. The default is /-CB./COB Comments (text preceded by ";") are to be included in comparison.3 The default is /CO. To ignore comments, use /-CO./DID Print differences between files. This is the default. /DI and /CB5 are mutually exclusive switches. /CB overrides /DI./FF? Include records of a single form-feed character in comparison. The default is /-FF./LI:nB Count of lines to be identical in comparison before a match. The default is /LI:3./LNF Assign line numbers when displaying differences. /LN is the default./MBB Include blanks and tabs in comparison. If /-MB is used, CM P willD interpret an sequence of multiple tabs or blanks as a single blank.@ However, all blanks and tabs are printed in the output listing. The default is /MB./SL[:au]D Create a SLP-compatible output file of differences with "au" as the@ audit trail (1-8 alphanumeric characters). /-SL is the default./TBC Include trailing blanks in comparison. When /-CO/-TB is specified@ the blanks preceding the ";" are treated as trailing blanks and% ignored. The default value is /TB. /VB:nnn= S pecify octal character code for change bar (used with /CB).G Vertical bar is specified by /VB:174 and exclamation point by /VB:041.ww`̊1 CNVCThe RMSCNV command utility provides a mechanism for creating a new,Dsuperseding an existing, or appending to an existing Sequential fileDfrom the records of an existing file of any organization. Also, theErecords of a file of any organization can be written into an existing?Relative or Indexed file. The format of the RMSCNV command is:/ MCR CNV outfile[/switch(s)]=infile[/switch(s)]Aoutfile is the filespec of the output file that will receive the 9 records of the input file. Wildcards are not permitted.<infile is the filespec of the input file. Wildcards are not permitted.JThe command line may also consist of the word HELP or a question mark (?);(RMSCNV will respond with a HELP message. 2 Switches/IDDRMSCNV will print its current version number. May appear alone as a command line./SL[:filespe c]FRMSCNV will produce a summary listing. The listing will appear on theterminal if just /SL is used./APEAppend records to an existing Sequential outfile. Conflicts with /SU./BL[:nnnn] (D=512)ASet physical block size of the output file on magnetic tape. AnyBsize from 18 to 8192 bytes may be used, but will be rounded to thenext higher multiple of 4./FO:val (D=SEQ)Output file organization: SEQ Sequential file REL Relative file IDX Indexed file/LOHFor an Indexed outfile !, directs RMSCNV to write records into the bucketsDaccording to the fill numbers established with the file was created./MAFUse Mass Insert and sequential put operations to optimize performance.CTo use, infile must be sorted according to the Primary Key field ofBthe output file and should contain records with Primary Key values$greater than any already in outfile. /PD[:[#]x]EPad records read from infile to the outfile's record length. Paddingcharacter is specified by: PD null byte (val "ue 000 octal)< PD:x x is ASCII A-Z, 0-9, or special character except #,?,@< PD:#x x is octal number 0-377 (43 for #,77 for ?,100 for @)/SU<Supersedes an existing Sequential file. Conflicts with /AP./TR<Truncate records from infile to the outfile's record length./WFHHandle variable-with-fixed-control (VFC) format records in either infile or outfile:4 VFC->VFC Copy if fixed control areas are same size, abort otherwise.@ VFC->FIX,VAR, Write fixed control area as 1st n bytes (n is # its5 STM size) of outfile record. Remainder is variable portion of outfile record.> FIX,VAR,->VFC Write first n bytes into fixed control area and8 STM remainder into variable portion of outfile record.FIf /WF is not used, the fixed control areas of VFC records are ignored2(lost from infile or not written into on outfile). /KR:n (D=0)FIndicates the key (0 for Primary Key, 1 for First Alternate Key, up toD9) that establishes the order in which records are sequentially readfrom the$ Indexed infile.ww kWV 1 COMPILERA This command procedure is used to compile a set of source files. The procedure is invoked via:4 @FERMI$EXE:COMPILER file[,...] [objall] [lstall]= This procedure is only meant to be called from program build= procedures that are invoked using the BUILDER.COM procedure.= The global symbols that this procedure requires to have been> built are listed under the "Global_Symbols" topic. The error< status returned is that of the last f %ailing compilation (or: assembly) even though all the compilations are performed. 2 Parameters file[,...]A a series of one or more source file specifications (separated@ by commas if more than one). Each source file specification= may individually include wildcards. The actual processorA used for the compilation/assembly is determined from the file? type after the resolution of any wildcards. If no explicitB file type (or wildcard) is given, the wild card file type &".*" is used.objallA this file specification defines the file to which the createdA object files are appended (the individual .OBJ files are thenC deleted). If the file does not exist initially, it is created.A If this parameter is not given, the individual .OBJ files are kept.lstallB this file specification defines the file to which the separateB listing files from the compilations are appended. If the fileB does not exist initially, it is created. If' this parameter isB not given, the individual listing files will be deleted unless" there was a compilation error. 2 LibrariesF Several of the language processors support command line constructions of the form: COMMAND file+libe/LIBRARYA to specify a macro or text library with additional source. This@ command procedure recognizes file specifications (from the fileA parameter) of the format "file1+file2" where file2 is assumed to= include a "/LIBRARY" and may not include (any wildcards. TheC file1 specification may include wildcards (by default has its fileD type wildcarded). In addition, "default" libraries for some of the: language processors may be defined by the global symbols:6 C_LIBRARY Text library for C program #INCLUDE's; FORTRAN_LIBRARY Text library for FORTRAN program INCLUDE's0 MACRO_LIBRARY Macro library for MACRO program< If used, the value of these symbols should have the format:1 +library_spec/LIBRARY{+library2_spec/LIBRARY...)}2 Source_typesA The command procedure recognizes the following source file types and the compilers invoked:$ .C VAX-11 C Compiler (CC)% .FOR VAX-11 FORTRAN Compiler' .MAR VAX-11 MACRO-32 Assembler& .MSG VAX-11 MESSAGE Assembler$ .PAS VAX-11 PASCAL Compiler3 Ignored_types@ The command procedure ignores all files with the following file types:5 VMS file types and procedures: .BLD, .COM, .DIR< Compiler/linker output file*s: .EXE, .LIS, .LST, .MAP,/ .OBJ, .OBS) Temporary files .TMP5 Macro/object/text libraries: .MLB, .OLB, .TLB) "Old" sources and other files: .OLD2 Global_SymbolsB The following symbols must be defined for this command procedure:8 do_listings set to TRUE if listings are being made< do_objects set to TRUE if object files are being made= DO_C invokes C compiler with specific qualifiersC DO_ +FOR invokes FORTRAN compiler with specific qualifiersB DO_MAR invokes MACRO assembler with specific qualifiersD DO_MSG invokes MESSAGE assembler with specific qualifiersB DO_PAS invokes PASCAL compiler with specific qualifiersC These symbols are normally defined by the BUILDER procedure as theB outer command procedure but may also be defined as global symbols in the DCL sense.ww71 CTOOLSC The following "Software Tools" are avai,lable -- all are written inB C, using the Decus C compiler. Note that all are available on an as-is basis.C Most tools are controlled by including arguments in the invocation6 line. This requires predefining the tool as follows:= VMS Tools are defined as external commands as follows:/ toolname :== $FERMI$EXE:tool.EXED where the image file is located in FERMI$EXE:. When this: is done, "toolname arguments" invokes the tool.B RSX-11M T -ools are installed -- they use GMCR$ to read commands. 2 Redirection= Except as noted in the indivdual tools, all programs support Unix-style I/O redirection:> tool output.fil Write to output.fil instead of to the' user's terminal.A tool >>output.fil Append to output.fil (not on native RT11).B Note that this use of '<' and '>' may conflict .with VMS directory specification usage.2 AR! Usage: ar -options archive filesB AR manages a library of text modules. Important options include:& -v Verbose -- document all actions.5 -i Insert modules into the archive, creating a new archive if necessary.& -x Extract modules from an archive. For example:C ar -i macfil.arc *.mac -- Build an archive of macro programs.C ar -x macfil.arc xyz.mac -- Extract "xyz.mac" from the archive.2 BUILD8 Usage: build/ -options [-l library] [-o out_file] files@ BUILD generates command files to compile C programs. Important options include:9 -x opsys Operating system name, if not the one under' which BUILD was compiled. -v VerboseE -l library Build a library, the argument is the file name to write the library onto.D Programs to be build must have a "/*)BUILD ... */" comment in their source file.2 GREP7 Usage: grep [options] regular__expressio0n [ file ...]C Grep searches each specified file (if none are specified, it reads@ the standard input) for lines matching the given pattern. GrepE allows wild-card file names in the file list. The following options are recognized:+ -c Only print a count of matching lines.( -f Print file name option, see below.+ -n Preceed each line by its line number. -v Print non-matching lines." Invoke "GREP ?" for on-line help.2 KWIK0 Usage: kwik [- [sr]] [-t offset] file_list . 1..D Kwik constructs a keyword in context (kwik) index using the data inE the named files, writing the resulting index to the standard output.6 The standard input is read if no files are specified;B kwik may be used as a filter. The following options are defined:A -s The kwik index normally excludes common (stop) words. This7 option causes the following words to be included:> a an and by for from in of on to the with1 -r Make the index in reverse alphabetic 2 order.E -t To build index tables, the source data is entered in the format nameindex text@ The index will be output with the name in column 1 and the< kwik'ed text in the column indicated by the -t option.2 LEX; Usage: lex [-options] [-i grammar] [-o outfile] [-t table]B Lex compiles a lexical analyser from a grammar and description ofG actions. It is described more fully in lex.doc. The options include:0 -a Enable (disable?) 7-bit ascii mode. 3? -i file Read the grammar from the file instead of from the standard input.A -o file Write the output to the file instead of to lextab.c.C -t table Name the recognizer "table" instead of "lextab" If -oD is not given, output will be written to file "table.c".D -v [file] Verbose -- write internal tables to the file, if given, or to lex.out.2 MC Usage: mc [-options] file_listE Mc (multi-column) writes the input files to stdout in a m4ulti-column8 format. If no files are specified, stdin is converted. Options:, -c value Number of columns, default is 2< -h value Height: number of lines per page, default is 60> -w value Width: number of columns per line, default is 1322 MP% Usage: mp infile[.c] [outfile[.mpc]]C Mp is a full-scale macro preprocessor for C programs. If only oneF input file is given, output is to "infile.mpc". It is generally used as follows: mp infile.c xcc infile.mpc -m 5xas infile -d delete infile.mpc;*5 The -m option to xcc skips the Decus C preprocessor.2 NM! Usage: nm [-options] files[.obj]E Nm (NameList) reads through an object file or a TKB symbol table andD prints a list of all the symbols it finds. Wild card filenames are allowed. Options include:C -1 Output names in one column, default is four columns per line., -b Include RSX-11M control block symbols.* -c Include C compiler internal symbols.A -d Differences. The symbol 6 table is sorted by address and the? symbol value printed is the difference between it and theE next symbol. This may be used to see how large each module is.9 -f Print symbols in file order. No sort is performed.6 -g Print only global symbols. (Supress internals).3 -m Map Radix-50 "." to underscore for C symbols.( -r Reverse the direction of the sort.= -u Print undefined symbols. These are normally supressed.1 -v Sort by value; the default is sort by name.D 7-x Output a cross reference of global symbols in the named files.I The program currently allows up to 25 object files to be processed.2 SORTC, Usage: sortc [-nr] [-o outfile] [file ...]B Sortc sorts all of the named files together and writes the resultA to the standard output. The standard input is sorted if no file= names are supplied; sort may be used as a filter. Note that1 all files are assumed to be in "readable ASCII".< The sort key is the entire input line. Default o8rdering is? lexicographic in ASCII collating sequence with upper and lower case considered different. Options:; -o file Write output to the named file instead of to the standard output.B -n Sort on ascending arithmetic on a leading numeric field5 consisting of digits and an optional sign.! -r Sort in reverse order.2 T< Usage: t [+columns_per_line] [-lines_per_page] [file_list]C T writes files, one screen at a time, on the user's termina 9l. TheG argument list may contain wildcard file specifiers. After each screenD has been printed, the user should type or D to get the next screen. If the user types , ,? , '^', or , the program will back up one page." All other characters are ignored.J Note that t works only on video terminals. If no file_list is specified, t prompts for each file.I T erases overstruck underline and boldface from the input text. It doe:s@ not transmit escape sequences in the file to the user terminal.2 CCXRF1 Usage: ccxrf [-options] [-o outfile] [file ...]@ CCXrf prepares a cross-reference listing for C source programs.3 CCXrf accepts wild-card file specifiers. Options:> -n Narrow output (80 columns). The default is 132 columns./ -s Spool output to the default line printer.? -o Write output to the named file. The default is the firstA input file encountered with a filetype (extension) of ".x".;ww`9Y 1 DAYOFWEEK This procedure is called by: @FERMI$EXE:DAYOFWEEK [date]E The day of the week (Monday, Tuesday, ...) is returned in the globalB symbol DAY_OF_WEEK. The day of the week index (Sunday is 0 up toD Saturday being 6) is returned in the global symbol DAY_OF_WEEK_NDX. 2 Parametersdate< is the date for which the day of the week is desired. This@ parameter must be in the form "dd-mmm-yyyy" where the day must < be 01,02,...31 and the month must be in< the standard systemB convention for the month identifier (JAN,...). If not given, the current date is used.A If the special literal "YESTERDAY" is used as the date, then the& day-of-week of yesterday is returned.wẘ1 DEFEThe RMSDEF interactive utility creates RMS-11 files allowing the file1attributes to be controlled. The RMSDEF call is: MCR DEF [command-string]FThe command-string may be @filespec to have RMSDEF read a command file>that was previously =generated by RMSDEF. If command-string is:HELP or ?, RMSDEF will print an introductory HELP message.HIf no command string is given, RMSDEF begins the interactive dialog with the question:; DO YOU WANT TO GENERATE A COMMAND FILE FOR FUTURE USE(NO)?EThe answer to this question can be Y (for YES), N or return (for NO),Cor te @filespec or /ID command-string formats. Refer to the RMS-11<Utilities manual for details on the remainder of the dialog. 2 Switches/ID1RMSDEF prints the vers>ion number on the terminal.ww@ ̊ 1 DELTREE" Delete a complete directory tree. @FERMI$EXE:DELTREE rootC where root is the pathname of the root of the tree to delete. AllB the files and directories, including the named root, are deleted.ww Y̊1 DFNGThe RMSDFN command utility can be used to create RMS files. The use ofERMSDEF is recommended, however. The format of the RMSDFN command is: MCR DFN outfile[/switch(s)]Goutfile is the files?pec of the file to be created. The file should not% exist. Wildcards are not permitted. 2 Switches/ID)RMSDFN prints its current version number. /AL:nnn (D=0)8Specifies the initial allocation for the file in blocks. /BK:nn (D=1)ISpecifies the number of blocks per bucket for Relative and Indexed files.The maximum for nn is 32./CO /NOCO (D)=Attempt to allocate the file as physically contiguous blocks./FO:val (D=SEQ)/Indicates the file organization being created:  SEQ Seq @uential file REL Relative file IDX Indexed file/KY:n:m[:(/OP:val[:val])]GDefines an Indexed file key. Up to 10 keys can be defined for a singleEIndexed file. The first seen in the command string is interpreted asGthe Primary Key (left to right), the second is the First Alternate Key,Eetc. The /KY:n:m form specifies the location of the first byte of theFkey field within the record (0 is the first byte of the record). M isHthe key field length in bytes (maximum is 255). The key cha Aracteristics8can be specified with the /OP form where val is one of: % DUP duplicate key values are allowed (default for Alternate Keys)( NODUP duplicate key values cannot occur (default for Primary Keys)< CHG if Alternate Key fields are allowed to change during an0 update operation (default for Alternate Keys).= NOCHG if key fields cannot change during an update operation+ (default and only value for Primary Key)./PR:nnnA/PR:[/SY[:acc]][/OW[:acc]][/GR[:acc]][/WO[:acc]] (D=RWED a Bll acc)BSpecifies the system protection code. Where nnn is the octal codeBfor the system's protection word. The symbolic form has acc being+the allowed access types, one of {R,W,E,D}./RF:val[:n] (D=VAR:0)ESpecifies the record format and record size for the file. The record%format is given by val and is one of: FIX fixed-length VAR variable-length; VFC variable-with-fixed-control. Fixed area defaults to 2- bytes. Sequential and Relative files only.( STM stream. Disk Sequenti Cal files only.(The parameter n is one of the following:2 for FIX - the actual record size, must be nonzero= other - maximum record size in bytes (does not include fixed area for VFC).ww Iy1 DMP? RSX-11M DMP is used to dump files in various readable formats.@ It has two basic modes of operation: FILE MODE and DEVICE MODE.? In FILE MODE, the device must be mounted for access by FCS. ToB dump logical blocks or records of a file use FILE MODE. In DEVICEB MODE, the devDice must be mounted FOREIGN on 11M+ and VMS. To dump0 physical blocks from a device, use DEVICE MODE.) The general form of the command line is:# outspec/switches = inspec/switches@ This can be used on the line with "MCR DMP" to in response to a prompt. 2 Parameters  outspec8 is the output file specification for the dump.TI: is acceptable. inspec9 is the name of the file to be dumped (FILE MODE only)5 or the input device specification in DEVICE MODE. 2 SwitEches/AS! Display dump data in ASCII mode./BA:n:m> Specifies two word base address (initial base address is 0,0)> where n is the high-order base block address (octal) and m is< the low-order base block address. All future block numbers= specified by the /BL switch are offset by this base block to; calculate the effective block number. /BA must be used on a command line by itself./BL:n:mC Specify logical block range to dump in FILE MODE,default is entire file. orC RequiFred switch in DEVICE MODE, specifies range of physical blocks to be dumped./BY Dump in byte octal format./DC Dump in decimal word format./DENS:nC Density for input magnetic tape. The value for n can be 800, 1600 or 6250 only./FI:filenum:seqnum Identify input file by File ID./HD[:t]? Dump file header in formatted format with /HD:F (the default).) Dump file header unformatted with /HD:U.C To dump only the header of the file, use /HD/BL:0. If /HD is usedG with /BL:Gn:m, logical blocks n thru m of the file will be dumped along with the header of the file./HF@ Dump data in ODS-1 header format (use when dumping INDEXF.SYS).D Use /HF/BL:n:m to dump the logical blocks of the file from n thru mC in header format, if they conform to ODS-1, otherwise they will be dumped in octal./HXA Dump in hexadecimal byte format (dump reads from right to left)./ID( Display current version of DMP program./LB Display starting LBN of file./LC$ Dump lowe Hr case characters as such./LIM:n:m' Dump only n thru m bytes of the block./LW( Dump in hexadecimal double word format./MD[:n]D Specifies a memory dump with control of the line number sequencing.A The optional value specifies the starting line number. The lineC numbers are sequential for the entire file, not reset at the start@ of each block. /MD is used with the output file specification./OCT< Dump in octal format in addition to other selected formats.! Mutually exclusive with tIhe /AS./R5 Dump in RAD50 word format./RC* Dump in record (instead of block) format./RW# Rewind the magtape before dumping./SB:n9 Space n blocks in indicated direction (-n for backward).# Use with tape only in device mode./SF:n8 Space n EOF's in indicated direction (-n for backward).# Use with tape only in device mode./SP7 Spool output file to line printer (only on output file specification)./WD! Dump in hexadecimal word format.ww?o1 DSCAJ The Disk Save and Compress (DSC) utility program copies Files-11A disk volumes to tape or disk for backup and storage. When it isA used for volume restoration, it reallocates and consolidates the resulting disk. - The general form of the DSC command line is: = outdev:[outlabel][/outswitches]=indev:[inlabel][/inswitches] 2 Outdev outdev:A Lists output device(s) to which data is transferred. The format@ of outdev: is ddn, where dd is the two letter ASCII device name? andK n is the octal unit number. When more than one tape driveC is listed, the device symbols must appear in succession, separatedC by commas, before any other command parameters are specified. For example:  DSC>MM0:,MM1:SYSFILE=DB1: A Only a single disk may be specified. If more tapes are requiredA than are specified,the devices will be referenced in round robin fashion. 2 Outlabel outlabelC If the output device is a disk, outlabel is the new disk label (orB volume Lname). If outlabel is omitted, the label of the disk will? be the same as that of the original input disk. If the output> device(s) is a magtape, outlabel is the file name of the disk image on the tape. 2 Outswitches8 The following switches may be used with output devices:/AP? The /AP switch causes DSC to append a copy of the input deviceA to the specified output magtape. /AP is valid only if that tape; is the first tape of the tape set. The copy may extend to succeeding Mmagtapes. /BAD= There are five forms of the DSC switch /BAD=opt. The option values are: 6 =MAN Causes DSC to prompt for bad blocks to3 be added to the output volume's bad+ block file, [0,0]BADBLK.SYS 7 =MAN:NOAUTO Combination of /BAD=MAN and /BAD=NOAUTO, (Either order is acceptable) 2 =NOAUTO Causes DSC to ignore the bad block5 descriptor area on the disk. The bad3 block fileN will be empty unless bad, blocks are entered manually. 8 =OVR Causes DSC to treat the output disk as a8 non-last track device when searching for< bad block data. Use this switch only if the5 BAD utility was used specifying /OVR.> =MAN:OVR This is a combination of /BAD=MAN and /BAD=OVR/BL, The blocking factor switch has the form of:  /BL=n < where n is the number of disk blocks that should be writt Oen> at one time. The default is n=4, and 4 is the smallest value that should be specified. < Specifying a large value for n decreases the amount of time: necessary for the copy by reducing the number of required I/O commands. < Once a blocking factor is specified, it becomes the default< blocking factor until a new value is specified or until DSC9 exits. If magtape is specified as the input device, the; blocking factor is automatically set to the value at which that tape was crePated. = If DSC will expand its partition to honor large values of n.- It will not attempt to shrink its partition. /CMP; The /CMP switch causes DSC to compare the input and output8 volumes without first performing a copy operation. The= input and output volumes cannot both be magtapes. Multireel; magtapes can be compared with a disk. When the compare of> the current tape is completed, the operation will continue on4 the next volume until all reels have been compared. = If Qtape is involved, it is suggested that it be specified as input./DENS> The DSC density switch for magtapes has the following format: . /DENS=1600 Specifies that the output magtape& be written at 1600 bpi. It is not# necessary to use this switch on input magtapes. / /DENS=800:1600 The switch is not valid on any* magtape controller which automatically- senses density (e.g. TM03). It specifies* that the first two blocks on the first& output tape be wRritten at 800 bpi.) The remainder of the magtape set will be written at 1600 bpi. ; The default density for MM: tapes is 800 bpi,for MS:,1600 bpi,and for MF:6250 bpi./RWD The /RW switch specifies to DSC that the magtapes be rewound beforeD they are used. The switch applies to all tapes on the same side of  the command line. /VEF The /VE switch specifies to DSC that it should do a compare operationF between the input and output volumes after the input volume is copiSedC to the output volume. The input and output volumes cannot both be magtapes. 2 Indev outdev:B Lists input device(s) from which data is transferred. The format? of indev: is ddn, where dd is the two letter ASCII device name? and n is the octal unit number. When more than one tape driveC is listed, the device symbols must appear in succession, separatedC by commas, before any other command parameters are specified. For example:  DSC>DB1:=MM0:,MM1:SYSFILE A OnlTy a single disk may be specified. If more tapes are requiredA than are specified,the devices will be referenced in round robin fashion. 2 Inlabel inlabel= The identifier of the DSC-created magtape file that is to be> transferred to disk. If a file label was not provided when aA disk is created from a tape, the first file found on the tape is transferred. 2 InswitchesA One or more of the following optional switches may be applied to input devices: /BL, The bloUcking factor switch has the form of:  /BL=n < where n is the number of disk blocks that should be written> at one time. The default is n=4, and 4 is the smallest value that should be specified. < Specifying a large value for n decreases the amount of time: necessary for the copy by reducing the number of required I/O commands. < Once a blocking factor is specified, it becomes the default< blocking factor until a new value is specified or until DSC9 exits. If magtape is speciVfied as the input device, the; blocking factor is automatically set to the value at which that tape was created. = If DSC will expand its partition to honor large values of n.- It will not attempt to shrink its partition. /RWD The /RW switch specifies to DSC that the magtapes be rewound beforeD they are used. The switch applies to all tapes on the same side of  the command line.wwʃ̊1 DSPDRMSDSP provides a description of the RMS file attributes of any fileWDas well as the contents of a backup container file on magnetic tape.$The format of the RMSDSP command is:, MCR DSP [outfile=] infile[/switch(s)][,...]Coutfile is the file created by RMSDSP with the listing of the input< file(s) attributes. If no outfile is given, the listing is printed on the terminal.@infile is the filespec of an RMS file or a backup container file= on magnetic tape with a /BP switch. Wildcards are permitted in the infile fields.JThe command line may also coXnsist of the word HELP or a question mark (?);(RMSDSP will respond with a HELP message. 2 Switches/ID9RMSDSP prints its current version number on the terminal./BPAThe input files are read as magnetic tape container files and the3names of the files contained in them are displayed./FU,List the full attributes of an Indexed file.ww`fn ̊ 1 DTOATIMED This procedure calculates a absolute time and date given a time andD date in system format and a offset (or delta-increm Yent) in days and- hours. The format of the procedure call is:- @FERMI$EXE:DTOATIME [days] [hours] [time]B The new absolute date and time are returned in the global symbolsE ABS_DATE and ABS_TIME. This procedure can be used to calculate the D absolute time for SUBMIT to allow a batch job to be rerun every nthA day (by re-SUBMITing itself). In many cases, the effect of thisC command procedure can be achieved with the absolute and delta time% combinations introduced with VMS V3. Z2 ParametersdaysE is the offset in days from the specified time and date. The default is 1.hoursC is the offset in hours from the specified time. The default is 0.* This parameter must be in the range 0-23.timeA is the time and date (in system format: dd-mmm-yyyy:hh:mm:ss.ss)? to which the offsets are added. If not specified, the current' date and time are used (normal usage).wẘ 1 EDITSETB Perform a set of edits (using EDT) on several files, [applying the same edits to each file. EDITSET [file-spec(s)]D A file spec or list of file specs (including wild cards if desired)F are to be entered on the command line. If none are not entered, theyG are prompted for by "Files:". The edit commands are then prompted forG by the prompt "Edit>". Entry of the edits is ended by a blank line or: a Control-Z. The EDITSET symbol can be defined by doing: EDITSET :== @FERMI$EXE:EDITSETD EDITSET can also be called with a pre-stored \list of files to edit.$ The command format in this case is: EDITSET @file_listF where file_list is the specification of the file whose contents are a- series of file specifications, one per line.wwСpr 1 ERRHELP@ This command is similar to the VMS HELP command except that theG ACNETSTS Help library is accessed. This library contains descriptionsI of the ACNET Global Status error codes for the various ACNET facilities.B To get information about a particular error] code use the command: ERRHELP facility errnoE For example to get help about the network (facility ACNET) error -8,C one would do "ERRHELP ACNET -8". Use "ERRHELP" to get information' on the ACNET Global Status in general.wwg1 ETAPEB ETAPE is a general-purpose program for handling EBCDIC tapes. ItD allows the user to move around at will within the tape, send outputD to different files, specify different blocksizes and record lengthsA for different files o ^n the tape, and combine multiple tape filesE into a single output file. The capability of writing an EBCDIC tape& from an ASCII file is also included. B ETAPE removes all trailing blanks from tape records after readingE them. On output, records will be blank padded and blocked to create? fixed length tape blocks. A switch can be set to turn off theC EBCDIC translation and allow the translation (or writing) of ASCII tapes.2 UsageC ETAPE assumes that the user has already allocat_ed a tape drive andB mounted the tape, giving it the logical name "TAPE:". An example might be -  $ ALLOCATE MSA0: TAPE: $ MOUNT/FOREIGN TAPE $ RUN FERMI$EXE:ETAPE ETAPE>D The program prompts for input with the message "ETAPE>" and expectsA a 2 letter command followed by a (sometimes optional) parameter.@ The parameter must be separated from the command by exactly one> space. Some commands take numeric parameters and others takeB alphanumeric text. A description of the co `mmands can be obtainedB by asking for help on any particular command under the "Commands" subtopic.C After each command that results in some tape movement, the programB will print a message like "nnn:mmmm ==> file (rrrr)" which meansC the tape is at file nnn, block mmmm, and output is currently goingA to "file" (TTY means to the terminal) and rrrr records have been written to that file so far. 2 CommandsA A brief list of the ETAPE commands is given below. More help is3 available a under the "ETAPE Commands xx" subtopics. BB nnn backspace nnn blocks BF nnn backspace nnn files2 BL nnn set blocksize for subsequent operations3 FI file send translated output to specified file/ HE cc request help on a particular command= LR nnn set logical record length (for deblocking records)! QU dismount tape and exit0 RW rewind tape (and continue operations)1 SB nnn skip nnn blocks in a forward direction0 SF nnn skip nnn files in a forwabrd direction$ TB nnn translate next nnn blocks# TF nnn translate next nnn files@ TM write a tape mark at the current position of the tape> UT toggles translation mode (between EBCDIC and ASCII)$ WH print detailed statistics5 WR file write the contents of filename to the tape3 BB< Backspaces the tape the specified number of physical blocksA (default=1). This command will not back up before the beginning of the current file. 3 BF> Backspaces the tape t che specified number of files. A file isA counted for each tape mark sensed (or until beginning of tape isD reached). The tape is then positioned just past the last tape mark@ sensed (unless at BOT). Therefore, the command "BF 1" (or justC "BF") will position the tape at the beginning of the current file,> not at the previous file. To go back to the beginning of the8 previous file, you have to give it the command "BF 2". 3 BLD Sets the physical blocksize of records read on the tape to dthe sizeB specified. The maximum blocksize is currently set at 16000 bytesD (this can be changed by modifying and recompiling the program). If@ a block of less than the specified size is read, then a warningB message is printed. If a block larger than the specified size is< read, then the block is truncated and a warning message is printed. 3 FIB Allows the user to send the output to another file rather than toB the terminal. The filename may be up to 40 characters in length,B and c ean be a logical name, which will be properly translated. IfA the command "FI" is given without a parameter, output reverts to@ the terminal. This command will close any output file that was? opened by a previous FI command. The output file is given the@ defaults ORGANIZATION='SEQUENTIAL', CARRIAGECONTROL='LIST', and STATUS='NEW'. 3 HE Prints this text.3 LRA Use this command to set the logical record size of the blocks on; the tape. LR must be less than or equal to BL, and if fnotB specified, defaults to the previous value given by an LR command,? or the value of the last BL command, if LR is greater then theC current blocksize. When ETAPE reads a physical block on the tape,B it will break the block into records equal in length to the valueE specified as the parameter of this command. It is not required thatB the blocksize be an even multiple of LR; if that is not the case,7 then the last record will be shorter than the others. 3 QUD Rewinds the tape and gexits the program. All open files are closed.3 RW/ Rewinds the tape. All else remains unchanged.3 SBA Use this command to skip forward a specified number of blocks onA the tape. This command will not skip past the end of a file, or8 past the end of the tape. Default is to skip 1 block. 3 SFD Use this command to skip forward a specified number of files on the= tape. The default is 1 file, which will position you at theA beginning of the next file on the tape. Will not go pa hst end ofE tape. A file on tape is delimited by tape marks (this program knowsB nothing about labels; labels are treated just as regular files on the tape). 3 TBB Translates the next nnn blocks and displays them at the terminal,@ or writes them to a file, as the user has requested previously.A This command stops when it encounters the end of a file (but theC output file is not closed, so you can reposition the tape and send@ another file to the same output file). The form of the comimand= "TB *" translates all remaining blocks in the file currently positioned at. 3 TFA Translates the next nnn files, sending output to the terminal orB to a file, as the user has previously specified. The form "TF *"C translates all remaining files on the tape, concatenating them andE merging them to the output file. Stops upon reaching the end of the tape. 3 TME Writes a tapemark on the tape at that point. Read access beyond the? tapemark is then prohibited. Note that t jhe WR command already@ writes its own tapemark at the end of every file written to the tape. 3 UT; Causes translation to be toggled between ASCII and EBCDIC.B Initially, the switch is set to do translation from EBCDIC. A UTC command turns off the translation and a subsequent UT command willE turn it back on. The WH command will tell you what mode you are in.3 WHA Prints detailed tape statistics (tape position, output file and = number of blocks written, blocksize and record le kngth, etc).3 WRC Writes the contents of the file specified to the tape, in whateverE format (ASCII or EBCDIC) is currently in use. The current values ofD lrecl and blocksize are used to block the records for output. ThisE will also write a tapemark after the end of file. Short records are? padded with blanks, long records are truncated (with a warningC message), and the last block written may be shorter than the other- blocks (but an integral multiple of lrecl). wwl&1 F77D The PDP-11 FORTRAN-77 compiler is invoked by the following command: I MCR F77 [object-file][,list-file/qualifiers] = source-file(s)/qualifiersG The qualifiers are two character switches (such as /SW) or the negatedI form /NOSW. The filespecs may include VMS logical names and alphanumeric directories or subdirectories. E The object code output from the F77 compiler must be task built with7 the F77OTS library. See FERMIHELP F77OTS for details. 2 ParametersE The o mbject-file specification defines the file for the output objectG code. The default file type is .OBJ. If omitted, no object code file is produced.F The list-file specification defines the file to receive the listing; D if omitted, no listing is produced. The default file type is .LST.F The source-file specifications define the input file(s). The default" file type for F77 source is .FTN. 2 Qualifiers/CK /NOCK (D)@ Code is generated to check that all array references are within nD array address bounds. Use of this switch makes the task size larger= and execution times slower, but it is useful for debugging. /CO:n (D=99.)? A maximum of n continuation lines are permitted in the programA (0<=n<=99). The default value is 99. The number n is expressed> as a decimal number if followed by a period. Otherwise it is! interpreted as an octal number. /DE /NODE (D)@ Compile lines with a D in column 1. These lines are treated as, comment lines by the default /NODE oswitch. /F77 (D)/NOF77> Specifies an ANSI X3.9-1978 interpretation at compile time ofC syntatic and semantic features that had a different interpretation" in PDP-11 FORTRAN IV-PLUS (V3.0)./ID /NOID (D)( Prints out the compiler version number./I4 /NOI4 (D)E Allocate two words for default length INTEGER and LOGICAL variables.D Has no effect on explicit length declarations (such as INTEGER*2 or LOGICAL*4). /LA /NOLA (D)@ Causes the current switch settings to be retained (laptched) for subsequent compilations. /LI:n (D=2)F Specifies listing options (0<=n<=3), can only appear with the listing file specification.> n=0 Minimal listing file. Diagnostic messages and program  section summary only.3 n=2 Source listing and program section summary.@ n=2 Source listing, program section summary, and storage map@ n=3 Source listing, assembly code, program section summary,  and storage map. /OP:n (D=3)@ Alters the level of optimizqation used by the compiler. 0 is noC optimization and 3 is the highest level of optimization (default). This is an undocumented switch./RO /NORO (D)D Directs the compiler to specify pure code and pure data sections as read-only (RO). /SP /NOSP (D)C Automatically spool listing file, can appear only with the listing file specification./ST[:value] (D=NONE) /NOST (D)D The /ST switch directs the compiler to produce information messagesC when extensions to the ANSI standard (X3.r9-1978) FORTRAN are found? in the source code (note that /WR must be set to receive theseB informational diagnostics). /ST alone is the same as /ST:SYNTAX. The recognized values are:A ALL Informational diagnostics for all detected extensions.8 NONE No informational diagnostics (same as /NOST).@ SOURCE Information diagnostics for lowercase letters and tab) characters in the source code.; SYNTAX Informational diagnostics for syntax extensions./TR[:vsalue] (D=NONE) /NOTR (D)A The /TR switch controls the amount of extra code included in theB compiled output for use in error traceback. /TR alone is the same( as /TR:ALL. The recognized values are: 6 ALL Error traceback is compiled for all source ; statements, and function and subroutine entries.< BLOCKS Traceback information is compiled for subroutine 9 and function entries and for certain selected 3 source statements(starting off a block). t LINES Same as /TR:ALL.6 NAMES Traceback information is compiled only for + subroutine and function entries.8 NONE Disables all traceback(and produces shorter, 5 faster executing programs). Same as /NOTR. /WF:n (D=2)B The /WF switch determines the number of temporary disk work filesE used to compile the program. One, two, or three files can be used. C Increasing(decreasing) the number of files will increase(decrease)A the size of the largest programu that can be compiled by may also* decrease(increase) the compilation speed./WR (D)/NOWR< Enable compiler warning (W-class) and information (I-class)% diagnostic messages to be displayed.2 Errors- To get HELP on a given error number nn, type3 FERMIHELP F77 Errors Rnn (run time errors) or2 FERMIHELP F77 Errors Cnn (compile errors) or9 FERMIHELP F77 Errors Fnn (compiler-fatal errors)3 R1 Invalid error call.A A TRAP instruction has beven executed who low byes is within the A range used by the OTS for error reporting but for which no error condition is defined.3 R2 Task initialization Failure.: Task startup has failed for one of the following reasons:@ - Directive to initialize the synchronous system trap handling% has returned an error indication.= - Directive to enable the FPP asynchronous trap has failed,@ usually due to forgetting the "/FP" when the task was built.= - The FCS or RMS initializatwion call has returned an error.3 R3 Odd address trap (SST0).> The program has made a word reference to an odd byte address.3 R4 Segment fault (SST1).? The program has referenced a nonexistent address, this is most9 likely due to a subscript value out of range on an array reference.3 R11 FPP Hardware fault.) This is probably a hardware malfunction.3 R13 FPP undefined variable trap.C The FPP loaded an illegal value (-0.0). This should never happen.3 R20 Rewxind error.9 An error condition was detected by FCS during the .POINT7 operation used to position at the beginning of a file.3 R21 Duplicate file specifications.8 Multiple attempts to specify file attributes have been < attempted without an intervening close operation by either,' a) DEFINEFILE followed by DEFINEFILE - b) DEFINEFILE, CALL ASSIGN or CALL FDBSET$ followed by an OPEN statement.3 R22 Input record too long.: A record has been read which is too laryge to fit into the5 user record buffer. Rebuild the task using a larger7 Task Builder MAXBUF specification and specify a larger RECL for the file.3 R23 Backspace error. One of the following happened:; a) BACKSPACE was attempted on a file opened for appending.C b) FCS has detected an error condition during the .POINT operation used to rewind the file.= c) FCS has detected an error condition while reading forward to the desired record.3 R24 End-of-file durinzg read.= Either an end-file recored produced by the ENDFILE statement= or the FCS end of file condition has been encountered during8 a READ statement and no END= transfer specification was provided.3 R25 Record number outside range.= A direct access READ, WRITE, or FIND statement has specifiedB a record number outside the range from one to the value specified? in a DEFINEFILE statement or in the MAXREC keyword of the OPEN statement.3 R26 Access mode not specified.> T{he access mode of an I/O statement was inconsistent with the4 access specified by a DEFINEFILE or OPEN statement.3 R27* More than one record in an I/O statement.? An attempt was made to read or write more than a single record< in a direct access READ or WRITE statement, or an ENCODE or DECODE statement.3 R28 Close error.> An error condition has been detected by FCS during the close,8 delete, or print operation when trying to close a file.3 R29 No such file.9 A file with t|he specified name could not be found during an OPEN operation.3 R30 Open failure.> FCS has detected an error condition during an open operation.3 R31 Mixed file access modes.: An attempt was made to use both formatted and unformatted< I/O, or both sequential and direct access operations on the same logical unit.3 R32 Invalid logical unit number.< A logical unit number outside the range 0-99 or outside the> range specified by the Task Builder with its UNITS option was}; used. Also, the logical unit number 0 was not mapped to a= valid unit number (1-99) using the GBLPAT option of the Task Builder.3 R33 ENDFILE error.? End-of-file records may not be written to direct access files,@ relative files, indexed files, or an unformatted file that does not contain segmented records.3 R34 Unit already open.> An OPEN,DEFINEFILE, CALL ASSIGN, or CALL FDBSET was attempted, on a file which was already opened for I/O.3 R35 Segmented record form~at error.9 Invalid segmented-record control data was detected in an= unformatted sequential file. The file was either written by8 non-FORTRAN program or was created with a RECORDTYPE of "FIXED" or "VARIABLE".3 R36' Attempt to access non-existent record.. One of the following conditions has occurred:> - A nonexistent record was specified in a direct-access READA or FIND to a relative file. The record may have been deleted or never created.> - A record located beyond the end-of-file was specified in a direct-access READ or FIND.; - No record matches the key value of a keyed-access READ.3 R37 Inconsistent record length.? An invlid or inconsistent record-length specification occurred" for one of the following reasons:; - Record length specified is too large to fit in the user: record buffer. Rebuild the task with a larger MAXBUF.@ - The record length specified does not match the record-length% attribute of a fixed-length file.? - The record length specification was omitted when attemptingB to create a relative file or a file with fixed-length records.3 R38 Error during write.3 FCS has detected an error condition while writing.3 R39 Error during read.3 FCS has detected an error condition while reading.3 R40 Recursive I/O operation.= An expression in the I/O list of an I/O statement has causedC initiation of another I/O operation. This can happen if a function0 that performs I/O is referenced in an I/O list.3 R41 No buffer room.< There is not enough free memory left in the OTS buffer area; to set up required I/O control blocks and buffers. Rebuilt the task with a larger ACTFIL.3 R42 No such device.= A filename specification has included an illegal device name= or a device for which no handler task(driver) is loaded when% when an open operation is attempted.3 R43 File name specification error.< The filename string used in a CALL ASSIGN or OPEN statement; is syntactically invalid, contains a switch specification,9 references an undefined device mnemonic, or is otherwise( not acceptable to the operating system.3 R44 Inconsistent record type.? The RECORDTYPE specification does not match the record type of an existing file.3 R45' Keyword value error in open statement.7 An OPEN statement keyword that requires a value has an3 illegal value. The following values are accepted: BLOCKSIZE 0 to 32767 EXTENDSIZE -32768 to 32767! INITIALSIZE -32768 to 32767# MAXREC 0 to 2**31-1 BUFFERCOUNT 0 to 1270 RECL up to 32766 for SEQUENTIAL6 up to 16360 for RELATIVE/INDEXED2 up to 9999 for magnetic tape3 R462 Inconsistant open/close statement specifications.A The specifications in an OPEN and/or subsequent CLOSE statements9 have incorrectly specified one or more of the following:2 - A 'NEW' or 'SCRATCH' file which is 'READONLY'8 - 'APPEND' to a 'NEW', 'SCRATCH', or 'READONLY' file.+ - 'SAVE' or 'PRINT' of a 'SCRATCH' file.. - 'DELETE' or 'PRINT' of a 'READONLY' file.3 R47 Write to read-only file.B A write operation has been attempted to a file which was declared to be READONLY.3 R48 Unsupported I/O operation.B An I/O operation (such as direct access) has been specified which/ is not supported by the OTS subset being used.3 R49 Invalid key specification.: A key specification value, such as position, size, or the9 key-of-reference number, was invalid in an OPEN or READ.3 R500 Inconsistent key change or duplicate key value.= A keyed WRITE or REWRITE statement specified an invalid key:6 - A key value changed that is not allowed to change.9 - A key value duplicated the key of another record, but+ duplicate key values are not permitted.3 R51 Inconsistent file organization.@ The vlaue of the ORGANIZATION keyword in an OPEN statement does0 not match the organization of an existing file.3 R52 Specified record locked.? The record specified by an I/O statement was locked by another5 program or another logicla unit within your program.3 R53 No current record.= A REWRITE or sequential DELETE statement was executed but no; current record was defined. Sequential REWRITE and DELETE2 statements must be preceded by a successful READ.3 R54 REWRITE error.> An error occurred during execution of a REWRITE statement, or; an attempt was made to rewrite a record in a sequential or relative file.3 R55 DELETE error.= An error occurred during execution of a DELETE statement, or? an attempt was made to delete a record from a sequential file.3 R56 UNLOCK error.; An error occurred during execution of an UNLOCK statement.3 R57 FIND error.8 An error occurred during execution of a FIND statement.3 R59 List-directed I/O syntax error.? The data in a list-directed i nput record has an illegal formatC or the type of the constant is incompatible with the corresponding2 variable. The value of the variable is unchanged.3 R60 Infinite format loop.A The format associated with an I/O statement that includes an I/OF list has no field descriptors to use in transferring those variables.3 R61 Format/variable-type mismatch.? An attempt was made to input or output a real variable with an@ integer field descriptor (I, O, or L), or an integer or logicalA variable with a real field descriptor (D, E, F, or G). The dataB type of the value is ignored, and the value is processed as if it were of the correct data type.3 R62 Syntax error in format.E A syntax error was encountered while the OTS was processing a format stored in an array.3 R63 Output conversion error.E During a formatted output operation the value of a particular numberB could not be output in the specified field length without loss of9 significant digits. The field width is filled with *'s.3 R64 Input conversion error.E During a formatted input operation an illegal character was detectedH in an input field or the input value overflowed the range representableB in the input variable. The value of the variable is set to zero.3 R65 Format too big for 'FMTBUF'.B The OTS has run out of memory while scanning an array format thatF was generated at run time. The default internal format buffer length> is 64 bytes. This may be increased by using the Task Builder FMTBUF option.3 R66 Record too big.F An output operation has specified a record which exceeds the maximum A length permitted for that type of operation. The maximum recordE length is specified by the DEFINEFILE statement, the RECL keyword ofE the OPEN statement, or by the record length attribute of an existing file.3 R67 Record too small for I/O list.? a READ statement has attempted to input more data than existed@ in the record being read. For example, the I/O list might have too many elements.3 R68( Variable format expression value error.C The value of a variable format expression is not within the range D acceptable for its intended use; e.g., a field width which is less. than or equal to zero. A value of 1 is used.3 R70 Integer overflow.@ During an arithmetic operation an integer's value has exceeded ? INTEGER*4 range. (Note: Overflow of INTEGER*2 range involving& INTEGER*2 variables is not detected.)3 R71 Integer zero divide.C During an integer mode arithmetic operation an attempt was made toD divide by zero. (Note: A zero-divide operation involving INTEGER*2 variables is rarely detected.)3 R72 Floating overflow.F During an arithmetic operation a REAL value has exceeded the largest B representable real number. The result of the operation is set to zero.3 R73 Floating zero divide.F During a REAL mode arithmetic operation an attempt was made to divide6 by zero. The result of the operation is set to zero.3 R74 Floating underflow.E During an arithmetic operation a REAL value has become less than theG smallest representable real number, and has been replaced with a value of zero.3 R75- FPP floating to integer conversion overflow.D The conversion of a floating-point value to an integer has resultedB in a value which overflows the range representable in an integer.% The result of the operation is zero.3 R80 Wrong number of arguments.D One of the FORTRAN Library Functions or System Subroutines has been- called with an improper number of arguments.3 R81 Invalid argument.? One of the FORTRAN Library Functions or System Subroutines has$ detected an invalid argument value.3 R82 Undefined exponentiation.= An exponentiation has been attempted which is mathematically? undefined (for example, 0.**0.). The result returned is zero.3 R83% Logarithm of zero or negative value.> An attempt was made to take the logarithm of zero or negative& number. The result returned is zero.3 R84 Square root of negative value.< An argument required the evaluation of the square root of aC negative value. The square root of the absolute value is computed and returned.3 R86 Invalid error number.D The error number argument to one of the subroutines ERRSET, ERRSNS,' or ERRTST is not a valid error number.3 R91 Computed GOTO out of range.D The integer variable or expression in a computed GOTO statement wasE less than 1 or greater than the number of statement label referencesG in the list. Control is transferred to the next executable statement.3 R92 Assigned label not in list.F An assigned GOTO has been executed in which the label assigned to theG variable is not one of the labels in the list. Control is transferred" to the next executable statement.3 R93" Adjustable array dimension error.G Upon entry to a subprogram, the evaluation of dimensioning information has detected an array in which:D - an upper dimension bound is less than a lower dimension bound,  or,@ - the dimensions imply an array which exceeds the addressable memory.3 R94 Array reference outside array.D An array reference has been detected whuich is outside the array as@ described by the array declarator. Execution continues. (This@ checking is performed only for program units compiled with the  "/CK" switch in effect.).3 R95, Incompatible FORTRAN object module in task.A An object module produced by another PDP-11 FORTRAN compiler has$ been linked with a FORTRAN-77 task.3 R96# Missing format conversion routine.C A format conversion code has been used for which the corresponding" conversion routine is not loaded.3 R97 FTN FORTRAN error call.B The error-reporting subroutine used by the FTN FORTRAN system hasE been called. Possibly an FTN object module or FTN-dependent service* subroutine has been included in the task.3 R98 User requested traceback.E A user-supplied MACRO-11 subprogram has request a subroutine calling. nest-traceback display. Execution continues.3 R100 Directive: missing argument(s).A A call to a system directive subroutine was made in which one orF more of the arguments required for directive execution was not given.3 R101& Directive: invalid event flag number.G A call to a system directive subroutine was made in which the argumentH used for event flag specification was not in the valid range (1 to 64).3 R111& Virtual array initialization failure.F The mapped array area could not be initialized. The operating systemA does not support the memory-management directives required or no3 memory-management registers are available for use.3 R112 Virtual array mapping error.@ A virtual-array address was invalid. This is probably due to a/ subscript out of bounds. Execution continues.3 C1( Redundant continuation mark ignored. W9 A continuation mark was present where an initial line is required. It has been ignored.3 C2% Illegal statement number ignored. WA An improperly formed statement number was present in columns 1-5+ of an initial line. It has been ignored. 3 C33 Too many continuation lines, remainder ignored. EC More continuation lines were used than were allowed by the "/CO:n"" switch. The default value is 19.3 C41 Source line too long, compilation terminated. F> A line contained more than 88 characters. Note that only the= first 72 characters of a line are examined by the compiler. 3 C5. Statement out of order, statement ignored. E< Statements must appear in the order specified in the PDP-11& FORTRAN-77 Language Reference Manual.3 C6@ Statement not valid in this program unit, statement ignored. EA A statement which is not permitted to appear in the program unit> was present. For example, an executable statement in a BLOCK DATA subprogram.3 C7* Missing END statement, END is assumed. E? No END statement was present at the end of the last file. One has been inserted.3 C81 Extra characters following a valid statement. E@ Extraneous text was present at the end of a syntactically valid? statement. Check the entire statement for typing or syntactic errors.3 C97 Invalid initialization of a variable not in COMMON. E? An attempt was made in a BLOCK DATA subprogram to initialize a( variable that is not in a COMMON block.3 C10= Multiple definition of a statement lable, second ignored. E6 Two or more statements have the same statement label.3 C11' Compiler expression stack overflow. F= The statement contains an expression which is too complex to be compiled:7 - An arithmetic or logical expression is too complex.; - There are too many actual arguments in a reference to a subprogram.7 - There are too many parameters in an OPEN statement.= The expression, subprogram reference, or OPEN statement must be simplified.3 C12) Statement cannot terminate a DO loop. W9 The terminal statement of a DO loop must not be a GOTO, , arithmetic IF, RETURN, DO, or END statment.3 C13> Count of Hollerith OR Radix50 constant too large, reduced. E= The integer count preceding H or R specifies more characters% than remain in the source statement.3 C14- Missing apostrophe in character constant. E6 A character constant must be enclosed by apostrophes.3 C15( Missing variable or subprogram name. F9 A variable name or subprogram name was not present where one is required.3 C16? Multiple declaration of data type for variable, first used. E; A variable cannot appear in more than one type declaration statement.3 C17) Constant in format item out of range. E8 A numeric value in a FORMAT statement is not within the9 permitted range. Refer to the PDP-11 FORTRAN-77 Language Reference Manual.3 C18: Illegal repeat count in DATA statement, count ignored. E9 The repeat count in a DATA statement was not an unsigned0 nonzero integer constant. It has been ignored.3 C19 Missing constant. F2 A constant was not present where one is required.3 C20! Missing variable or constant. F= An expression, or a term of an expression, has been omitted.3 C21) Missing operator or delimiter symbol. F= Two terms of an expression have no operator seperating them,3 or a punctuation mark such as a comma was omitted.3 C22! Multiple declaration of name. F7 A name appears in two or more inconsistent declaration statements.3 C23' Syntax error in IMPLICIT statement. E> The form of the IMPLICIT statement is described in the PDP-11& FORTRAN-77 Language Reference Manual.3 C248 More than 7 dimensions specified, remainder ignored. E+ An array may only have up to 7 dimensions.3 C253 Non-constant subscript where constant required. F6 In the DATA and EQUIVALENCE statements, subscript) expressions are required to be constant.3 C26 No path to this statement. W; Program control cannot reach the statement. The statement is deleted.3 C27A Adjustable array bounds must be dummy arguments or in COMMON. E@ Variables specified in dimension declarator expressions must be0 subprogram dummy arguments or appear in COMMON.3 C28> Overflow while converting constant or constant expression. E? The specified value of a constant is too large or too small to be represented.3 C29* Inconsistent usage of statement label. E9 Labels of executable statements have been confused with  labels of FORMAT statements.3 C30" Missing exponent after E or D. E< A floating-point constant was specified in E or D notation, but the exponent was omitted.3 C31? Invalid character used in hex, octal, or Radix-50 constant. E= The Radix-50 characters are the letters A-Z, the digits 0-9,9 the dollar sign, the period, and the space. A space is & substituted for an invalid character.4 The valid hexadecimal characters are 0-9, A-F, a-f.$ The valid octal characters are 0-7.3 C32; Program storage requirements exceed addressable memory. F; The storage space allocated to the variables and arrays of5 the program unit exceeds the addressing range of the PDP-11.3 C333 Variable inconsistently equivalenced to itself. FA The EQUIVALENCE statements of the program specify inconsistent2 relationships among variables and array elements." Example: EQUIVALENCE (A(1), A(2))3 C34< Undimensioned array or function definition out of order. F< Either a statement function definition has been found among; executable statements, or an assignment statement has been@ detected that involves an array for which dimension information has not been given.3 C35 Format specifier in error. FA The format specifier in an I/O statement is invalid. It must be one of the following: - Label of a FORMAT statement. - * (list-directed).C - A run-time format specifier: variable, array, or array element.? - Character constant containing a valid FORMAT specification.3 C36: Subscript or substring expression value out of bounds. F= An array element has been referenced which is not within the specified dimension bounds.3 C373 Illegal equivalence of two variables in COMMON. F: Variables in COMMON cannot be equivalenced to each other.3 C38; EQUIVALENCE statement illegally expands a COMMON block. F: A COMMON block cannot be extended beyond its beginning by an EQUIVALENCE.3 C39) Allocation begins on a byte boundary. E? A non-BYTE quantity (i.e. not LOGICAL*1) has been allocated to an odd byte boundary.3 C40- Adjustable array used in illegal context. F< An adjustable array has been referenced in a context where  it is not permitted.3 C410 Subscripted reference to non-array variable. F8 A variable which has not been dimensioned cannot appear with subscripts.3 C42: Number of subscripts does not match array declaration. F3 C432 Incorrect length modifier in type declaration. F; The length specified in a type statement is not compatible with the data type specified. Example: INTEGER PIPES*83 C44, Syntax error in INCLUDE file descriptor. F; The file string is not acceptable (invalid syntax, invalid$ qualifier, undefined device, etc.).3 C45+ Missing separator between format items. E8 A comma or other seperating character has been omitted.3 C46 Zero-length string.? The length specification of a character, Hollerith or Radix-50 constant must be nonzero.3 C47 Missing statement label. FC A statement label reference was not present where one is required.3 C48 Missing keyword. F; A keyword, such as TO, is omitted from a statement such as ASSIGN 10 TO I.3 C488 Non-integer expression where integer value required. F: An expression which is required to be of type INTEGER was of another data type.3 C49 Undefined statement label. FC A reference has been made to a statement label that is not defined in the program unit.3 C50? Number of names exceeds number of values in DATA statement. E@ The number of constants specified in a DATA statment must match= the number of variables or array elements to be initialized.C The remaining variables and/or array elements are not initialized.3 C52? Number of values exceeds number of names in DATA statement. EA The number of constants specified in a DATA statement must match= the number of variables or array elements to be initialized.+ The remaining constant values are ignored.3 C534 Statement cannot appear in logical IF statement. F< The statement contained in a logical IF must not be another0 logical IF, a DO statement or an END statement.3 C54" Unclosed DO loops or block IF. F> The terminal statement of a DO loop or the ENDIF statement of an IF block was not found.3 C55* Assignment to DO variable within loop. W< The control variable of a DO loop has been assigned a value within the loop.3 C56C Variable name, constant, or expression illegal in this context. FA A quantity has been incorrectly used; for example, the name of a7 subprogram where an arithmetic expression is required.3 C571 Operation not permissible on these data type. F? An illegal operation, such as .AND. of two real variables, was specified.3 C58> Left side of assignment must be variable or array element. F3 C59 Syntax error in I/O list. F3 C60: Constant size exceeds variable size in DATA statement. E; The size of a constant in a DATA statement is greater than$ that of its corresponding variable.3 C610 String constant truncated to maximum length. E8 The maximum length of a Hollerith constant or character8 constant is 255 characters; of a Radix-50 constant, 12.3 C62> Lower bound greater than upper bound in array declaration. EA The upper bound of a dimension must be greater than or equal to the lower bound.3 C63/ Format item contains meaningless character. E= An invalid character or syntax error was present in a FORMAT statement.3 C64! Format item cannot be signed. E: A signed constant can appear only with the P format code.3 C65* Unbalanced parentheses in format list. E3 C66" Missing number in format list. E Example: FORMAT(F6.)3 C67 Extra number in format list. E Example: FORMAT(I4,3)3 C68 Extra comma in format list. E Example: FORMAT(I4,)3 C69$ Format groups nested too deeply. E7 Too many parenthesized format groups have been nested.' Formats can be nested to eight levels.3 C707 END= or ERR= specification given twice, first used. E: Two instances of either END= or ERR= were found. Control6 is transferred to the location specified in the first occurrence.3 C71= Invalid I/O specification for this type of I/O statement. F; There is a syntax error in the portion of an I/O statement preceding the I/O list.3 C72= Arguments incompatible with function, assumed user supplied.= The argument list given with an intrinsic function reference< does not agree in order, number, or type with the intrinsic? function requirements. The function is assumed to be supplied by you as an external function.3 C73, ENTRY within DO loop, statement ignored. E; An ENTRY statement is not permitted within the range of a DO loop.3 C74 Statement too complex. F= The statement is too large to cpmpile, it must be subdivided into several statements.3 C75! Too many named COMMON blocks. F* Reduce the number of named COMMON blocks.3 C76$ INCLUDE files nested too deeply. F; Reduce the level of INCLUDE nesting or increase the number= of continuation lines permitted. Each INCLUDE file requires0 space for approximately two continuation lines.3 C77/ Duplicated keyword in OPEN/CLOSE statement. F= A keyword subparameter of the OPEN or CLOSE statement cannot be specified more than once.3 C78+ DO and IF statements nested too deeply. F= DO loops and IF blocks cannot be nested more than 20 levels.3 C79+ DO or IF statements incorrectly nested. F; The terminal statements of a nest of DO loops or IF blocks; are incorrectly ordered, or a terminal statement precedes its DO of block IF statement.3 C802 UNIT= keyword missing in OPEN/CLOSE statement. F< The UNIT= subparameter of the OPEN and CLOSE statement must be present.3 C81< Letter mentioned twice in IMPLICIT statement, last used. EB An initial letter has been given an implicit type more than once. The last appearance is used.3 C82) Incorrect keyword in CLOSE statement. F@ A subparameter has been specified in a CLOSE statement that can( be specified only in an OPEN statement.3 C83 Missing I/O list. F3 An I/O list was not present where one is required.3 C84 Open failure on INCLUDE file.: The file specified could not be opened. Possibly the file9 specification is incorrect, the file does not exist, the; volume is not mounted, or a protection violation occured. 3 C85" Name longer than 6 characters. W6 A symbolic name has been truncated to six characters.3 C86 Invalid virtual array usage. F7 A virtual array has been used in a context that is not permitted.3 C87 Invalid key specification. F; The key value in a keyed I/O statement must be a character7 constant, a BYTE array name, or an integer expression.3 C888 Non-logical expression where logical value required. F9 An expression that must be of type LOGICAL is of another data type.3 C89< Invalid control structures using ELSEIF, ELSE, or ENDIF. E< The order of ELSEIF, ELSE, or ENDIF statement is incorrect.@ ELSEIF and ELSE must be preceded by either a block IF statement< or an ELSEIF statement. ENDIF must be preceded by either a% block IF, ELSEIF, or ELSE statement.3 C904 Name previously used with conflicting data type. F= A data type is assigned to a name that has already been used2 in a context that required a different data type.3 C91> Character name incorrectly initialized with numeric value. E> Character data with length greater than 1 is initialized with& a numberic value in a DATA statement. Example: CHARACTER*4 A DATA A/14/3 C920 Substring reference used in invalid context. FA A substring reference to a variable or array that is not of data" type CHARACTER has been detected.3 C93, Character substring limits out of order. FB The first character position of a substring expression is greater" than the last character position.3 C943 Mixed numeric and character elements in COMMON. WA A COMMON block must not contain both numeric and character data.3 C95, Invalid ASSOCIATEVARIABLE specification. EA An ASSOCIATEVARIABLE specification in an OPEN or DEFINEFILE is a$ dummy argument of an array element.3 C96@ ENTRY dummy variable previously used in executable statment. EB The dummy arguments of an ENTRY statement must not have been used@ previously in an executable statement in the same program unit.3 C979 Invalid use of intrinsic function as actual argument. EB A generic intrinsic function name was used as an actual argument.3 C98B Name used in INTRINSIC statement is not an intrinsic function. EA A function name that appears in an INTRINSIC statement is not an intrinsic function.3 C996 Non-blank characters truncated in string constant. E? A character or Hollerith constant was converted to a data type= that was not large enough to contain all significant digits.3 C1007 Non-zero digits truncated in hex or octal constant. E: A hex or octal constant was converted to a data type that8 was not large enough to contain all significant digits.3 C1018 Mixed numeric and character elements in EQUIVALENCE. W< Numeric and character variable and array elements cannot be equivlanced to each other.3 C1029 Arithmetic expression where character value required. F9 An expression that must be of data type CHARACTER was of another data type.3 C1034 Assumed size array name used in invalid context. F@ An assumed-size-array name was used where the size of the array0 was also required (for example in an I/O list).3 C1049 Character expression where arithmetic value required. F? An expression that must be arithmetic (integer, real, logical,' or complex) is of data type character.3 C105' Function or entry name not numeric. F2 Functions of data type CHARACTER are not allowed.3 C1064 Default STATUS='UNKNOWN' used in OPEN statement. I= The OPEN statement default STATUS='UNKNOWN' may cause an old# file to be modified inadvertently.3 C107@ Extension to FORTRAN-77: tab indentation or lowercase source I= The use of tab characters or lowercase source letters in the: source code is an extension to the ANSI FORTRAN standard.3 C1081 Extension to FORTRAN-77: non-standard comment I@ The ANSI FORTRAN standard allows only the characters C and * toB begin a comment line; D, d, and ! are extensions to the standard.3 C1098 Extension to FORTRAN-77: non-standard statement type I> A non-standard statement type was used, see Appendix G of the PDP-11 FORTRAN-77 User's Guide.3 C1106 Extension to FORTRAN-77: non-standard lexical item I: One of the following non-standard lexical items was used:@ - The single-quote form of record specifier in a direct-access I/O statement.! - A variable format expression.3 C1112 Extension to FORTRAN-77: non-standard operator IB The operator .XOR. is and extension to the ANSI FORTRAN standard.& The standard form of .XOR. is .NEQV..3 C1121 Extension to FORTRAN-77: non-standard keyword IA A non-standard statement keyword was used, see Appendix G of the PDP-11 FORTRAN-77 User's Guide.3 C1132 Extension to FORTRAN-77: non-standard constant I@ The following constant forms are extensions to the ANSI FORTRAN standard: Hollerith nH...% Typeless 'xxxx'X or 'oooo'O! Octal "oooo or Ooooo Hexadecimal Zxxxx Radix-50 nR... Complex with PARAMETER components3 C114A Extension to FORTRAN-77: non-standard data type specification IB The following data type specifications are extensions to the ANSI FORTRAN standard:" Extension Standard" --------- -------- BYTE LOGICAL*1! LOGICAL*2 LOGICAL; LOGICAL*4 LOGICAL (with /I4 specified only)! INTEGER*2 INTEGER; INTEGER*4 INTEGER (with /I4 specified only) REAL*4 REAL* REAL*8 DOUBLE PRECISION! COMPLEX*8 COMPLEX3 C1150 Extension to FORTRAN-77: non-standard syntax I6 One of the following syntax extensions was specified:3 PARAMETER name=value no parentheses IMPLICIT type letter9 CALL name (arg1,,arg2) Null actual argument? READ (...),iolist Common between I/O control6 and element lists> e1 * -e2 Two consecutive operators3 C116> Extension to FORTRAN-77: non-standard FORMAT statment item I= The following format field descriptors are extensions to the ANSI FORTRAN standard:# S,Q,O,Z all forms3 A,L,I,F,E,G,D  default field width forms. P without scale factor3 F01! Open error on work file (LUN 6).? Compiler was unable to open the temporary work file. Possibly; the volume was not mounted, space was not available on the, volume, or a protection violation occurred.3 F02# Open error on temp file (LUN 7,8).C Compiler was unable to open the temporary scratch files. Possibly; the volume was not mounted, space was not available on the, volume, or a protection violation occurred.3 F03 I/O error on work file (LUN 6).@ I/O errors indicate either hardware I/O errors or such software> error conditions as the attempt to write to a write-protected volume.3 F04" I/O error on temp file (LUN 7,8).@ I/O errors indicate either hardware I/O errors or such software> error conditions as the attempt to write to a write-protected volume.3 F05 I/O error on source file.@ I/O errors indicate either hardware I/O errors or such software> error conditions as the attempt to write to a write-protected volume.3 F06 I/O error on object file.@ I/O errors indicate either hardware I/O errors or such software> error conditions as the attempt to write to a write-protected volume.3 F07 I/O error on listing file.@ I/O errors indicate either hardware I/O errors or such software> error conditions as the attempt to write to a write-protected volume.3 F08" Compiler dynamic memory overflow.< Reduce the number of continuation lines allowed, reduce the: INCLUDE file nesting depth, run in a larger partition, or8 rebuild the compiler with a larger dynamic memory area.3 F09" Compiler virtual memory overflow.< A single program unit is too large to be compiled. Specify2 "/WF:3" or divide the program into smaller units.3 F10% Compiler internal consistency check.= An internal consistency check has failed. To be reported do DEC in an SPR.3 F11! Compiler control stack overflow.: The compiler's contro l stack overflowed. Simplifying the) source program will correct the problem.2 RENAMED The FORTRAN callable subroutine RENAME may be used to rename a file> from within an executing F4P program. The routine resides inG [1,1]F4POTS.OLB and will automatically be linked to the user's task if called.  CALL RENAME(LUN1,LUN2,IERR); LUN1 - the unit number of the old file, which must be open8 LUN2 - the unit number of the new file name information USE 'CALL ASSIGN'* IERR - return status: FCS error code or 0ww@|C̊1 F77OTSF The F4P Object Time System (OTS) must be linked with any F77-compiledD object modules when building a task. The phrases to be used in the TKB build commands are:: on the VAX: SYS$LIBRARY:F77OTS/LIBRARY - LINK/RSX117 SYS$LIBRARY:F77OTS/LB - MCR TKB1 (or RSX$LIB may be used in place of SYS$LIBRARY)& on an RSX system: LB:[1,1]F4POTS/LBF On our VAX, SYS$LIBRARY may be abbreviated as SYS$LIB. If the RMS-11F file system is being used, F77OTS should be replaced by F77RMS in theH above phrases. In both the F77OTS and F77RMS libraries on our systems,F the default floating point output conversion module has been replacedI by the faster but slightly less accurate version (F77CVF). The optionalF object modules (.OBJ files) and overlay descriptor files (.ODL files)I are on our systems in the same areas as the F77OTS and F77RMS libraries.G These options are explained in the PDP-11 FORTRAN-77 Re lease Notes but/ using the names "F4Pxxx" rather than "F77xxx".2 F7711SJ These object modules provide alternate versions of FORTRAN sequential I/OJ support to non-file-structured devices. The file system is not used, butF rather direct QIO operations are performed. About 2500 words of task+ space are saved. Use the file F7711S.OBJ.2 $SHORTF The SHORT.OBJ module provides for very short run-time error messages.E This saves about 1000 words over the long ASCII message version (theH def ault). To use $SHORT from the OTS library (either F77OTS or F77RMS)G add the following phrase to the task build commands BEFORE the library% search reference to the OTS library:< on the VAX SYS$LIB:F77OTS/INCLUDE=$SHORT - LINK/RSX119 SYS$LIB:F77OTS/LB:$SHORT - MCR TKB' on RSX: LB:[1,1]F77OTS/LB:$SHORT2 F77MAPB This library contains a set of object modules that transform the 8 processor-defined function names into internal names at? task-build time . Use the library file F77MAP.OLB in your task build.2 F77EIS< F77EIS.OBJ is a set of object modules that contain extendedB instruction set (EIS) versions of certain INTEGER functions which@ normally use the floating-point processor. This allows FORTRANA programs that do not do floating-point arithmetic to run without< using the floating-point processor (FPP). Tasks linked withD F77EIS.OBJ need not have the TKB /FP switch on the task image file.2 F77CVFC This object module provides a n alternate for performing formatted A output of floating-point values under control of the D, E, and F@ format field specifiers. This version uses the FPP hardware toC perform the functions about twice as fast as the normally standardF module but, may be slightly less accurate in some cases. This moduleB is the default for our systems (see F77CVS). The code is also on the file F77CVF.OBJ.2 F77CVSC This object module is the standard module for performing formattedI output of floatin g-point values. It uses multiple-precision fixed-pointF integer techniques to maintain maximum accuracy during the conversionE (the FPP is not used). It has been replaced in the OTS libraries by< F77CVF on our systems. The original code is in F77CVS.OBJ.2 F77NERE This is an alternate run-time error reporting module. It completelyC suppresses the error message text. About 375 words are saved overB the standard module. Use the file F77NER.OBJ in your task build.2 F77NIOF This file c ontains alternate versions of OTS routines that are alwaysH persent in the task and provide support for FORTRAN I/O. The alternateC routines in F77NIO.OBJ do not support FORTRAN I/O and reduce task D size by about 1000 words for tasks that do not require FORTRAN I/O., Use the file F77NIO.OBJ in your task build.2 F77RANH This file contains an alternate version of the random number generator.B It is provided for compatibility with previous releases. Use the$ file F77RAN.OBJ in your task buil d.2 F77RES@ The F77RES.MAC file is a MACRO-11 source file containing globalB references to all modules of the OTS. F77RES contains the globalC references and documentation on logical grouping of OTS modules to0 aid in the building of an OTS resident library.2 FCS11MB This file is an ODL fragment file used for overlaying the F77 OTSE modules. This file is for the F77OTS library which contains the FCSF version of the OTS. The file is internally documented describing theA OTS options as well as the use of the file. The SYS$LIBRARY andG RSX$LIB versions refer to the F77OTS and SYSLIB library files in their respective areas. 2 RMS11M.ODLB This file is an ODL fragment file used for overlaying the F77 OTSK modules. This file is for the F77RMS library which contains the RMS-11(K)F version of the OTS. The file is internally documented describing theA OTS options as well as the use of the file. The SYS$LIBRARY andF RSX$LIB versions refer to the F77RMS, SYSLIB and RMSLIB library files in their respective areas.ww_̊ 1 FAO_codes+ The general format of an FAO directive is: !n(lengthDD)= where ! (exclamation mark) indicates that the following is a> FAO directive and DD is a 1- or 2-character action code. The; repeat count (n) and output field length specifiers may be/ left off giving formats for FAO directives of:" !DD -or- !n(DD) -or- !lengthDD; The repeat count and output field length specifiers may be< decimal values or the literal "#" (number sign). If "#" is= used, then the next parameter passed to FAO must contain the% repeat count or output field length. 2 Characters! !AC Inserts counted ASCII string+ (Address of string - length in 1st byte) !AD Inserts ASCII string( (Length of string, address of string)4 !AF Inserts ASCII string (nonprinting codes -> ".")( (Length of string, address of string) !AS Inserts ASCII string* (Address of quadword string descriptor) 2 Numeric9 In the following, "t" is the data type and is one of the= characters "B", "W", or "L" for Byte, Word or Longword data.$ !Ot Converts to octal (zero-filled)* !Xt Converts to hexadecimal (zero-filled)/ !Zt Converts to unsigned decimal (zero-filled)0 !Ut Converts to unsigned decimal (blank-filled). !St Converts to signed decimal (blank-filled) 2 Formatting !/ Inserts a new line (CR/LF) !_ Inserts a tab !^ Inserts a form feed !! Inserts an exclamation mark0 !%S Inserts "S" if most most recently converted numeric value is not 1 !%T Inserts the system time( (Address of quadword time, 0=current)% !%D Inserts the system date and time/ !n< Defines output field width of n characters' !> Ending output field width delimiter! !n*c Inserts a character n times !- Reuse last parameter in list !+ Skip next parameter in listww@!>{ 1 FERMILIBB The object library FERMILIB.OLB in SYS$LIBRARY: contains variousD locally written (and DECUS) routines. This obje ct library is usedD like any library with "...,SYS$LIBRARY:FERMILIB/LIBRARY..." on the+ LINK command or in the LINK options file.E Sources for the modules in FERMILIB may be found on the system disk@ (SYS$SYSDEVICE:) in the directory [FERMILIB.SOURCES.ROUTINES].E In addition, the macro library FERMILIB.MLB in SYS$LIBRARY containsC several generally useful macros. The commented sources for these+ macros may be found in [FERMILIB.MACROS].2 GBL_SECTION_UFOE Perform User File  Open on a global section file in preparation for aF call to the CRMPSC system service. The routine can be used to create- a new file or open an existing section file.< status.wlc.v = GBL_SECTION_UFO([blkcnt.rl.r], filnam.rt.dx,* chan.ww.r)7 status completion status longword. Passed by value.D blkcnt longword containing the number of blocks in the file to beB created. If zero (or the argument is defaulted) then anC attempt will be made to open an existing file. Passed by reference.1 filnam filename string. Passed by descriptor.D chan longword in which the channel number on which the file hasD been opened is returned. If the operation fails, then the? RMS STV value is returned in the longword. Passed by reference.2 LIB_BUGCHK_LOGA Initialize and (by default) establish a condition handler to log9 signals to system operator(s) and the operator log file.D C ALL LIB_BUGCHK_LOG([ctlstr.rt.dx [,tgtops.rlu.r [,noestb.rlu.v]]])C ctlstr the control string ($FAO input) used to setup the report> string. See the "Control_String" subtopic for more. information. Passed by descriptor.C tgtops longword in which the low order 24 bits are the bit maskB describing to which system operators the report message? is to be sent. Default is all operators. Passed by reference.B noestb value of 0 (default) in this flag causes LIB_BUGCHECKERA to be setup as the condition handler for the caller ofC this procedure (outer procedure). A value of 1 disablesB establishing the condition handler (must be done by the. user explicitly). Passed by value. C LIB_BUGCHK_LOG will not generate a message for OPCOM if the signalA is SS$_OPRABORT. An alternate routine to provide signal logging3 is LIB_LOG_SIGNALS which is the recommended usage.3 Control_ StringB The default $FAO control string used to format the report messageD is " Bugcheck !AD. PC=!XL" (text inside the quotationE marks except that is replaced by the process name). AE user-supplied control string must also include a "!AD" FAO directiveA to insert the signal name text (given by length and address) andB a "!XL" directive (or equivalent) to insert the address where the> signal was generated (usually the next byte after the CALL toG LIB$STOP or LIB $SIGNAL). The control string may inlcude an additionalE "!XL" directive to insert the process status longword in the output./ Thus an example of the full control string is:/ "ZORKO aborted with !AD at PC=!XL and PSL=!XL"3 LIB_BUGCHECKER> The condition handler for reporting the signals to the systemB operators is called LIB_BUGCHECKER. It is called with the normal> condition handler arguments (the signal array address and the= mechanism array address). It uses the implicit arguments of> the currently set target operator mask and the report message# control string descriptor address.2 LIB_CHK_ARGS= Check for required number of arguments to the caller of this procedure.* ret-sts.wlc.v = LIB_CHK_ARGS( nreq.rl.r )@ nreq minimum number of arguments that are required to be inC the argument list of caller of LIB_CHK_ARGS. Byte passed by reference.@ ret-sts completion status. SS$_NORMAL is returned if at leastE the number of required arguments is present in the caller's= argument list. SS$_INSFARGS is returned if too few= arguments are in the caller's argument list or if a; required argument is defaulted. Passed by value. 2 LIB_CLR_BIT( Clears a bit in the bit array (string)., CALL LIB_CLR_LOCK( bitno.rl.r, bits.mv.ra )B bitno longword containing the number of the bit to be cleared. Passed by referenceE bits first byte of the bit string (or array). The bit specified5 by bitno is modified. Passed by reference.2 LIB_CLR_LOCKC Clears an interlock bit in the bit string and returns the previous value of the bit.5 value.wlu.v = LIB_CLR_LOCK( bitno.rl.r, bits.mv.ra )F value previous value of specified bit returned as TRUE (-1) if theC bit was set or FALSE (0) if the bit was clear. Passed by value.B bitno longword containing the number of the bit to be cleared. Passed by reference.E bits first byte of the bit string (or array). The bit specified5 by bitno is modified. Passed by reference.2 LIB_FILE_TRNLOG? Translate any logical names in a file specification, returning> as the result a file specification string in which no logical names are used.; status.wlc.v = LIB_FILE_TRNLOG(filein.rt.dx, rslbuf.wt.dx,> [rsllen.ww.r], [dsbmsk.rlu.v]); filein input file specification. Passed by descriptor.C rslbuf output file specification string. Passed by descriptor.< rsllen (optional) word in which the actual length of the@ output file specification string is returned. Passed by reference.? dsbmsk value of the logical name table search disable mask. Passed by value.2 LIB_GETZE_BYTE@ Return a byte value from a memory location or an indexed array.< value.wlu.v = LIB_GETZE_BYTE( location.ra.r [,index.rl.r] )E location longword which contains the ad dress of the byte in memoryH or of the start of the array of bytes. Passed by reference.D index is an optional argument which indicates that an array ofE bytes is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the byteB in the array. If the index argument is not used, thenE location gives the address of the byte itself. Passed by reference.A value the byte data value is returned as a zero-extended or? unsigned longword in register R0. Passed by value.2 LIB_GETZE_WORD@ Return a word value from a memory location or an indexed array.< value.wlu.v = LIB_GETZE_WORD( location.ra.r [,index.rl.r] )E location longword which contains the address of the word in memoryH or of the start of the array of words. Passed by reference.D index is an optional argument which indicates that an array ofE words is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the wordB in the array. If the index argument is not used, thenE location gives the address of the word itself. Passed by reference.A value the word data value is returned as a zero-extended or? unsigned longword in register R0. Passed by value.2 LIB_GET_BYTE@ Return a byte value from a memory location or an indexed array.9 value.wb.v = LIB_GET_BYTE( location.ra.r [,index.rl.r] )E location longword which contains the address of the byte in memoryH or of the start of the array of bytes. Passed by reference.D index is an optional argument which indicates that an array ofE bytes is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the byteB in the array. If the index argument is not used, thenE  location gives the address of the byte itself. Passed by reference.H value the byte data value is returned as a sign-extended longword. Passed by value.2 LIB_GET_LONGD Return a longword value from a memory location or an indexed array.9 value.wl.v = LIB_GET_LONG( location.ra.r [,index.rl.r] )B location longword which contains the address of the longword in= memory or of the start of the array of longwords. Passed by reference.D index is an optional argument which indicates that an array ofC longwords is to be accessed by indexed addressing. TheD index argument is a longword which contains the index ofD the longword in the array. If the index argument is notA used, then location gives the address of the longword) itself. Passed by reference.? value the returned longword data value. Passed by value.2 LIB_GET_QUADD Return a quadword value from a memory location or an indexed array.9 value.wq.v = LIB_GET_QUAD( location.ra.r [,index.rl.r] )B location longword which contains the address of the quadword in= memory or of the start of the array of quadwords. Passed by reference.D index is an optional argument which indicates that an array ofC quadwords is to be accessed by indexed addressing. TheD index argument is a longword which contains the index ofD  the quadword in the array. If the index argument is notA used, then location gives the address of the quadword) itself. Passed by reference.? value the returned quadword data value. Passed by value.2 LIB_GET_WORD@ Return a word value from a memory location or an indexed array.9 value.ww.v = LIB_GET_WORD( location.ra.r [,index.rl.r] )E location longword which contains the address of the word in memoryH or of the start of the arr ay of words. Passed by reference.D index is an optional argument which indicates that an array ofE words is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the wordB in the array. If the index argument is not used, thenE location gives the address of the word itself. Passed by reference.H value the word data value is returned as a sign-extended longword. Passed by value.2 LIB_INIT_QHDR; Initialize the queue header of an absolute queue to empty.$ CALL LIB_INIT_QHDR( header.mqu.ra )D header the quadword queue header (an array of two longwords)< for the absolute queue. Passed by reference. 2 LIB_INSQUE? Insert an entry onto an absolute queue using the VAX-11 INSQUE instruction.9 ret-status.wlc.v = LIB_INSQUE( entry.mqu.ra, pred.ra.r )2 ret-status completion status code for routine:5  SS$_NORMAL successful completion.? LIB$_ONEENTQUE entry is the first in the queue. Passed by value.F entry an array that must be at least 8 bytes long. Any bytesF following the first 8 bytes may be used for any purposeD by the calling module (the first 8 bytes are reservedG for the forward and backward links of the queue). Passed by reference.F pred longword containing the abs olute address of the currentH queue entry before which the new entry is to be inserted.# Passed by reference.3 HeaderH An absolute queue is described by a header consisting of two longwords.H Each entry in the queue also consists of (at least) two longwords whichH contain the forward and backward link pointers of the queue as absoluteC addresses of the predecessor and trailing queue entries. The linkH pointers of the queue header point to the first and last queue entries.C An empty queue consists of just the queue header in which both theF forward (first longword) and backward (second longword) link pointersE point to the queue header itself (addresses of the first longword of the queue header). 3 Examples* If the queue header has been declared as: INTEGER*4 header(2); then an entry may be inserted at the head of the queue by:/ LIB_INSQUE(new_entry, header) or* LIB_INSQUE(new_entry, header(1))+ and at the tail of the queue by either of:4 LIB_INSQUE(new_entry, %VAL(header(2))) or, LIB_INSQUE_TAIL(new_entry, header) or after an old entry by doing:$ LIB_INSQUE(new_entry, old_entry)A where new_entry and old_entry are the arrays themselves. If the@ address of the new queue entry is stored in a longword (entry),. then to insert onto the head of the queue do:, LIB_INSQUE(%VAL(entry), header(1)) and so forth.2 LIB_INSQUE_TAIL= Insert an entry  onto the tail of an absolute queue using the VAX-11 INSQUE instruction.A ret-status.wlc.v = LIB_INSQUE_TAIL( entry.mqu.ra, header.mqu.r )2 ret-status completion status code for routine:5 SS$_NORMAL successful completion.? LIB$_ONEENTQUE entry is the first in the queue. Passed by value.F entry an array that must be at least 8 bytes long. Any bytesF following the first 8 bytes may be used for any purposeD  by the calling module (the first 8 bytes are reservedG for the forward and backward links of the queue). Passed by reference.D header the quadword queue header (an array of two longwords)< for the absolute queue. Passed by reference. See also LIB_INSQUE.2 LIB_LOG_SIGNALSA Initialize and (by default) establish a condition handler to log9 signals to system operator(s) and the operator log file.A CALL LIB_LOG_SIGNALS( [ctstr1.rt.dx [,ctstr2.rt.dx [,tgtops.rlu.r) [,noestb.rlu.v]]]]) ctstr1 ...> ctstr2 $FAO input control strings used to setup the report? string. See the "Control_Strings" subtopic for more. information. Passed by descriptor.C tgtops longword in which the low order 24 bits are the bit maskB describing to which system operators the report message? is to be sent. Default is all operators. Passed by ref erence.A noestb value of 0 (default) in this flag causes LIB_SIGLOGGERA to be setup as the condition handler for the caller ofC this procedure (outer procedure). A value of 1 disablesB establishing the condition handler (must be done by the. user explicitly). Passed by value.D LIB_LOG_SIGNALS will not generate a message for OPCOM if the signal is SS$_OPRABORT.3 Control_Strings@ The default $FAO control string used to format the first re portB message is " Bugcheck !AS. PC=!XL" (text inside theE quotation marks except that is replaced by the actualC process name). A user-supplied control string must also include aE "!AS" FAO directive to insert the signal name text (given by addressA of a string descriptor) and a "!XL" directive (or equivalent) toD insert the address where the signal was generated (usually the next0 byte after the CALL to LIB$STOP or LIB$SIGNAL).F The first control string ma y inlcude an additional a "!XL" directive F to insert the process status longword in the output. Thus an example& of the first control string could be:1 "DINGOXX aborted with !AS at PC=!XL and PSL=!XL"A The default $FAO control string used to format the second reportC message is ": !AS" where the "!AS" directive in this? case is used to insert the signal description text. The user-= supplied control string must also include a "!AS" directive.3 LIB_SIGLOGGER> The condition handler for reporting the signals to the systemA operators is called LIB_SIGLOGGER. It is called with the normal> condition handler arguments (the signal array address and the= mechanism array address). It uses the implicit arguments of> the currently set target operator mask and the report message% control string descriptor addresses. 2 LIB_NARGSA Return the number of arguments in the call to the outer (caller) procedure.) number.wl.v = LIB_NARGS( [number.wl.r] )< number longword returning number of arguments (0-255) in? the argument list passed to the outer procedure (the3 procedure in which LIB_NARGS is called).C The result may be returned in the optional argument as well as via the function value.2 LIB_PUT_BYTE? Store a byte value into a memory location or an indexed array.= CALL LIB_PUT_BYTE( value.rb.r, location.ra.r [,index.rl.r] )B value value to be stored at the specified location in memoryD or an indirectly-referenced array. Passed by reference.B location is the longword which contains the address of the byte< in memory or of the start of the array of bytes. Passed by reference.D index is an optional argument which indicates that an array ofE bytes is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the byteB in the array. If the index argument is not used, thenB location gives the address of where to store the byte. Passed by reference.2 LIB_PUT_LONGC Store a longword value into a memory location or an indexed array.= CALL LIB_PUT_LONG( value.rl.r, location.ra.r [,index.rl.r] )B value value to be stored at the specified location in memoryD or an indirectly-referenced array. Passed by reference.F location is the longword which contains the address of the longword@ in memory or of the start of the array of longwords. Passed by reference.D index is an optional argument which indicates that an array ofC longwords is to be accessed by indexed addressing. TheD index argument is a longword which contains the index ofD the longword in the array. If the index argument is notC used, then location gives the address of where to store/ the longword. Passed by reference.2 LIB_PUT_QUADC Store a quadword value into a memory location or an indexed array.= CALL LIB_PUT_QUAD( value.rq.r, location.ra.r [,index.rl.r] )B value value to be stored at the specified location in memoryD or an indirectly-referenced array. Passed by reference.F location is the longword which contains the address of the quadword@ in memory or of the start of the array of quadwords. Passed by reference.D index is an optional argument which indicates that an array ofC  quadwords is to be accessed by indexed addressing. TheD index argument is a longword which contains the index ofD the quadword in the array. If the index argument is notC used, then location gives the address of where to store/ the quadword. Passed by reference.2 LIB_PUT_WORD? Store a word value into a memory location or an indexed array.= CALL LIB_PUT_WORD( value.rw.r, location.ra.r [,index.rl.r] )B value value to be st ored at the specified location in memoryD or an indirectly-referenced array. Passed by reference.B location is the longword which contains the address of the word< in memory or of the start of the array of words. Passed by reference.D index is an optional argument which indicates that an array ofE words is to be accessed by indexed addressing. The indexG argument is a longword which contains the index of the wordB  in the array. If the index argument is not used, thenB location gives the address of where to store the word. Passed by reference. 2 LIB_REMQUE? Remove an entry from an absolute queue using the VAX-11 REMQUE instruction.> ret-status.wlc.v = LIB_REMQUE( link.mqu.ra, remque-adr.wa.r )2 ret-status completion status code for routine:5 SS$_NORMAL successful completion.E LIB$_ONEENTQUE entry was the last entry in the queue.E  LIB$_QUEWASEMP queue was already empty (remque-adr is, meaningless). Passed by value.D link longword containing the absolute address of the entryB to be removed from the queue. Passed by reference.D remque-adr longword in which the address of the removed entry is. returned. Passed by reference.3 HeaderH An absolute queue is described by a header consisting of two longwords.H Each en try in the queue also consists of (at least) two longwords whichH contain the forward and backward link pointers of the queue as absoluteC addresses of the predecessor and trailing queue entries. The linkH pointers of the queue header point to the first and last queue entries.C An empty queue consists of just the queue header in which both theF forward (first longword) and backward (second longword) link pointersE point to the queue header itself (addresses of the first longword of the queue header). 3 Examples@ If the queue header and an entry pointer have been declared as:! INTEGER*4 header(2), entry7 then the entry at the head of the queue is removed by:& LIB_REMQUE(header(1), entry)) and the entry at the tail is removed by: LIB_REMQUE(header(2), entry)B If entry contains the address of a particular entry on the queue,# then that entry can be removed by:" LIB_REMQUE(entry, entry) 2 LIB_SET_BIT& Sets a bit in the bit array (string)., CALL LIB_SET_LOCK( bitno.rl.r, bits.mv.ra )> bitno longword containing the number of the bit to be set. Passed by referenceE bits first byte of the bit string (or array). The bit specified5 by bitno is modified. Passed by reference.2 LIB_SET_LOCKA Sets an interlock bit in the bit string and returns the previous value of the bit.5 value.wlu.v = LIB_SET_LOCK( bitno.rl.r, bits.mv.ra )F value previous value of specified bit returned as TRUE (-1) if theC bit was set or FALSE (0) if the bit was clear. Passed by value.> bitno longword containing the number of the bit to be set. Passed by reference.E bits first byte of the bit string (or array). The bit specified5 by bitno is modified. Passed by reference. 2 LIB_SLEEP= Put process to sleep until an absolute time or delay process* execution for a specified amount of time.' status.wlc.v = LIB_SLEEP( time.rq.r )> status completion status (returned in R0) from the $SCHDWK system service.? time quadword containing system-format time or delta-time; which specifies the delay (or sleep-until) time.? Note, $HIBER is used so sleep time may be shortened by a $WAKE6 done in another process or by an AST of this process. 2 LIB_STDESCRB Function returns a string descriptor created from the input array descriptor:B st_descr.wdsc.v = LIB_STDESCR(array_descr.rbu.da [,le ngth.rwu.r])B st_descr output string descriptor (static, fixed-length) isB returned in registers R0 and R1 (declare as REAL*8. in FORTRAN). Passed by value.@ array_descr the byte array as passed by array descriptor (in@ FORTRAN specify the argument as %DESCR(array) to- create the array descriptor).C length optional, a word containing the length in bytes for@ the output string descriptor. If not given, the? array length from the array descriptor is used.$ Passed by reference.2 LIB_TST_ARG_DFT@ Test that a specific argument in the argument list of the outerC (caller of LIB_TST_ARG_DFT) procedure exists and is not defaulted.* exists.wlu.v = LIB_TST_ARG_DFT( n.rbu.r )@ n byte which contains the argument number to tested for. Passed by reference.C exists longword value returned as -1 (TRUE) if the n'th argumentB is given in the outer procedure argument list and is notB defaulted (argument value is non-zero). If n is greaterC than the number of arguments to the outer procedure or ifC the value of the n'th argument is zero, then 0 (FALSE) is% returned. Passed by value. 2 LIB_TST_BIT2 Tests the value of a bit in a bit array (string).4 value.wlu.v = LIB_TST_BIT( bitno.rl.r, bits.mv.ra )D value value of specified bit returned as TRUE (-1) if the bit isA  set or FALSE (0) if the bit is clear. Passed by value.A bitno longword containing the number of the bit to be tested. Passed by reference.H bits first byte of the bit string (or array). Passed by reference. 2 LIB_UNDESCRD Function to return the address of the byte array from a descriptor.9 pointer.wa.v = LIB_UNDESCR( descr.rx.dx [,length.wl.r] )@ pointer byte array address returned from the array or stringC descriptor (returned in register R0). Passed by value.= descr array, string or varying string. Both static and? dynamic strings are handled. Passed by descriptor.A length (optional) longword in which the length of the stringC or array is returned. For varying strings, the current5 length is returned. Passed by reference. 2 LIB_XNARGXB Return the number of arguments passed to procedure in the current list of stack frames:' number.wl.v = LIB_XNARGX([depth.rl.v]) A number longword value with the number of arguments (0-255) in? the argument list passed to the specified procedure. Passed by value.> depth longword value indicating the depth in stack framesA (outside the stack frame for LIB_XNARGX itself) to the= calling procedure whose argument count is desired. Passed by value.@ If the depth is zero, then LIB_XNARGX(0) returns the same value@ as LIB_NARGS(), the number of arguments passed to the procedure@ which called LIB_XNARGX. If the depth is 1, then LIB_XNARGX(1)> returns the number of arguments passed to the procedure which< called the procedure which called LIB_XNARGX (caller of the= caller of LIB_XNARGX), and so forth. No checks are made forB exceeding current stack frame depth (probably result in an access violation).2 MTH_QUAD_ADD Add two quadword integers.: CALL MTH_QUAD_ADD( addend1.rq.r, addend2.rq.r, sum.wq.r ); addend1 1st quadword to be added. Passed by reference.; addend2 2nd quadword to be added. Passed by reference.8 sum quadword in which resultant sum is returned. Passed by reference.2 MTH_QUAD_CMP Compare two quadword integers.2 cmp.wl.v = MTH_QUAD_CMP( quad1.rq.r, quad2.rq.r )7 quad1 first quadword integer. Passed by reference.8 quad2 second quadword integer. Passed by reference.7 cmp (longword) result of the quadword comparison:* -1 if quad1 < quad2* 0 if quad1 = quad2* +1 if quad1 > quad2 Passed by value.2 MTH_QUAD_DIVA Divide one quadword integer by another and return their quadword2 quotient and (optionally) the quadword remainder.A CALL MTH_QUAD_DIV( divd.rq.r, divr.rq.r, quot.wq.r [,rem.wq.r] )? divd quadword containing the dividend to be divided by the( divisor. Passed by reference.@ divr quadword containing the divisor. Passed by reference.; quot quadword in which the quotient of the division is) returned. Passed by reference.; rem optional quadword in which the remainder from the9 division may be returned. Passed by reference.2 MTH_QUAD_EDIV@ Divide a quadword integer by a longword and return the longword2 quotient and (optionally) the longword remainder.A CALL MTH_QUAD_DIV( divd.rq.r, divr.rl.r, quot.wl.r [,rem.wl.r] )? divd quadword containing the dividend to be divid ed by the( divisor. Passed by reference.@ divr longword containing the divisor. Passed by reference.E quot longword in which the quotient of the division is returned. Passed by reference.D rem optional longword in which the remainder from the division0 may be returned. Passed by reference.2 MTH_QUAD_EMUL@ Multiply two longword integers and return a quadword integer as the result.8 CALL MTH_QUAD_EMUL( multr.rl.r, multd.rl.r, prod.wq .r )= multr longword with the multiplier. Passed by reference.? multd longword with the multiplicand. Passed by reference.? prod quadword in which the product is returned. Passed by reference.2 MTH_QUAD_FLOAT, Convert quadword integer to floating point.* result.wl.v = MTH_QUAD_FLOAT( quad.rq.r )+ result.wq.v = MTH_QUAD_DOUBLE( quad.rq.r )A quad quadword to be converted to floating point. Passed by reference.B result returned  floating point result (either single or double( precision). Passed by value.2 MTH_QUAD_MUL Multiply two quadword integers.7 CALL MTH_QUAD_MUL( multr.rq.r, multd.rq.r, prod.wq.r )= multr quadword with the multiplier. Passed by reference.? multd quadword with the multiplicand. Passed by reference.? prod quadword in which the product is returned. Passed by reference.2 MTH_QUAD_SUB Subtract two quadword integers.2 CALL MTH_QUAD_SUB( min. rq.r, sub.rq.r, dif.wq.r )> min quadword with the minuend (from which the subtrahend/ is subtracted). Passed by reference.= sub quadword with the subtrahend. Passed by reference.? dif quadword in which the difference is returned. Passed by reference. 2 RMS_ANYWILDD After a call to RMS_PARSE, test if there were any wild cards in the parsed file specification.2 result.wlu.v = RMS_ANYWILD( [fil_nam_sts.wlu.r] )F result a longword value of TRUE (-1) is returned if the parsedD file specification included any wildcards. OtherwiseD the value of FALSE (0) is returned. Passed by value.E fil_nam_sts (optional) longword in which the file name status bits2 are returned. Passed by reference.2 RMS_FILESPECC Return specified fields of the file specification resulting from a* previous call to RMS_PARSE or RMS_SEARCH.9 status.wlc.v = RMS_FILESPEC( keyword.rt.dx, string.wt.dx- [,length.ww.r])B status completion status code returned in register R0. Passed by value.? keyword text string specifying one of the file specification1 field keywords. Passed by descriptor.> string string in which the field of the file specificationD indicated by the keyword argument is returned. Passed by descriptor.? length word in which the length of the above string is also5 optio nally returned. Passed by reference. 3 KeywordsC The recognized keywords to be used in the keyword argument and the+ file specification fields they return are:? DEVICE returns the device name (including trailing ":").@ DIRECTORY returns the directory specification (including the0 enclosing brackets, "[]" or "<>").> NODE returns the node name (including trailing "::").$ NAME returns the file name.7 TYPE returns the file type with a leading ".".: VERSION returns the file version with a leading ";".A The keywords may be abbreviated to the first 2 characters of the name.3 Condition_codes SS$_NORMAL Success.E LIB$_STRTRU Success, some returned text truncated to fit in its output string./ LIB$_FATERRLIB Fatal internal library error.. LIB$_INSVIRMEM Insufficient virtual memory., LIB$_INVSTRDES Invalid string descriptor.' LIB$_UNRKEY Unrecognized keyword. 2 RMS_GET_VRNSIZ> Open a specified file using RMS and return the file's version number and size (in blocks).@ status.wlc.v = RMS_GET_VRNSIZ( filespec.rt.dx, [dftspec.rt.dx],; version.wl.r, length.wl.r )> filespec file specification string. Passed by descriptor.> dftspec optional default file specification string. Used? by RMS to fill in missing fields in the input file2 specification. Passed by descriptor.< version longword in which the file's version number (in7 binary) is returned. Passed by reference.= length longword in which the file's size (in blocks) isA returned. This is actually the virtual block number= of the last used block (possibly the EOF virtual1 block number). Passed by reference.E status completion status code. The RMS error condition code is: returned if the OPEN fails. Passed by value. 2 RMS_PARSEF Pro vide High Level Language access to the RMS $PARSE service to allowE the parsing (include default resolution) of file specifications. InH addition the RMS_PARSE routine prepares a file specification containing% wilcards for the RMS_SEARCH routine.; status.wlc.v = RMS_PARSE(file_spec.rt.dx [,dft_spec.rt.dx]< [,rtn_spec.wt.dx] [,rtn_len.ww.r])6 status completion status code. Passed by value.E file_spec file specification string to be parsed (may include wild+ cards). Passed by descriptor.E dft_spec (optional) a second file specification string to provide- defaults. Passed by descriptor.G rtn_spec (optional) returns the expanded file specification string." Passed by descriptor.E rtn_len (optional) word in which the length of the expanded fileG specification string is be returned. Passed by reference.3 Condition_codes1 RMS$_NORMAL Success (no rtn_spec argument) .H SS$_NORMAL Success (expanded specification returned in rtn_spec).E LIB$_STRTRU Success, expanded string truncated to fit in output. parameter string (rtn_spec)./ LIB$_FATERRLIB Fatal internal library error.. LIB$_INSVIRMEM Insufficient virtual memory., LIB$_INVSTRDES Invalid string descriptor.& RMS$_DNF Directory not found.2 RMS$_DNR Device not ready or not mounted.1 RMS$_WCC Invalid wild card context value 2 RMS_RELATED I Used before a call to RMS_PARSE to setup a related file name block (NAM)6 for the $PARSE operation to be done in the RMS_PARSE.> status.wlc.v = RMS_RELATED( file_spec.rt.dx [,dft_spec.rt.dx]0 [,inp_type.rlu.v] )6 status completion status code. Passed by value.A file_spec the file specification used to form the related file2 specification. Passed by descriptor.H dft_spec (optional) a second file specification to provide defaults." Passed by descriptor.E inp_type (optional) if value is TRUE (1), then the RMS_PARSE callF is considered to be for an input file and the Output File= Parse (OFP) in the file options will not be set. Passed by value.D By default, the following RMS_PARSE call is considered to be for anG output file parse and so the OFP file option is enabled (override with the inp_type argument).3 Condition_codes1 RMS$_NORMAL Success (no rt n_spec argument).H SS$_NORMAL Success (expanded specification returned in rtn_spec).E LIB$_STRTRU Success, expanded string truncated to fit in output. parameter string (rtn_spec)./ LIB$_FATERRLIB Fatal internal library error.. LIB$_INSVIRMEM Insufficient virtual memory., LIB$_INVSTRDES Invalid string descriptor.& RMS$_DNF Directory not found.2 RMS$_DNR Device not ready or not mounted.1 RMS$_WCC Invalid wild card context value  2 RMS_SEARCHI Provide High Level Language access to the RMS $SEARCH service to processI wild cards in file specifications. Before RMS_SEARCH can be called, theA RMS_PARSE routine must be called to initialize internal storage.< status.wlc.v = RMS_SEARCH( res_spec.wt.dx [,res_len.ww.r] )5 status completion status code. Passed by value.C res_spec returns the resultant file specification (with all wild@ cards and defaults resolved). Passed by descriptor.E res_le n (optional) word in which the length of the resultant fileC specification string is returned. Passed by reference.F To process wildcard file specifications, call RMS_PARSE to initializeC the internal storage then call RMS_SEARCH in a loop. Each call toF RMS_SEARCH will return a valid file specification until the status ofF RMS$_NMF is returned. This status code (an error) indicates that the% wild card search has been exhausted.3 Condition_codes' SS$_NORMAL Op eration successful.F LIB$_STRTRU Success, resultant string truncated to fit in output. parameter string (res_spec)./ LIB$_FATERRLIB Fatal internal library error.. LIB$_INSVIRMEM Insufficient virtual memory., LIB$_INVSTRDES Invalid string descriptor.% RMS$_DNF Directory not found1 RMS$_DNR Device not ready or not mounted5 RMS$_FND ACP file or directory lookup failed RMS$_FNF File not foundB RMS$_NMF No more files found (wildcard search completion)E RMS$_PRV Insufficient privilege or file protection violation1 RMS$_WCC Invalid wild card context value2 SLEEP_MILLISECS= Put process to sleep for a specified number of milliseconds.3 status.wlc.v = LIB_SLEEP_MILLISECS( msecs.rlu.r )> status completion status (returned in R0) from the $SCHDWK system service.A msecs unsigned quantity giving the number of milliseconds to- delay before continuing execution.? Note, $HIBER is used so sleep time may be shortened by a $WAKE6 done in another process or by an AST of this process.2 SLEEP_SECONDS8 Put process to sleep for a specified number of seconds.3 status.wlc.v = LIB_SLEEP_SECONDS( seconds.rlu.r )> status completion status (returned in R0) from the $SCHDWK system service.B seconds unsigned quantity giving the number of seconds to delay' before continuing execution.? Note, $HIBER is used so sleep time may be shortened by a $WAKE6 done in another process or by an AST of this process. 2 STR_SQUEEZEB Squeeze spaces and tabs from a string. All tabs are converted toC spaces and all trailing spaces (except for padding in fixed-length strings) are removed. = CALL STR_SQUEEZE( string.mt.dx [,mode.rlu.v] [,outlen.ww.r])@ string the input and output strings. Passed by descriptor.> mode optional mode control. If low bit is 0 (or if theD argument is defaulted) then multiple spaces are replacedB by single spaces. If low bit is 1 then all spaces are& removed. Passed by value.D outlen (optional) word in which the length of the output stringB is returned (not including padding blanks). Passed by reference.ww ̊ 1 FILENAMEC This command procedure takes a file specification and returns just@ the file name in the global symbol FILE_NAME. The procedure is invoked by:' @SYS$SYSTEM :FILENAME file_spec [add]B where the first parameter is the file specification string. The A second parameter is used to indicate that additional information/ is to be returned from the file specification:/ Just file name returned in FILE_NAME.A TYP In addition to the file name, the file type is returned" in the symbol FILE_TYPE.B ALL In addition the file name and type (see TYP), the deviceC and directory specifications (if any) are returned in !the! global symbol DEV_DIRE.wwR |1 FLXE FLX, or FILEX, is used as a media format interchange program to move< files among Files-11, DOS-11, and RT-11 structured volumes. 9 FLX performs file transfers and format conversions from:! o DOS-11 to Files-11 volumes! o Files-11 to DOS-11 volumes o DOS-11 to DOS-11 volumes# o Files-11 to Files-11 volumes o Files-11 to RT-11 volumes o RT-11 to RT-11 volumes o RT-11 to File"s-11 volumes - The general form of the FLX command line is: 7 devicespec/switch=infile/switch,...,infilen/switch / FLX may be invoked under VMS with the command: $ MCR FLX [commandline] 2 Parameters devicespec7 the device specification for the FLX output device.< It takes the form: dev:[ufd]. Under VMS, FLX recognizes: only RSX-11M unit numbers (no controller designators).< See the "VMS_Devices" subtopic for the recognized device names.  infilen#" the input file specifications. @ RT-11 volumes accept no directory specification, DOS-11 volumes; accept only UIC format directory specifications. FIles-116 volumes accept the standard form of VAX/VMS directory= specifications (wildcards only with a single level or in UIC format). 2 VMS_Devices= Under VMS FLX only recognizes the following device and media types: For DOS-11 volumes:' MT TE16, TU45 and TU77 magtape MS TS11 magtape MF TU78 mag$tape For RT-11 volumes:, CS RX01 (VAX-11/780 console floppy)* DD TU58 Dectape II data cartridge DL RL02 cartridge disk' DM RK06 or RK07 cartridge disk, DQ RB02 (interchangeable with RL02) DY RX02 floppy disk2 VolumeswitchD FLX has three volume format switches that specify the format of theA volume on which the file is stored. These switches listed below. B Input volumes default to DOS-11 format and output volumes defaultE to %Files-11 format. You can change the default by entering /RS or/DO on a command line by itself. /DO3 Identifies the volume as a DOS-11 formatted volumeC /DO sets the default for input volumes to DOS-11 format and output volumes to Files-11 format. D To specify the default transfer direction from DOS-11 to Files-11,  type:   FLX>/DO /RS5 Identifies the volume as a Files-11 formatted volumeE /RS sets the default for input volumes to Files-11 format and output& to DOS-11 format. E For example, to specify the default transfer direction from Files-11 to DOS-11, type:   FLX>/RS /RT3 Identifies the volume as an RT-11 formatted volume B If /RT is specified on one side of the command line, the default ! entry for the other side is /RS. 2 Transferswitch@ FLX has three transfer mode switches, one for each type of file@ format. Format conversions can be in either direction, and are ? between DOS-11 files and Fi'les-11 files or between RT-11 filesA and Files-11 files. Specifying a transfer mode switch determines@ which format the output file will be in after the conversion of the file. These switches are: ? If you specify n with any of the switches, fixed length outputC records are generated. If n is specified when the output is not a  Files-11 file, n is ignored. /FA:n[.]: The DOS-11 or RT-11 output file is to be formatted ASCII. /FB:n[.]; The DOS-11 or RT-11 output file is to be (formatted binary. /IM:n[.]= The transfer is to be in image mode. Image mode forces fixed length records. 2 ControlswitchC FLX control switches provide control functions useful during file D transfers. You can specify for example, the number of blocks to be A allocated to an output file or the UFD for an output file. These switches are: /BL:n[.]3 Specifies the number of contiguous blocks in octal/ or decimal to be allocated to the output file. /BS:n[.]< Specifies t)he block size in bytes for cassette tape output. Used with FLX under RSX only./CO4 Specifies that the output file is to be contiguous. /DE; Deletes files from an RT-11 DECtape or disk when used with the /RT switch. /DI> Causes a directory listing to be listed on a specified output: file or on the terminal. Default is for DOS volumes, use: with /RT for RT-11 volumes. If no file name and type are: given with the input file specifications, *.* is assumed. /DNS:n= Speci*fies the density of a magnetic tape where n can be 800, 1600 or 6250 bpi. /FC4 Indicates that FORTRAN carriage control conventions) are to be used when using FORTRAN files. /ID' Identifies the current version of FLX. /LI Same function as /DI. /NU:n[.]2 Used with the /ZE and /RT switches to specify the2 number of directory blocks in octal or decimal to5 allocate when initializing an RT-11 disk or DECtape.1 The maximum number of blocks is 37(8) or 31(10). /RW+/-RW4 Rewinds the magnetic tape before beginning the file7 transfer. Use /-RW to cause FLX to being the transfer1 without rewinding the tape (the default is /RW). /SP7 Specifies that the converted file is to be spooled for printing. /UI4 Specifies that the output file is to have the same  UFD as the input file. /VE4 Specifies that each record written to a cassette is1 read and verified. Use with FLX under RSX only. /ZE3 Initializes DOS-11 or RT-11 volumes. , Initializing2 erases any files already on the device. You must, specify both /RT and /NU for RT-11 volumes. ww ̊1 FORK: This command will execute a single VMS command line as a ( subprocess. The format of the call is: FORK [command-line]@ This procedure will leave the subprocess output (to SYS$OUTPUT)B on the file jobname.LOG in the default directory in effect at theD time the FORK is issued. The jobname is the name of the subprocessE and is made from -the first word of the command line (or the filenameD if the command is @file) or the word FORK. In addition, the user'sD member number (second part of his UIC) will be added to the jobnameD so that a more unique (within his group) subprocess name is formed.@ The global symbol FORK is defined in the system-wide login file$ (SYLOGIN.COM) as "@FERMI$EXE:FORK". 2 Parameters command-lineG is any VMS command line with a verb and up to 5 additional parameters.E If no command line is given, th .e user will be prompted for the entry@ of one or more lines of commands. The entry of these lines is B terminated by a blank line. If a line entered in response to theB prompt is begun by a "%", then the line (with the % removed) will? be added to the temporary command file without a preceeding $.B If the first parameter of the command line is preceeded by a "%",C the subprocess jobname will be gotten from the second parameter ofA the command line. Similarly, the third parameter is used / if theA second is also preceeded by a "%". The "%" is stripped from the= parameter(s) before the command line is written to the disk.2 DFORKA The DFORK command works much the same as the FORK command exceptD a detached process is generated rather than a subprocess. As such,? only privileged users can use the DFORK command (must have the> DETACH privilege). The DFORK command is used by defining the= symbol DFORK to be "@FERMI$EXE:DFORK". It is not defined in SYLOGIN.COM.ww0q 1 FPRETTY. Invokes the FORTRAN "pretty printer" utility.? FPRETTY accepts as input a FORTRAN program and can produce> as output an indented listing, showing levels of nesting,: or a compilable program, with structured indentation.7 The listing, generated by default, is a .LIS file. Format: FPRETTY file-spec 2 Qualifiers/LIST /LIST (D) /NOLIST> Controls whether a listing file (.LIS) is generated or a@1 new version of the file (.FOR). The listing file provides< "alignment" markers to indicate the nesting of control? structures. The /NOLIST provides an indented, compilable version of the program./COMMENT_INDENT /COMMENT_INDENT (D) /NOCOMMENT_INDENT@ Controls whether comments are indented along with the code. 2 DefinitionB FPRETTY can be defined as a DCL command by executing the command: $ SET COMMAND FERMI$EXE:FPRETTYww 2C|{ 1 FTNCODCNTF The FTNCODCNT program is used to prepare counts of various line types@ in a FORTRAN source file. The different types of lines countedF include blank lines, comment lines, "C" lines (comment character withD remainder of line blank), code lines and commented code lines (codeG followed by a "!" comment). Comment lines may begin with "C" (or "c")B or "!" in column 1 or with "!" in some other column and preceededF only by tabs and blanks. Comments after code are recognized 3by a "!" character.B The program should be used by defining a foreign symbol, such as: $ FCC := $FERMI$EXE:FTNCODCNT and then using a command like: $ FCC input-source-fileE to characterize the named input source file (no default file type!).C The input source file may include wildcards in which case a reportA is generated for each individual file found along with a overall summary report.ww`3U1 GET_BOOT_TIME? Return the date and time that the syste4m was bootstrapped as a6 string in absolute-time format in a local DCL symbol: $ GET_BOOT_TIME symbolB The GET_BOOT_TIME symbol must be defined as a foreign command by:( $ GET_BOOT_TIME := $FERMI$EXE:GTBOOTTIMww) 1 HELPDOC@ This command procedure will prepare a documentation file from aC HELP topic. This file will be paginated and suitable for printing6 as hardcopy documentation. The procedure is used by:% @FERMI$EXE:HELPDOC topic [library]E If th 5e library name is defaulted, then SYS$HELP:HELPLIB is used. IfC the library name begins with a "@", then the HELP topic is assumed to be available using: $ HELP @library topicF Otherwise SYS$HELP: is used as a default device specification for the library.E The procedure produces a file named "topic.DOC" containing the pagedE output from the HELP file for the selected topic and its sub-topics.D If the topic name is "*", then the entire library is extracted into a documentati6on file.ww HS ̊1 HOMEB Command procedure to make "SET DEFAULT" commands a bit shorter to type by using the command: HOME {dire}G where dire is the (optional) directory or subdirectory specification. B If none is given, the HOME command returns to the login directoryC using SYS$LOGIN:. If a parameter is given, it will be enclosed inC square brackets if it is not a logical name (if the parameter is aB logical name then it will used in the SET DEFAULT command as 7is)." Special forms of the command are:& HOME \ !Backup one directory level HOME -] !Same as "HOME \"B The command "HOME \.subdire" is the same as a "HOME" command (noB parameter) followed by a "HOME .subdire" command (return to a 1st) level subdirectory below the login UFD).# The HOME command can be define as: HOME :== @FERMI$EXE:HOMEwwj̊1 IFLGRMSIFL provides an efficient means of populating an empty Indexed file.EThe Primary Index can only be op 8timized when the input file is sorted;by the output file's Primary Key. RMSIFL can read any file?organization for records. The format of the RMSIFL command is:/ MCR IFL outfile[/switch(s)]=infile[/switch(s)]Doutfile is the filespec of an existing Indexed file to be populated.; Wildcards are not permitted. The file must be empty, have< a bucket size or greater than 5 block, or have more than 10 keys defined.Cinfile is the filespec of the input file that is the source of the: r9ecords written to outfile. Wildcards are not permitted.JThe command line may also consist of the word HELP or a question mark (?);(RMSIFL will respond with a HELP message. 2 Switches/ID-RMSIFL will print its current version number./ER[:filespec] (D=terminal)/ER@Write exception records onto the specified file or the terminal./LO@RMSIFL will write records into the buckets according to the fill1numbers established when the outfile was created. /NOER[:S]CException records will g :enerate an error message, delete the outputAfile, and terminate RMSIFL. If the Save option (:S) is used, the output file will not be deleted. /PD[:[#]x]EPad records read from infile to the outfile's record length. Paddingcharacter is specified by: PD null byte (value 000 octal)< PD:x x is ASCII A-Z, 0-9, or special character except #,?,@< PD:#x x is octal number 0-377 (43 for #,77 for ?,100 for @)BUsed only if outfile contains fixed length records. If /PD is not<used, short infile r ;ecords are treated as exception records./TR<Truncate records from infile to the outfile's record length.?If /TR is not used long infile records are treated as exceptionrecords./CL:nnnEDefine a clustersize for RMSIFL to use when creating work files. TheEclustersize (nnn) must be 0 or a power of 2 lying in the range 1-256./DE:dvn[:dvn[:dvn[:]]] (D=SY:)>Defines the 3 disks where the 3 work files used by RMSIFL are allocated. /KR:n (n=0)@Directs RMSIFL to read an input Indexed file< according to key n./NOSODRMSIFL will bypass its sort phase of processing since the input fileis already sorted.ww`|1 Include_filesD Sources for use with FORTRAN INCLUDE statements and PASCAL %INCLUDEC and VAX-11 C #INCLUDE statements are stored in SYS$LIBRARY: in theE form of separate files and modules in text libraries. The files areD identified as FORTRAN, PASCAL or C source by their file types (.FORG or .PAS and either .C or .H for VAX-11 C). The text librarie=s includeG the string FOR, PAS or C in their names to identify them as containing: FORTRAN, PASCAL or C INCLUDE modules (i.e., LCLFORDEF and. FORSYSDEF, LCLPASDEF or LCLCDEF and CSYSDEF).2 C> The C versions of the few files all have the file type of .H.F Most C INCLUDE source is contained in the two separate text librariesF CSYSDEF.TLB and LCLCDEF.TLB. Modules in CSYSDEF can be accessed with with statements of the form #INCLUDE module_nameF If the logical name C$LIBRARY is define>d as "SYS$LIBRARY:LCLCDEF.TLB"C or if "+SYS$LIBRARY:LCLCDEF/LIBRARY" is included in the CC commandA line then the above statement will also extract modules from the LCLCDEF library.B The sources for many of the INCLUDE source modules in the LCLCDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as& separate files with file types of .H. 2 FORTRANF The FORTRAN versions of the few files all have the file type of .FOR.H Most FORTRAN INCLUDE source is contained in two sep?arate text libraries= and is used with statements of the form (with FORTRAN V3.0):1 INCLUDE 'SYS$LIBRARY:library_name(module_name)'D The sources for many of the INCLUDE source modules in the LCLFORDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as( separate files with file types of .FOR. 2 FOR_FilesG The following are the FORTRAN INCLUDE files available in SYS$LIBRARY:.H All these files have file types of .FOR. Several of the INCLUDE sourceI modules in the FORT@RAN INCLUDE text libraries can also be found as files& in SYS$SYSDEVICE:[FERMILIB.INCLUDES].3 DAB? The file DAB.INC contains the VAX-11 Datatrieve Call Interface. definitions of constants and data structures.3 FDVDEFG Defines the FMS-11 Form Driver completion codes (FDV$_... symbols) and< the Form Driver field terminator codes (FDV$K_... symbols).> Also available in SYS$LIBRARY:LCLFORDEF.TLB as module FDVDEF.3 FORDEFC Defines the FORTRAN completion status codes (32-bit longwords) foAr' FORTRAN I/O errors (FOR$_... symbols).? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORDEF. 3 FORIOSDEFD Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as the FOR$IOS_... symbols.B Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORIOSDEF.3 LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returned from LIB$ routines.? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $LIBDEF.3 MTHDEFB Definitions of the MTH$_.B.. error status code symbols signaled by the MTH$ routines.? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $MTHDEF. 3 NODEDEFS& Defines the ACNET logical node names.@ Also available in SYS$LIBRARY:LCLFORDEF.TLB as module NODEDEFS.3 SSDEFD Defines the SS$_... symbols for the system status codes returned by the VMS system services.3 Also available in SYS$LIBRARY:FORSYSDEF.TLB and in, SYS$LIBRARY:LCLFORDEF.TLB as module $SSDEF.3 XFDEFB Defines I/O function codes and opCtion bits for use with the DR780) microprogrammed high speed data channel.> Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $XFDEF.2 PASCAL= The PASCAL versions of the files have the file type of .PAS.; Most PASCAL %INCLUDE source is contained in a text library8 and is currently unuseable (directly) with PASCAL V1.3.< The sources for the INCLUDE source modules in the LCLPASDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as( separate files with file types of .DPAS.E All the PASCAL %INCLUDE files are counterparts of either a .FOR fileF or a module in one of the FORTRAN text libraries. Most of the PASCALB %INCLUDE sources define constants and are to be included into theF CONST section. In particular any file or module named ...DEF defines constants.A Those %INCLUDE sources which define record types and belong in aH TYPE section are identified as such in the text and in this help topic. 2 PAS_FilesG The following are the PASCAL %INCLUDE filEes available in SYS$LIBRARY:.E All these files have file types of .PAS. All of the %INCLUDE sourceA modules in the LCLPASDEF text library can also be found as files& in SYS$SYSDEVICE:[FERMILIB.INCLUDES].3 LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returned from LIB$ routines.3 MTHDEFB Definitions of the MTH$_... error status code symbols signaled by the MTH$ routines. 3 NODEDEFS& Defines the ACNET logical node names.3 PASDEFG Defines constants for theF PASCAL Run-Time and I/O error message status codes.3 SIGDEFD Defines some SS$_... symbols for use in condition handlers (see the4 $SSDEF module in this library or in FORSYSDEF.TLB).3 SSDEFD Defines the SS$_... symbols for the system status codes returned by the VMS system services. 2 FORSYSDEFF The FORSYSDEF.TLB text library of FORTRAN INCLUDE source was includedI as part of the FORTRAN V3.0 distribution from DEC. As such this libraryD will be maintained by DEC Software ServicesG. The modules currently in this library are: 3 $ACCDEFB Defines the VMS accounting records as byte arrays with the fieldsA equivalenced to the appropriate bytes. Also defines symbols for! for the accounting record types.3 $CRDEF: Card reader device-dependent characteristics definitions. Defines CR$_CRDEF_BITS(1) byte.3 $DCDEF@ Definitions of symbols for VMS device classes and device types. 3 $DEVDEFF Definitions bits in the device characteristics longword (as masks and7 offseHts). Defines the DEV$_DEVDEF_BITS(4) byte array. 3 $DMTDEF; Definitions of option bits for the $DISMOU system service.& Defines the DMT$_DMTDEF_BITS(1) byte. 3 $FORDEFC Defines the FORTRAN completion status codes (32-bit longwords) for' FORTRAN I/O errors (FOR$_... symbols).* Also available in SYS$LIBRARY:FORDEF.FOR. 3 $FORIOSDEFD Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as the FOR$IOS_... symbols.- Also available in SYS$LIBRARY:FORIOSDEF.FOR.3 $IODEFIC Defines the VMS I/O function codes and I/O function modifier bits.( Defines IO$_IODEF_BITSx(2) byte arrays. 3 $JPIDEFA Defines the item codes (JPI$_... symbols) for the $GETJPI system service.3 $LADEF; Defines the LPA-11K options bit and microcode type values., Defines the LA$_LADEF_BITSx(4) byte arrays. 3 $LCKDEFG Defines the flag bits and lock mode codes for the system LOCK services $ENQ and $DEQ.( Defines the LCK$_LCKDEF_BITSx(1) bytes. 3 $LIBCLIDEFA Definitions for the LJIB$ routines that use CLI callback services< to enable/disable Ctrl-Y and Ctrl-T and define DCL symbols. 3 $LIBDCFDEF. Definitions for the LIB$DECODE_FAULT routine.' Defines the byte LIB$B_DCF_OPERAND(1). 3 $LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returned from LIB$ routines.* Also available as SYS$LIBRARY:LIBDEF.FOR.3 $LPDEF= Defines bits and fields of the line printer device-dependent< characteristics. Defines the LP$_LPDEF_BITS(4) byte array. 3 $MKNTDEF@ Definitions of option bits and item codes for the $MOUNT system6 service. Defines the MNT$_MNTDEF_BITS(3) byte array. 3 $MSGDEFA Definitions of system message type codes (MSG$_... symbols) used( with certain types of mailbox messages.3 $MTDEF@ Magnetic tape device-dependent characteristics bits and fields.. Also useful with magnetic tape I/O functions.* Defines the MT$_MTDEF_BITS(3) byte array. 3 $MTHDEFB Definitions of the MTH$_... error status code symbols signaled by the MLTH$ routines.* Also available as SYS$LIBRARY:MTHDEF.FOR. 3 $OPCDEF? Defines the format of the buffer to pass to the $SNDOPR system= service. Also defines symbols for the operator request type codes and option bits. 3 $PQLDEF> Defines the quota and limit type codes for the $CREPRC system service (PQL$_... symbols). 3 $PRVDEFA Defines the bit offsets for the privilege mask longwords used in1 the $CREPRC system service (PRV$V_priv symbols).- Defines the byte array PRV$_PRVDEF_BIMTS0(4). 3 $PSLDEFD Defines the fields of the Processor Status Longword and symbols forA the processor modes (PSL$C_mode for KERNEL,EXEC,SUPER,and USER)., Defines the byte array PSL$_PSLDEF_BITS(4). 3 $RMSDEFB Defines the RMS$_... symbols for the status codes returned by the VAX-11 RMS services. 3 $SECDEF? Defines the section option bits for the $CRMPSC system service> (the SEC$M_... symbols). Defines the SECDEF$R_STRUCTURE1(23)- and SECDEF$R_STRUCTURE2(32) byte arrays (?).3 $SSDNEFD Defines the SS$_... symbols for the system status codes returned by the VMS system services. 3 $STSDEFA Defines the fields of the VMS 32-bit status codes (aka condition@ codes) and the values of the severity levels. Defines the byte arrays STS$_STSDEF_BITSx(4).3 $TTDEF? Defines the fields and constant values of the terminal device-? dependent characteristics. Also used for special terminal I/OC operations with $QIO. Defines the TT$_TTDEF_BITSx(4) byte arrays.3 $XFDEFB DefOines I/O function codes and option bits for use with the DR780> microprogrammed high speed data channel. Defines byte arraysB XFDEF$R_UNION1(1), XFDEF$R_STRUCTURE1(32), XFDEF$R_STRUCTURE2(33)) Also available as SYS$LIBRARY:XFDEF.FOR.3 $XMDEF? Defines I/O function codes and option bits for use with DMC-113 and DMR-11 network links. Defines the byte arrays XM$_XMDEF_BITSx(3). 2 LCLCDEFD The text library SYS$LIBRARY:LCLCDEF.TLB contains VAX-11 C #INCLUDEG modules created locally at FePrmilab. Among these #INCLUDE sources areD additional system INCLUDE sources created from definition macros in@ the system and executive macro libraries in the same way as theD FORTRAN INCLUDE sources in LCLFORDEF were made. Those modules madeH from these macros have names beginning with "$" and are the same as the3 names of the defintion macros (for the most part).E Unless stated otherwise, all of the VAX-11 C #INCLUDE sources defineA constants. In particular, any file or text library mQodule namedB xxxDEF will always define constants. Those #INCLUDE sources whichH define structures identified as such in the text and in its help topic.5 The modules currently contained in this library are: 3 $BRDCSTDEF1 Module ($BRDCSTDEF) of SYS$LIBRARY:LCLCDEF.TLB.< Defines mask bits for flags of the $BRDCST system service. 3 $CLIMSGDEF. Module ($CLIMSGDEF) SYS$LIBRARY:LCLCDEF.TLB.C Defines the CLI$ status codes values returned by the Command Line Interpreter (DCL or MCR).R 3 $CLISERVDEF2 Module ($CLISERVDEF) of SYS$LIBRARY:LCLCDEF.TLB.= Defines request codes for CLI call-back operations for DCL. 3 $CREDEF. Module ($CREDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines offsets into and constants for the create-options/ array used by the LBR$OPEN LIBRARIAN routine. 3 $DEVDEF. Module ($DEVDEF) of SYS$LIBRARY:LCLCDEF.TLB.G Defines bit masks and offsets of the device characteristics longword. 3 $DIBDEF. Module ($DIBDEF) of SYS$LIBRARY:LCLCDEF.TLB.S> Defines offsets (as contants) and field sizes for the deviceC characteristics buffer returned by the $GETDEV and $GETCHN system services. 3 $DVIDEF. Module ($DVIDEF) of SYS$LIBRARY:LCLCDEF.TLB.E Defines names for device information item constants for the $GETDVI system service. 3 $HLPDEF. Module ($HLPDEF) of SYS$LIBRARY:LCLCDEF.TLB.6 Defines symbolic masks for the flags argument of the$ LIBRARIAN LBR$OUTPUT_HELP routine.3 $IODEF- Module ($IODEF) of SYS$LIBRARY:LTCLCDEF.TLB.; Defines symbols for the I/O function codes and modifiers. 3 $JBCMSGDEF1 Module ($JBCMSGDEF) of SYS$LIBRARY:LCLCDEF.TLB.D Defines symbolic names for Job Controller status codes (JBC$_...). 3 $LBRDEF- Module ($LBRDEF) of SYS$LIBRARY:LCLCDEF.TLB4 Defines symbolic names for constants used with the LIBRARIAN utility routines. 3 $LCKDEF. Module ($LCKDEF) of SYS$LIBRARY:LCLCDEF.TLB.: Defines lock mode request codes and the bits of the lock8 characteristics for Uthe $ENQ and $DEQ system services. 3 MSGTYPDEF0 Module (MSGTYPDEF) of SYS$LIBRARY:LCLCDEF.TLB.D MSGTYPDEF defines the ACNET message type code symbols for FORTRAN. A HDR_K_LENGTH gives the length of the message header in bytes3 MSG_K_REPLY gives the Reply message type code% MSG_K_RPY same as MSG_K_REPLY5 MSG_K_REQUEST gives the Request message type code' MSG_K_REQ same as MSG_K_REQUESTA MSG_K_UNSOLIC gives the Unsolicited Special Message type code' V MSG_K_USM same as MSG_K_UNSOLIC 3 $MTDEF- Module ($MTDEF) of SYS$LIBRARY:LCLCDEF.TLB.0 Defines magtape device status bits and fields. 3 $NETAGS_DEF2 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLCDEF.TLB.C $NETAGS_DEF defines symbolic names for ACNET Global Status values returned by the ACNET network. 3 $NET_DEF/ Module ($NET_DEF) of SYS$LIBRARY:LCLCDEF.TLB.? $NET_DEF defines symbolic names for the VAX/VMS ACNET network! condition codes (signal names). 3 NODEDEFSW/ Module (NODEDEFS) of SYS$LIBRARY:LCLCDEF.TLB.0 Files NODEDEFS.H in SYS$LIBRARY: and RSX$LIB:.> NODEDEFS defines symbolic names for the ACNET logical nodes. ? Nodes should always be specified symbolically though for ease= of verifying conversions (ODT) some node definitions may be? computed based on the MAC number used on the XEROX systems by' adding the following decimal offsets: # Booster: add 30 to old MAC number8 MR/SY: add 30 to old MAC number (includes Beam Lines)X( SCRUB System: add 50 to old MAC number 3 $OPCMSG. Module ($OPCMSG) of SYS$LIBRARY:LCLCDEF.TLB.8 Defines symbols for the OPCOM status codes (OPC$_...). 3 $PRCDEF. Module ($PRCDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines masks and offsets for the bits of the status flag) argument of the $CREPRC system service.3 $PRDEF- Module ($PRDEF) of SYS$LIBRARY:LCLCDEF.TLB.> Defines symbols for the processor register codes and fields. 3 REQRPYFLG0 Module (REQRPYFLG) of SYS$LIYBRARY:LCLCDEF.TLB.C REQRPYFLG defines the symbolic names for FORTRAN of the bit masksE for the Request and Reply option flags used in the NET_SEND_REQUEST. and NET_SEND_REPLY network service routines.  The options are: 2 ENDMULT; Mask for the end-multiple-reply bit in the reply options.? Used to terminate a multiple-reply request from the replier's end. Also known as EMR. 2 FCPASTB Mask for the enable first-packet-AST bit in the request options.B Used to enableZ delivery of a reply AST whenever the first packet= (in the chronological sense) has been moved into the user's reply buffer. 2 LOCKED> Mask for the buffer-remains-locked bit in the reply options.8 Used to override the receive buffer unlock done in the= NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 2 MULTRPY9 Mask for the multiple reply bit in the request options.A Used to indicate a request to which more than one reply message( is to be returned. Also[ known as MLT. 2 NOBSYWT7 Mask for the no-busy-wait bit in the request options.: Used to fail a request (return status-only reply) if the< destination task is busy with another message. Also known as NBW. 3 $RSC_DEF/ Module ($RSC_DEF) of SYS$LIBRARY:LCLCDEF.TLB.E $RSC_DEF defines symbolic names for the reply status codes returnedC in the reply message header and the reply status byte of the User Ast Block. 3 $SHRDEFA SYS$LIBRARY:LCLCDEF($SHRDEF) defines symbo\ls for shared message codes. E These message codes should not be used directly by a facility sinceE they do not contain a subsystem (facility) identifier or a severity? code. Use the following formula to calculate actual facility message codes: 2 facility-message-code common-message-code +2 facility-id * 65536 +* severity-codeB This is implemented by the $SHR_MSGDEF macro which is called by:= $SHR_MSGDE]F(facility_code, message_code, severity_code): where the message_code is one of those given by SHR$_... 3 $SMRDEF. Module ($SMRDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines the symbiont manager request and option codes for8 the $SNDSMB (send-to-symbiont manager) system service. 3 $STATEDEF0 Module ($STATEDEF) of SYS$LIBRARY:LCLCDEF.TLB.4 Defines symbols for the process scheduling states. 3 $SYIDEF. Module ($SYIDEF) of SYS$LIBRARY:LCLCDEF.TLB.8 Defines the item codes for the^ $GETSYI system service. 3 $UAB_DEFK SYS$LIBRARY:LCLCDEF($UAB_DEF) defines symbols for network User AST Block. 3 UABFLGDEF0 Module (UABFLGDEF) of SYS$LIBRARY:LCLCDEF.TLB.C UABFLGDEF defines the symbolic names (for FORTRAN) of the bit andC field masks, bit offsets, and field sizes of the UAB_B_FLAGS byte8 and the request_flags and reply_flags arguments of the: NET_CHECK_xxx and NET_WAIT_xxx network service routines. E The UAB_V_name symbols give the bit offsets (bit number re_lative toB bit 0 of UAB_B_FLAGS) of the bit or field named. The UAB_M_nameG symbols give the masks for the bits or fields (used in bit-wise .AND.C operations) for the named bits or fields. The UAB_S_name symbolsA give the sizes, in bits, of the named fields. The UAB_K_LENGTH; symbol gives the length, in bytes, of the user AST block. 2 FieldsD MSGTYPE is the message type code field. Only used with requests.  2 Bits@ 1STPKT bit indicates that this reply AST is the `first packet= AST (declared after the first chronological packet= of the message has been stored in the user's reply0 buffer). Only used with reply AST's.> CANCEL bit indicates that the outstanding request has been= cancelled and no more replies should be generated. Only used with requests.% MULTRPY is the multiple reply bit.@ TOOLONG bit indicates that the message ws truncated to fit in the specified buffer. 3 VAXTYPaESC Module (VAXTYPES) of SYS$LIBRARY:LCLCDEF.TLB and file VAXTYPES.H.C This module defines some data types, constants and macros for use with VAX-11 C under VAX/VMS. 4 Constants- Defined constants for general VAX-11C usage:' TRUE conditional true value (1)( FALSE conditional false value (0)0 EOF End-of-file flag (for standard I/O)( NULL Undefined pointer value (0)F MAX_... Maximum value for types: int,ulong,short,uword,char,ubyte4 MIN_... Mbinimum value for types: int,short,char4 Types7 Additional types (or structures) for use with VAX-11 C0 $byte / $ubyte signed / unsigned 8-bit byte1 $word / $uword signed / unsigned 16-bit word5 $long / $ulong signed / unsigned 32-bit longword5 $quad / $uquad signed / unsigned 64-bit quadword6 $octa / $uocta signed / unsigned 128-bit octaword6 address general address (pointer to byte or char), queue queue header or links structure* vmstime VMS-retcurned system time type4 Macros/ Macros defined for use with VAX-11 C under VMSF $VMS_SUCCESS(code) TRUE if the status code has a severity code ofF success or informational (success indication).F $VMS_FAILURE(code) TRUE if the status code has a severity code ofD warning, error or severe (error indication). 2 LCLFORDEFD The text library SYS$LIBRARY:LCLFORDEF.TLB contains FORTRAN INCLUDEF modules created locally at Fermilab. Amongd these INCLUDE sources areD additional system INCLUDE sources created from definition macros in@ the system and executive macro libraries (as additions to thoseC system-wide modules defined in FORSYSDEF.TLB). Those modules madeH from these macros have names beginning with "$" and are the same as the3 names of the defintion macros (for the most part).= Some modules appear in both LCLFORDEF and FORSYSDEF with theF differences (if any) being that the LCLFORDEF module will define dataB strucetures using offset constants while the FORSYSDEF module will? define the data structure using FORTRAN variable declarations.5 The modules currently contained in this library are: 3 $ACCDEF/ Module ($ACCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.@ Defines symbols for the accounting record type codes and offset- constants for the accounting record formats. 3 $BRDCSTDEF2 Module ($BRDCSTDEF) of SYS$LIBRARY:LCLFORDEF.TLB.; Defines mask bits for flags of the $BRDCST system service. 3 $CLIMSGDfEF/ Module ($CLIMSGDEF) SYS$LIBRARY:LCLFORDEF.TLB.B Defines the CLI$ status codes values returned by the Command Line Interpreter (DCL or MCR). 3 $CLISERVDEF3 Module ($CLISERVDEF) of SYS$LIBRARY:LCLFORDEF.TLB.< Defines request codes for CLI call-back operations for DCL. 3 $CREDEF/ Module ($CREDEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines offsets into and constants for the create-options. array used by the LBR$OPEN LIBRARIAN routine.3 $DCDEF. Module ($DCDEF) of SYS$LIBRARY:LCLFORgDEF.TLB.< Defines device class (DC$_) and device type (DT$_) symbols. 3 $DEVDEF/ Module ($DEVDEF) of SYS$LIBRARY:LCLFORDEF.TLB.F Defines bit masks and offsets of the device characteristics longword. 3 $DIBDEF/ Module ($DIBDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offsets (as contants) and field sizes for the deviceB characteristics buffer returned by the $GETDEV and $GETCHN system services. 3 $DSCDEF/ Module ($DSCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.@ Defines symbols for the phrocedure argument descriptor class andD atomic data types. Also defines symbols (contants) for the offsets of the descriptor fields. 3 $DVIDEF/ Module ($DVIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.D Defines names for device information item constants for the $GETDVI system service. 3 $FABDEF/ Module ($FABDEF) of SYS$LIBRARY:LCLFORDEF.TLB.7 Defines offsets and field locations (bits) for the RMS: File Access Block (FAB). Offsets are defined as symbolic constants. 3 $HLPDEF/ Modulie ($HLPDEF) of SYS$LIBRARY:LCLFORDEF.TLB.5 Defines symbolic masks for the flags argument of the# LIBRARIAN LBR$OUTPUT_HELP routine.3 $IODEF. Module ($IODEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines symbols for the I/O function codes and modifiers. 3 $JBCMSGDEF2 Module ($JBCMSGDEF) of SYS$LIBRARY:LCLFORDEF.TLB.C Defines symbolic names for Job Controller status codes (JBC$_...). 3 $JPIDEF0 Modules ($JPIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.F Defines symbols for the item constants of thej $GETJPI system service. 3 $LBRDEF. Module ($LBRDEF) of SYS$LIBRARY:LCLFORDEF.TLB3 Defines symbolic names for constants used with the LIBRARIAN utility routines. 3 $LCKDEF/ Module ($LCKDEF) of SYS$LIBRARY:LCLFORDEF.TLB.9 Defines lock mode request codes and the bits of the lock7 characteristics for the $ENQ and $DEQ system services. 3 MSGTYPDEF1 Module (MSGTYPDEF) of SYS$LIBRARY:LCLFORDEF.TLB.C MSGTYPDEF defines the ACNET message type code symbols for FORTRAN.@ HDR_K_LENkGTH gives the length of the message header in bytes2 MSG_K_REPLY gives the Reply message type code$ MSG_K_RPY same as MSG_K_REPLY4 MSG_K_REQUEST gives the Request message type code& MSG_K_REQ same as MSG_K_REQUEST@ MSG_K_UNSOLIC gives the Unsolicited Special Message type code& MSG_K_USM same as MSG_K_UNSOLIC3 $MTDEF. Module ($MTDEF) of SYS$LIBRARY:LCLFORDEF.TLB./ Defines magtape device status bits and fields. 3 $NAMDEF/ Module ($NAMDEF) of SYS$LIBRARY:LCLlFORDEF.TLB.? Defines offsets and codes for the VAX-11 RMS Name Block (NAM). 3 $NETAGS_DEF3 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.B $NETAGS_DEF defines symbolic names for ACNET Global Status values returned by the ACNET network. 3 $NET_DEF0 Module ($NET_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.> $NET_DEF defines symbolic names for the VAX/VMS ACNET network condition codes (signal names). 3 NODEDEFS0 Module (NODEDEFS) of SYS$LIBRARY:LCLFORDEF.TLB.1 Files NODEDEFS.FOR in SYSm$LIBRARY: and RSX$LIB:.= NODEDEFS defines symbolic names for the ACNET logical nodes.> Nodes should always be specified symbolically though for ease< of verifying conversions (ODT) some node definitions may be> computed based on the MAC number used on the XEROX systems by& adding the following decimal offsets:" Booster: add 30 to old MAC number7 MR/SY: add 30 to old MAC number (includes Beam Lines)' SCRUB System: add 50 to old MAC number 3 $OPCDEF/ Module ($OPCDEF) of SYS$LIBRAnRY:LCLFORDEF.TLB.B Defines symbols for the send-to-operator ($SNDOPR) system service: including offsets into the message buffer (as constants). 3 $OPCMSG/ Module ($OPCMSG) of SYS$LIBRARY:LCLFORDEF.TLB.7 Defines symbols for the OPCOM status codes (OPC$_...). 3 $PQLDEF/ Module ($PQLDEF) of SYS$LIBRARY:LCLFORDEF.TLB.@ Defines symbols for the quota codes for $CREPRC system service. 3 $PRCDEF/ Module ($PRCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines masks and offsets for the bits ofo the status flag( argument of the $CREPRC system service.3 $PRDEF. Module ($PRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines symbols for the processor register codes and fields. 3 $PRVDEF/ Module ($PRVDEF) of SYS$LIBRARY:LCLFORDEF.TLB.7 Defines symbols for the offsets of the privilege bits. 3 $PSLDEF/ Module ($PSLDEF) of SYS$LIBRARY:LCLFORDEF.TLB./ Defines symbols for the access code constants. 3 $RABDEF/ Module ($RABDEF) of SYS$LIBRARY:LCLFORDEF.TLB.? Defines field and bitp offsets and constants for the VAX-11 RMS@ Record Access Block (RAB). Symbols for the offsets are defined as constants. 3 REQRPYFLG1 Module (REQRPYFLG) of SYS$LIBRARY:LCLFORDEF.TLB.B REQRPYFLG defines the symbolic names for FORTRAN of the bit masksD for the Request and Reply option flags used in the NET_SEND_REQUEST- and NET_SEND_REPLY network service routines. The options are: 4 ENDMULT: Mask for the end-multiple-reply bit in the reply options.> Used to terminate a multiple-qreply request from the replier's end. Also known as EMR.4 FCPASTA Mask for the enable first-packet-AST bit in the request options.A Used to enable delivery of a reply AST whenever the first packet< (in the chronological sense) has been moved into the user's reply buffer.4 LOCKED= Mask for the buffer-remains-locked bit in the reply options.7 Used to override the receive buffer unlock done in the< NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 4 MULTRPY8 Mask forr the multiple reply bit in the request options.@ Used to indicate a request to which more than one reply message' is to be returned. Also known as MLT. 4 NOBSYWT6 Mask for the no-busy-wait bit in the request options.9 Used to fail a request (return status-only reply) if the; destination task is busy with another message. Also known as NBW. 3 $RSC_DEF0 Module ($RSC_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.D $RSC_DEF defines symbolic names for the reply status codes returnedB in the resply message header and the reply status byte of the User Ast Block. 3 $SCRDEF/ Module ($SCRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.@ Defines symbols for the terminal independent screen positioning9 package constants, including information returned by the. LIB$SCREEN_INFO and SCR$SCREEN_INFO routines. 3 $SECDEF/ Module ($SECDEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines offset constants and bit masks for the global and! private section system services.3 $SFDEF. Module ($SFDEF) of SYS$tLIBRARY:LCLFORDEF.TLB.@ Defines offset constants and bits in the procedure stack frame. 3 $SHRDEFB SYS$LIBRARY:LCLFORDEF($SHRDEF) defines symbols for shared message codes.D These message codes should not be used directly by a facility sinceD they do not contain a subsystem (facility) identifier or a severity> code. Use the following formula to calculate actual facility message codes:1 facility-message-code = common-message-code +1 facility-id * 6553u6 +) severity-code 3 $SMRDEF/ Module ($SMRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines the symbiont manager request and option codes for7 the $SNDSMB (send-to-symbiont manager) system service.3 $SSDEF. Module ($SSDEF) of SYS$LIBRARY:LCLFORDEF.TLB.< Defines symbolic constants (SS$_...) system condition codes and completion status values. 3 $STATEDEF1 Module ($STATEDEF) of SYS$LIBRARY:LCLFORDEF.TLB.3 Defines symbols for the process scheduling states.v 3 $STSDEF/ Module ($STSDEF) of SYS$LIBRARY:LCLFORDEF.TLB.< Defines symbols for offset constants for the condition code) fields and the severity level constants. 3 $SYIDEF/ Module ($SYIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.7 Defines the item codes for the $GETSYI system service.3 $TTDEF. Module ($TTDEF) of SYS$LIBRARY:LCLFORDEF.TLB.9 Defines symbolic names for terminal characteristics bits and fields and constant values. 3 $UAB_DEFL SYS$LIBRARY:LCLFORDEF($UAB_DEF) defines symwbols for network User AST Block. 3 UABFLGDEF1 Module (UABFLGDEF) of SYS$LIBRARY:LCLFORDEF.TLB.B UABFLGDEF defines the symbolic names (for FORTRAN) of the bit andB field masks, bit offsets, and field sizes of the UAB_B_FLAGS byte7 and the request_flags and reply_flags arguments of the9 NET_CHECK_xxx and NET_WAIT_xxx network service routines.D The UAB_V_name symbols give the bit offsets (bit number relative toA bit 0 of UAB_B_FLAGS) of the bit or field named. The UAB_M_nameF symbols gxive the masks for the bits or fields (used in bit-wise .AND.B operations) for the named bits or fields. The UAB_S_name symbols@ give the sizes, in bits, of the named fields. The UAB_K_LENGTH: symbol gives the length, in bytes, of the user AST block.4 FieldsC MSGTYPE is the message type code field. Only used with requests.4 Bits? 1STPKT bit indicates that this reply AST is the first packet< AST (declared after the first chronological packet< of the message has byeen stored in the user's reply/ buffer). Only used with reply AST's.= CANCEL bit indicates that the outstanding request has been< cancelled and no more replies should be generated. Only used with requests.$ MULTRPY is the multiple reply bit.? TOOLONG bit indicates that the message ws truncated to fit in the specified buffer. 3 $XABALLDEF2 Module ($XABALLDEF) of SYS$LIBRARY:LCLFORDEF.TLB.? Defines offset constants and other constants of the VAX-11 zRMS. allocation extended attribute block (XABALL). 3 $XABDATDEF2 Module ($XABDATDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMS1 date and time extended attribute block (XABDAT). 3 $XABDEF/ Module ($XABDEF) of SYS$LIBRARY:LCLFORDEF.TLB.9 Defines offset constants and other values common to most3 of the VAX-11 RMS extended attribute (XAB) blocks. 3 $XABFHCDEF2 Module ($XABFHCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset consta{nts and other values for the VAX-11 RMS@ file header characteristics extended attributes block (XABFHC). 3 $XABKEYDEF2 Module ($XABKEYDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMS1 key definition extended attribute (XABKEY) block 3 $XABPRODEF2 Module ($XABPRODEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSA file protection and ownership extended attribute (XABPRO) block. 3 $XABRDTDEF|2 Module ($XABRDTDEF) of SYS$LIBRARY:LCLFORDEF.TLB.3 Defines constants for the VAX-11 RMS revision date+ and time extended attribute block (XABRDT) 3 $XABSUMDEF2 Module ($XABSUMDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMS8 indexed file summary extended attribute (XABSUM) block. 2 LCLPASDEFD The text library SYS$LIBRARY:LCLPASDEF.TLB contains PASCAL %INCLUDEG modules created locally at Fermilab. Among these %INCLUDE sources areD a}dditional system INCLUDE sources created from definition macros in@ the system and executive macro libraries in the same way as theD FORTRAN INCLUDE sources in LCLFORDEF were made. Those modules madeH from these macros have names beginning with "$" and are the same as the3 names of the defintion macros (for the most part).C Unless stated otherwise, all of the PASCAL %INCLUDE sources defineI constants and are to be included into the CONST section. In particular,K any file or text library ~module named xxxDEF will always define constants.G Those %INCLUDE sources which define record types and belong in a TYPEB section are identified as such in the text and in its help topic.5 The modules currently contained in this library are: 3 $ACCDEF+Module ($ACCDEF) SYS$LIBRARY:LCLPASDEF.TLB.=Defines accounting record type codes and offset constants forthe accounting records. 3 $BRDCSTDEF1Module ($BRDCSTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.CDefines mask bits for flags argument of the $BRDCST system service. 3 $CLIMSGDEF0 Module ($CLIMSGDEF) SYS$LIBRARY:LCLPASDEF.TLB.C Defines the CLI$ status codes values returned by the Command Line Interpreter (DCL or MCR). 3 $CLISERVDEF2Module ($CLISERVDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines request codes for CLI call-back operations for DCL. 3 $CREDEF.Module ($CREDEF) of SYS$LIBRARY:LCLPASDEF.TLB.@Defines offset constants and other values for the create-options1array argument of the LBR$OPEN LIBRARIAN routine.3 $DCDEF-Module ($DCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines device class (DC$_) and device type (DT$_) symbols. 3 $DEVDEF.Module ($DEVDEF) of SYS$LIBRARY:LCLPASDEF.TLB.>Defines device characteristics bit masks and offset constants. 3 $DIBDEF.Module ($DIBDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines offset constantss and field sizes for the device7characteristics buffer returned by $GETCHN and $GETDEV. 3 $DMTDEF.Module ($DMTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.9Defines bit masks and offsets for $DISMNT system service. 3 $DSCDEF.Module ($DSCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines symbols for procedure argument descriptor class andBatomic data types. Defins offset constants for descriptor fields. 3 $DVIDEF.Module ($DVIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines names for device information items used with the$GETDVI system service. 3 $FABDEF.Module ($FABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines offset constants and field locations (bits) for theRMS File Access Block (FAB). 3 $HLPDEF.Module ($HLPDEF) of SYS$LIBRARY:LCLPASDEF.TLB.+Defines masks for the flags argument of the"LIBRARIAN LBR$OUTPUT_HELP routine.3 $IODEF-Module ($IODEF) of SYS$LIBRARY:LCLPASDEF.TLB.9Defines symbols for the I/O function codes and modifiers. 3 $JBCMSGDEF1Module ($JBCMSGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.CDefines symbolic names for Job Controller status values (JBS$_...). 3 $JPIDEF.Module ($JPIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines symbols for the item codes for the $GETJPIsystem service. 3 $LBRDEF.Module ($LBRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines symbolic names for constants used with theLIBRARIAN utility routines. 3 $LCKDEF.Module ($LCKDEF) of SYS$LIBRARY:LCLPASDEF.TLB./Defines lock mode request codes and the bits of;the lock characteristics for $ENQ and $DEQ system services. 3 $LIBCLIDEF1Module ($LIBCLIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.,Definitions for LIB$CLI callback procedures. 3 $LIBDCFDEF1Module ($LIBDCFDEF) of SYS$LIBRARY:LCLPASDEF.TLB.*Definitions for use with LIB$DECODE_FAULT. 3 $MNTDEF.Module ($MNTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.DDefines bit masks and item codes for use with $MOUNT system service. 3 $MSGDEF.Module ($MSGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines system message type codes for mailboxes (MSG$_...). 3 MSGTYPDEF2 Module (MSGTYPDEF) of SYS$LIBRARY:LCLPASDEF.TLB.C MSGTYPDEF defines the ACNET message type code symbols for PASCAL. A HDR_K_LENGTH gives the length of the message header in bytes3 MSG_K_REPLY gives the Reply message type code% MSG_K_RPY same as MSG_K_REPLY5 MSG_K_REQUEST gives the Request message type code' MSG_K_REQ same as MSG_K_REQUESTA MSG_K_UNSOLIC gives the Unsolicited Special Message type code' MSG_K_USM same as MSG_K_UNSOLIC 3 $MTDEF-Module ($MTDEF) of SYS$LIBRARY:LCLPASDEF.TLB..Defines magtape device status bits and fields. 3 $NAMDEF.Module ($NAMDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMSName Block (NAM). 3 $NETAGS_DEF4 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLPASDEF.TLB.C $NETAGS_DEF defines symbolic names for ACNET Global Status values returned by the ACNET network. 3 $NET_DEF1 Module ($NET_DEF) of SYS$LIBRARY:LCLPASDEF.TLB.? $NET_DEF defines symbolic names for the VAX/VMS ACNET network! condition codes (signal names). 3 NODEDEFS1 Module (NODEDEFS) of SYS$LIBRARY:LCLPASDEF.TLB.2 Files NODEDEFS.PAS in SYS$LIBRARY: and RSX$LIB:.> NODEDEFS defines symbolic names for the ACNET logical nodes. ? Nodes should always be specified symbolically though for ease= of verifying conversions (ODT) some node definitions may be? computed based on the MAC number used on the XEROX systems by' adding the following decimal offsets: # Booster: add 30 to old MAC number8 MR/SY: add 30 to old MAC number (includes Beam Lines)( SCRUB System: add 50 to old MAC number 3 $OPCDEF.Module ($OPCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines offset constants and type code symbols the*send-to-operator ($SNDOPR) system service. 3 $OPCMSG.Module ($OPCMSG) of SYS$LIBRARY:LCLPASDEF.TLB.=Defines symbolic names for the OPCOM status codes (OPC$_...). 3 $PQLDEF.Module ($PQLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines names for quota codes used with the $CREPRC service. 3 $PRCDEF-Module ($PRCDEF) of SYS$LIBRARY:LCLPASDEF.TLB8Defines bits of the status flag argument of the $CREPRC system service.3 $PRDEF-Module ($PRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.9Defines names for the processor registers and sub-fields. 3 $PRVDEF-Module ($PRVDEF) of SYS$LIBRARY:LCLPASDEF.TLB,Defines bit offsets for privileges quadword. 3 $PSLDEF.Module ($PSLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.Defines access code constants. 3 $RABDEF.Module ($RABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMSRecord Access Block (RAB). 3 REQRPYFLG2 Module (REQRPYFLG) of SYS$LIBRARY:LCLPASDEF.TLB.B REQRPYFLG defines the symbolic names for PASCAL of the bit masksE for the Request and Reply option flags used in the NET_SEND_REQUEST. and NET_SEND_REPLY network service routines.  The options are: 2 ENDMULT; Mask for the end-multiple-reply bit in the reply options.? Used to terminate a multiple-reply request from the replier's end. Also known as EMR. 2 FCPASTB Mask for the enable first-packet-AST bit in the request options.B Used to enable delivery of a reply AST whenever the first packet= (in the chronological sense) has been moved into the user's reply buffer. 2 LOCKED> Mask for the buffer-remains-locked bit in the reply options.8 Used to override the receive buffer unlock done in the= NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 2 MULTRPY9 Mask for the multiple reply bit in the request options.A Used to indicate a request to which more than one reply message( is to be returned. Also known as MLT. 2 NOBSYWT7 Mask for the no-busy-wait bit in the request options.: Used to fail a request (return status-only reply) if the< destination task is busy with another message. Also known as NBW. 3 $RMSDEF.Module ($RMSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.5Defines symbols for the RMS status values (RMS$_...). 3 $RSC_DEF1 Module ($RSC_DEF) of SYS$LIBRARY:LCLPASDEF.TLB.E $RSC_DEF defines symbolic names for the reply status codes returnedC in the reply message header and the reply status byte of the User Ast Block. 3 $SCRDEF.Module ($SCRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.DDefines constant used by the terminal independent screen positioningAroutines, particularly returned information from LIB$SCREEN_INFO. 3 $SECDEF.Module ($SECDEF) of SYS$LIBRARY:LCLPASDEF.TLB..Defines constants and bit masks for global and private section system services.3 $SFDEF-Module ($SFDEF) of SYS$LIBRARY:LCLPASDEF.TLB.1Defines offset constants and bits in stack frame. 3 $SHRDEFC SYS$LIBRARY:LCLPASDEF($SHRDEF) defines symbols for shared message codes. E These message codes should not be used directly by a facility sinceE they do not contain a subsystem (facility) identifier or a severity? code. Use the following formula to calculate actual facility message codes: 2 facility-message-code = common-message-code +2 facility-id * 65536 +* severity-code 3 $SMRDEF.Module ($SMRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.BDefines the symbiont manager request and option codes for use with>the $SNDSMB system service. Also defines offset constants forthe request message buffer.3 $SSDEF/ Module ($SSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.= Defines symbolic constants (SS$_...) system condition codes and completion status values. 3 $STATEDEF0Module ($STATEDEF) of SYS$LIBRARY:LCLPASDEF.TLB."Defines process scheduling states. 3 $STSDEF.Module ($STSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.=Defines offsets of the condition code fields and the severitycode constants. 3 $SYIDEF.Module ($SYIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines item codes for the $GETSYI system service.3 $TTDEF-Module ($TTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.4Defines symbolic names for terminal characteristics. 3 UABFLGDEF2 Module (UABFLGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.B UABFLGDEF defines the symbolic names (for PASCAL) of the bit andC field masks, bit offsets, and field sizes of the UAB_B_FLAGS byte8 and the request_flags and reply_flags arguments of the: NET_CHECK_xxx and NET_WAIT_xxx network service routines. E The UAB_V_name symbols give the bit offsets (bit number relative toB bit 0 of UAB_B_FLAGS) of the bit or field named. The UAB_M_nameG symbols give the masks for the bits or fields (used in bit-wise .AND.C operations) for the named bits or fields. The UAB_S_name symbolsA give the sizes, in bits, of the named fields. The UAB_K_LENGTH; symbol gives the length, in bytes, of the user AST block. 2 FieldsD MSGTYPE is the message type code field. Only used with requests.  2 Bits@ 1STPKT bit indicates that this reply AST is the first packet= AST (declared after the first chronological packet= of the message has been stored in the user's reply0 buffer). Only used with reply AST's.> CANCEL bit indicates that the outstanding request has been= cancelled and no more replies should be generated. Only used with requests.% MULTRPY is the multiple reply bit.@ TOOLONG bit indicates that the message ws truncated to fit in the specified buffer. 3 $XABALLDEF1Module ($XABALLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines offset constants and other values of the VAX-11 RMS-allocation extended attribute block (XABALL). 3 $XABDATDEF1Module ($XABDATDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS0date and time extended attribute block (XABDAT). 3 $XABDEF.Module ($XABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.5Defines offset constants common to all the VAX-11 RMS extended attribute (XAB) blocks. 3 $XABFHCDEF1Module ($XABFHCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS?file header characteristics extended attributes block (XABFHC). 3 $XABKEYDEF1Module ($XABKEYDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines offset constants and other values for VAX-11 RMS0key definition extended attribute (XABKEY) block 3 $XABPRODEF1Module ($XABPRODEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS@file protection and ownership extended attribute (XABPRO) block. 3 $XABRDTDEF1Module ($XABRDTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines constants for the VAX-11 RMS revision date*and time extended attribute block (XABRDT) 3 $XABSUMDEF1Module ($XABSUMDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS7indexed file summary extended attribute (XABSUM) block.ww)y1 LBR G The LBR, or RSX-11M librarian, is used to maintain libraries of macro,H object, and universal modules. The general form of the command line is: > outputfile/switches,listfile/switches=inputfile/switches... H This may be used on a single MCR LBR command line or in response to the prompt from LBR. 2 Switches /CO:s:e:m" Compress input to output library. outfile/CO:s:e:m=infileF s size of the new library file in blocks. Size of the old library is the default size.G e number of entry point table entries allocated. The EPT size from% the old library is the default.E m number of module name entries allocated. The MNT size from the! old library is the default. /CR:s:e:m:t:i Create library outfile/CO:s:e:m:t:i B s size of the new library file in blocks. The default size is 100(10) blocks.A e number of entry point table entries allocated. The defaultB EPT size is 512(10) for object libraries (always forced to 0B for macro and universal libraries). The maximum EPT size is 4096(10) entries.? m number of module name entries allocated. The default MNT9 size is 256(10). The maximum MNT size is 4096(10).A t specified the library type. Acceptable values are OBJ, MACD or UNI for object, macro and universal libraries respectively.A The default is the last value specified or implied with the7 /DF switch, or OBJ if /DF has not been specified.C i Specifies the default input file type for a created universal@ library. The default for this is .UNI. This value is not, defined for object or macro libraries./DE:m Delete module.( outfile/DE:module1[:module2...:modulen]/DF:t Specify default library type outfile/DF:type... or /DF:type' Acceptable values are OBJ, MAC or UNI./DG:g Delete global' outfile/DG:global1[global2...:globaln]= Deletes entry point names from the EPT of an object library./EPB Include entry points in insert or replace operations on an object> library. /-EP (or /NOEP) will disable the inclusion of entry! points in the entry point table.C If used on the library specification, affects all modules inserted@ on replaced with the command. If used on a single input objectB file specification, only the modules from that file are affected./EX:m Extract module from library) outfile=library/EX[:module1....:modulen]A The default outfile file type is determined from the type of the? library. If no modules are listed, all modules are extracted./IN Insert module into library+ outfile[/IN]=infile1[,infile2,...,infilen] For universal files:# outfile=infile/IN:name:op:op:op:opF where name specified the module name and op is additional descriptive+ information (up to 6 Radix-50 characters)./LI List modules names outfile[,listfile]/LI/LE List entry points of modules outfile,[listfile]/LE/FU List full module description outfile,[listfile]/FU/MH:m:op:op:op:op Modify universal module header outfile/MH:module:op:op:op:op/RP Replace module in library) outfile/RP=infile1[,infile2,...,infilen] or( outfile=infile1[/RP][,...,infilen[/RP]]A See also /IN for universal libraries for special format for /RP./SP& Spool library listing to line printer outfile,listfile[/SP or /-SP]/SS' Give module selective search attribute outfile=infile/SS.../SZ( Squeeze comments from macro upon insert outfile/SZ=infile...or outfile=infile/SZ...ww fqr 1 LCPRINTB The command equivalent to the PRINT command to dispose a file forA printing on the lowercase Printronix printer (via the LXY queue) is: LCPRINT file{,...}" which may be abbreviated to LCPR.ww2]w1 Logical_NamesB The currently defined system-wide logical names are listed below.@ A description of each is available as a subtopic to this entry.2 CDD$DICTIONARYH Location of the Common Data Dictionary root dictionary file. Currently! this is located in SYS$MESSAGE:. Development System only. 2 CLIB_MACROS< Sources for the macros stored in the Console Macro Library, CNSMLIB.MLB. 2 CLIB_SRCE Sources for the Console Library routines in the CLIB11M.OLB library. 2 CNSAPPL$INC= Area in which the INCLUDE text files for Console Application/ Programs are stored. Development System only. 2 FERMI$EXE? Equivalent to SYS$SYSTEM: (or SYS$EXE:) for Fermilab and other< non-DEC developed executable images and command procedures. 2 FERMI$LIB@ Command procedures used for manipulating libraries and buildingA new versions of the FERMILIB.OLB object library and FERMILIB.MLB macro library.2 FERMI$LIB_INCC Points to the area (subdirectory under FERMI$LIB) in which INCLUDEG files for various languages are stored. These are the sources for the= modules in the LCLxxxDEF.TLB text libraries in SYS$LIBRARY:. Development System only.2 FMS$EXAMPLESA Points to area in which sample programs for FMS V2.0 are stored.2 HLP$LIBRARY_nC Defines a series of alternate Help libraries to be searched by the HELP commands. 2 NET$EXEH Logical name points to the disk area where the ACNET executable images,D command procedures, NETCOMMON global section file and log files are stored.2 RSX$C; Used by the DECUS C compiler to search for .H files in the< "standard" library area. Also contains the DECUS C runtime and other object libraries. 2 RSX$CNS_LIB Points to the RSX40$LIB area. 2 RSX$LIB? Generic RSX library area. Contains SYSLIB.OLB, RSXMAC.SML and? other RSX libraries extracted from RSX systems. Also contains= other libraries and files useful with RSX programs either onB RSX systems or under compatibility mode. Also contains the ACNETA Console libraries (macro, object and resident) and shared common2 and the ACNET network object and macro libraries. 2 RSX32$LIB: Contains libraries and files dependent upon RSX-11M V3.2. 2 RSX40$LIB: Contains libraries and files dependent upon RSX-11M V4.0. 2 SYS$BACKUPSC Logical name defining location of the BACKUP journal files created= by disk-to-tape file saves done under the OPERATOR account.0 2 SYS$DEVF Shorthand logical name for system boot device, same as SYS$SYSDEVICE: 2 SYS$EXE< Shorthand logical name for system area, same as SYS$SYSTEM: 2 SYS$LIBA Shorthand logical name for system librarys, same as SYS$LIBRARY:2 SYS$MGR_UTIL@ Logical name for area in which system manager utility programs,. command procedures and batch jobs are stored. 2 SYS$SYLOGIND Defines system-wide login command procedure. Invoked automatically when a user logs in. 2 VAX$AP_LIB= Points to area with libraries for VAX Applications Programs./ See the VAX$AP_LIB topic for more information. Development System only.wwC̊1 MACHThe RSX11M MACRO assembler can also be invoked by the following command: DMCR MAC [object-file][,list-file/switches] = source-file(s)/switchesGSwitches are ASCII names identifying an option. VMS file specificationsF(with logical names, alphanumeric directories, and subdirectories) may be used. 2 Parame tersH The source-file specifications define the input file(s). The defaultHfile type for MACRO-11 source is .MAC. The default device and directoryBfor the first source file is the current default directory. If anEexplicit device or directory is used with a source file, that becomes0the new default for any following source files. D The object-file defines the file for the output object code. TheEdefault file type is .OBJ. The list-file defines the file to receiveAthe listing; the def ault file-type is .LST. Both object-file andGlist-file are optional. The default device and directory for the objectEfile are the current default directory. The defaults for the listing6file are the device and directory of the object file. C The default extension of a user macro library (given as a sourceDfile specification) is .MLB. The system macro library is RSXMAC.SMLin SYS$LIBRARY: (or [1,1]). 2 Switches@ Switches may have one of the forms: /SW, /NOSW, or /-SW whereDthe last  two select the negated action. Switches may be followed byAone or more values consisting of ASCII strings, octal numbers, or?decimal numbers. Decimal numbers are followed by a period (.).BOctal numbers are the default; a number preceeded by a number sign=(#) is an explicit octal declaration. Any number can also beApreceeded by a plus sign (the default) or a minus sign. Switches?are separated from their values by a colon (:), as are multiplevalues.8/LI:arg (/LI:SEQ:LOC:BIN:BEX:SRC:C OM:MD:CND:TOC:SYM:TTM)/NL:arg (/NL:ME:MEB:LD)GOverride and set (/LI) or clear (/NL) listing options controlled by theD.LIST and .NLIST assembler directives. The argument maybe be one of8more of the following keywords separated by colons (:). ' SEQ source list sequence numbers field LOC location counter field BIN generated binary code field0 BEX generated binary extensions (subset of BIN) SRC source lines COM comments2 MD macro definitions and repeat range definitions+ MC macro calls and repeat range expansions ME macro expansions, MEB macro expansion binary code (ME subset) CND unsatisfied conditionals( LD listing directives without arguments TOC table of contents SYM symbol table% TTM narrow (terminal) format listing/EN:arg (/EN:CRF:PNC:REQ:GBL)$/DS:arg (/DS:ABS:AMA:CDR:FPT:LC:LSB)@Enable or disable options. Overrides .ENABL and .DSABL assemblerDdirectives. The argument maybe one or more of the following keywordsseparated by colons (:). 6 ABS produ ce absolute binary output in Files-11 format. (use FLX to convert to RT Formatted Binary).6 AMA assemble relative addresses (mode 67) as absolute addresses (mode 37).8 CDR treat columns 73 and above as comments (card reader input).! CRF allow cross-reference output* FPT enable for floating-point truncation.% diable for floating-point rounding.7 LC enable to accept lower-case ASCII. If diabled, all# input is converted to upper-case.' LSB enable/disable local symbol blocks% PNC disable to inhibit binary output5 REG allow normal register definitions (R0-R5,SP,PC).5 GBL treat all references to symbols undefined at the- end of pass 1 as default global references./ML*Input source file is a macro library file./PA:12Assemble associated input file during pass 1 only./PA:22Assemble associated input file during pass 2 only./NOSP/-SP/SP (D)*Spool or inhibit spooling of listing file. /CR[:arg]:Produce a cross reference listing for (argument keywords):  SYM user-defined symbols MAC macro symbols REG register symbols PST permanent symbols-Using /CR alone is equivalent to /CR:SYM:MAC.ww@|{ 1 MACCODCNTF The MACCODCNT program is used to prepare counts of various line typesC The different types of lines counted include blank lines, commentC lines, ";" lines (comment character with remainder of line blank),F code lines and commented code lines (code followed by a ";" comment).G Comments after code are recognized by a ";" character which is scanned2 for from the end of the line (not 100% accurate).B The program should be used by defining a foreign symbol, such as: $ MCC := $FERMI$EXE:MACCODCNT and then using a command like: $ MCC input-source-fileE to characterize the named input source file (no default file type!).C The input source file may include wildcards in which case a reportA is generated for each individual file found along with a overall summary report.ww   1 MAKEADDLA These command procedures create a disk directory listing for the? entire contents of a disk pack or floppy disk. The formats of the procedure calls are:5 @FERMI$EXE:MAKEADDL1 [device] [filename] [NOPAGE]5 @FERMI$EXE:MAKEADDL2 [device] [filename] [NOPAGE]F If the device or filename parameters are not given, they are promptedE for; if still not specified, default are used. MAKEADDL1 is used for2 ODS-1 disks (RSX) and MAKEADDL2 with ODS-2 disks.> The directory listing is placed on a file with the name givenB by the filename parameter and a file type of DDL (Disk Directory I Listing). The listing includes directory headings, file specifications,B sizes (both used and allocated), owner UIC's, and creation dates.C The directory listing is processed twice after creation, the firstC pass is used to preceed each line by a tab to allow easy insertionD of the output into a notebook (the tab leaves space for the holes).D The second pass is used to start each directory at the top of a new page. 2 Parametersdevice F is the name (physical or logical) of the disk device to be cataloged.: If a logical name is used it MUST NOT contain a directory: specification. The default used for device is SYS$DISK:.filenameA is the filename of the output file (filename.DDL) containing the3 disk directory listing. The default is DIRECTORY.NOPAGE@ If the literal NOPAGE is given as the third parameter, then the> listing will not be segmented so that each directory (or sub-! directory) begins on a new page.ww7 ̊ 1 MCRFORK: This command will execute a single MCR command line as a ( subprocess. The format of the call is: MCRFORK [command-line] @ This procedure will leave the subprocess output (to SYS$OUTPUT)B on the file jobname.LOG in the default directory in effect at theG time the MCRFORK is issued. The jobname is the name of the subprocessE and is made from the first word of the command line (or the filenameD if the command is @file) or the word FORK. In addition, the user'sD member number (second part of his UIC) will be added to the jobnameD so that a more unique (within his group) subprocess name is formed.C The global symbol MCRFORK is defined in the system-wide login fileE (SYLOGIN.COM) as "@FERMI$EXE:FORK %MCR". MCRFORK may be abbreviated to MCRF. 2 Parameters command-lineG is any MCR command line with a verb and up to 5 additional parameters.B If the first parameter of the command line is preceeded by a "%",C the subprocess jobname will be gotten from the second parameter ofA the command line. Similarly, the third parameter is used if theA second is also preceeded by a "%". The "%" is stripped from the= parameter(s) before the command line is written to the disk.wwpr1 NEWS@ This command is similar to the VMS HELP command except that theA NEWSLIB Help library is accessed. This library contains various, types of information and system news items.wwm-P1 NOTICE, The NOTICE system consists of two programs:@ NOTICEDPY - displays all the notices; run in the SYLOGIN.COM0 for all INTERACTIVE jobs (only).@ NOTICEUTL - used to add, display, edit, and otherwise updateD the notice files ([SYSMGR]MESSAGE.DAT and USER.DAT).E The NOTICE system will display either system notices (entered by theG System Manager and systems personnel) or personal reminders e ntered byF an individual user with the NOTICEUTL program. Each notice displayedI will include the date that the notice was entered into the message file. 2 NOTICEUTLE The NOTICEUTL program is used by the System Manager (and users with F SYSPRV set) to maintain system notices. Normal users (anyone withoutG the SYSPRV privilege turn on) may use the NOTICE command to operate onH reminder notices instead of system notices. Users with SYSPRV may alsoG operate on reminder notices by using the REMIND argument in the NOTICE< command. The command to use the NOTICEUTL program is thus: NOTICE [REMIND]G The NOTICEUTL program allows one to add, delete, display, and edit theI notices. A HELP command is supported by NOTICEUTL to list the available commands.H When the NOTICEUTL program prompts for text to be entered, you may typeF a series of lines of input terminated by a ^Z or you may respond with6 the name of a file from which the text is to be read: @filename 2 AttributesB NOTICEDPY is run each time a user logs in on the VAX. The noticeE attributes (both system notices and reminders) affect which messages6 are output and when. The attributes of a notice are: 1. Start date 2. Termination date" 3. Distribution list of usernames? 4. Terminal list (notice is only displayed on these terminals) 5. Notice text 6. Repetition typeH The repetition type determines when and how often the notice is output.2 The types of repetition that may be selected are: 1. Display notice once 2. Display notice once a day. 3. Display notice every time the user logs in= 4. Display notice once except on termination date when it is displayed at every login> 5. Display notice once daily except on termination date when " it is displayed at every loginH The notice (or reminder) attributes are setup when the message is first( entered into the system with NOTICEUTL.2 DistributionG When entering a system notice, you will be prompted for a distr ibutionH list or a terminal list. The distribution list selects those users forG whom NOTICEDPY will the display the notice. A terminal list tells theH NOTICEDPY program to display the notice only on the selected terminals.3 Either list maybe entered in one of several forms:7 1. List of usernames or terminals separated by commas.0 2. *ALL (to select all users or all terminals).* 3. - carriage return (same as *ALL).+ 4. @filename (reads the list from a file).D If more than one name is entered in response to the initial prompt,E NOTICEUTL will continue prompting for more names until a response of ^Z (Control-Z) is received. 2 RemindersI Only the System Manager and systems personnel with SYSPRV can operate onJ system notices. Normal users can entered reminder notices which are veryF similar to system notices except that you are not prompted to enter aG distribution list since the notice will only be displayed to yourself.I The System Manager may, using NOTICEUTL, operate on and display any suchH reminder. Systems personnel may enter reminders (when they have SYSPRV set) using the command line: NOTICE REMINDwwڏqr1 NPRINTB The command equivalent to the PRINT command to dispose a file forE printing on the lowercase Printronix printer with narrow (8-1/2 inch form, via the NARROW queue) is: NPRINT file{,...}ww+y1 ODT E The RSX-11M On-Line Debugging Tool (ODT) is an interactive debuggingD aid  for RSX-11M or VAX compatibility mode programs that is added toB task image by the Task Builder /DA (debugging aid) switch. Among@ its capabilities, ODT allows the setting of breakpoints and theA opening, display (in various formats), and modification of task locations.  2 Commands= ODT's commands are listed below as subtopics. The "_EQUALS"2 subtopic provides information on the "=" command. 3 _EQUALS> k= Interpret and print expression k as six octal digits andA store this word in the Q (quantity) register. For example,  _50122+152=50274 _2 Radix-50 words may be evaluated by the following: _33*24*12=125752? where the Radix-50 values for ".", "T" and "J" are used in the octal expression.3 B B Remove all breakpoints  nB Remove nth breakpoint A a;B Set the next available sequential breakpoint at location a % a;nB Set breakpoint n at location a3 D8 Accesses data space. After this command is issue d, ODT; interprets all references to locations as referring to the) D-space of the task. RSX-11M-PLUS only.3 E E or kE or m;E or m;kE > Search memory between the address limits specified by the low> memory limit register ($L) and the high memory limit register? ($H). Examine these locations for references to the effective; address specified in the search argument register ($A), as@ masked by the value specified in the search mask register ($M).? If m and/or k are specified, their values are placed in $M and! $A before the search is started.3 F@ F Fill memory locations within the address limits specified9 by the low memory limit register ($L) and the high= memory limit register ($H) with contents of the search argument register ($A). 7 kF Do the above, but first put the value k into $A.3 G7 G Begin execution at the location contained in the User PC ($7). 7 aG Begin execution at a (put a into $7 and then G).3 I? Accesses instruction space. After this command is issued, ODT? interprets all references to locations as referring to I-space! of the task. RSX-11M-PLUS only.3 K= K Using the relocation register whose contents are equal: to or closest to (but less than) the address of the= currently open location, compute the physical distance9 in bytes between the address of the currently open7 location and the value contained in the selected: relocation register; print this offset and store it$ in the Q (quantity) register. 5 nK Do the above using the nth relocation register @ a;nK Do the above between the address a and the nth relocation register3 L/ L or kL or a;L or a;kL or n;a;kL A List on an output device all word or byte locations in the task> between the address limits specified by the low memory limit@ register ($L) and the high memory limit register. If k and/orA a is specified,  their values are placed in $H (high search limit= register) and $L (low search limit register) before the list begins. 3 N N or kN or m;N or m;kN > Search memory between the address limits specified by the low> memory limit register ($L) and the high memory limit registerA ($H) for words with bit patterns which do not macth those of theC search argument register ($A) under the search mask register ($M).A If m and k are specified, put their values into $A and $M before searching.3 O< aO Calculate and print the PC-relative (jump) offset and< the 8-bit branch displacement from the currently open location to address a. ; a;kO Do the above calculation for address a to address k.3 P+ P Proceed from the current breakpoint. 9 kP Proceed from the current breakpoint k times before* breakpointing to the console again.3 R< R Disable the use of all relocation registers (set them to 177777) 0 nR Disable the use of relocation register n. / a;R Set relocation register 0 to the value a / a;nR Set relocation register n to the value a3 S< S Single step (execute the next instruction and then to an automatic breakpoint) A nS Execute n instructions and then do an automatic breakpoint3 U? Sets the current mode of ODT to user mode. RSX-11M-PLUS only.3 V? Enable ODT's handling of all SST vectors. See the V registers ($nV).3 W W or kW or m;W or m;k W > Search memory between the address limits specified by the low> memory limit register ($L) and the high memory limit registerA ($H) for words with bit patterns which match those of the searchB argument specified in the search argument register ($A). Compare@ each memory word and the search argument for equality under theA mask specified in the search mask register ($M). If m and k are= specified, put their values into $A and $M before searching.3 X+ Exit from ODT and therefore from the task.3 Z1 Sets the current mode of ODT to supervisor mode. RSX-11M-PLUS only. 2 DisplaysA An address is opened by typing an address expression followed by& one of the following format commands: 4 / Word mode octal \ Byte mode octal4 " Word mode ASCII ' Byte mode ASCII % Word mode Radix-50 C An address expression has the general form [r,]k[c] where r is the= number of a relocation register, k is an address, and c is a- positive or negative constant. For example,  _0,123+20/ 001433 ? The value displayed as the contents of the opened location are( stored in the quantity ($Q) register. 3 ClosingB Once a location is open, it can be be displayed in another format@ or closed by one of the following commands. If an octal numberA precedes one of the following commands, that number replaces the contents of the open location. ; Close open location and give ODT prompt (carriage  return character).4 Open next sequential location (line feed)." ^ Open preceding location.7 @ Use contents of open location as the absolute0 address of next location to be opened.6 _ Use contents of open location as PC relative. offset and open the target location.; > Use low order byte of location as the offset in a: branch instruction and open the target location.9 < Closes the currently open location (opened by a7 "_", "@" or ">" command) and reopens the word3 location last opened by "/", or "^". 2 Indicators> Special vlaue indicators which may be used in ODT expressions are:# . Current location indicator.= C Constant register indicator (replaced by contents of  the $C register).< Q Quantity register indicator (replaced by contents of the $Q register). 2 RegistersC General user register (0-7) n is opened by typing "$n/ " where theD PC is given as "$7" and the stack pointer as "$6". ODT also has aB number of internal registers that can be opened by typing "$x" orD "$nx", where x is listed below and n is the number of the register+ within the register set (if appropriate).  3 $A Search argument register.D This register is set to a word search argument by opening with "/",A or to a byte search argument by opening with "\". This register> can also provide the value to be used to fill memory. The $AD register can also be set from the "k" argument of one of the search commands.3 $C Constant register.E Can be used as an address expression or a value through the constant register indicator C.3 $F Format register.B When set to 0, all user task addresses are displayed in relative,C if an appropriate bias value is available in one of the relocationA registers. When set to any other value, user task addresses are displayed in absolute form.3 $H High memory limit register.D The location contained in this register is the upper location limitD for ODT search, list and fill memory operations. Initialized to 0.3 $L Low memory limit register.D The location contained in this register is the lower location limitD for ODT search, list and fill memory operations. Initialized to 0.3 $M Search mask register.@ This register is set to a word search mask by opening with "/",A or to a byte search mask by opening with "\". Can also be setE by arguments specified with the memory commands. Initialized to -1.3 $Q Quantity register.C ODT sets this to the last value displayed or calculated by the "=" operator.3 $S! User PS (Processor Status word).E Stores the Processor Status Word resulting from the last instruction executed prior to a breakpoint.3 $W# User $DSW (Directive Status Word).0 Contains the Directive Status Word of the task.3 $X Reentry vector register.E A positive value causes ODT to retain register values for successive entries of ODT.3 $nB& Breakpoint address registers n (0-7).E Contains user-specified address of location (breakpoint) in the userD task whose contents are to be swapped with the contents of $nI whenE a G or P command is executed. A ninth register, $8B, is used by ODT for single-step execution.3 $nD# Device control LUN register (0-2).D Register $0D contains the LUN of the user terminal and $1D containsD the LUN of the console device. Register $2D contains the ODT event5 flag number (normally a default value of 000034(8)).3 $nE# SST stack contents register (0-2).D The top three items on the user program stack are placed into theseA registers when a synchronous system trap occurs. Stack contents" depend on the type of trap taken.3 $nG* Breakpoint preceed count registers (0-7).@ The register $nG corresponds to the breakpoint register $nB andB contains the number of times the breakpoint should be encounteredC before the breakpoint is recognized. Each register is initializedA to 1 and can be set throught the "kP" command or by opening $nG.A A ninth register, $8G, is used by ODT for single-step execution.3 $nI( Breakpoint instruction registers (0-7).@ Initialized to contain a BPT instruction (op code 000003) whichA is swapped with the contents of register $nB when the "G" or "P"@ command is executed. A ninth register, $8I, is used by ODT for single-step execution.3 $nR Relocation registers (0-7).= Contains the relocation bias of a relocatable object module,@ enabling ODT to display user task addresses in relative form if* $F is set o 0. Initialized to 177777(8).3 $nV SST vector registers (0-7).; Contains entry-point address of ODT routine for handling a@ synchronous system trap. If both ODT and the user program have= SST vectors enabled for the trap, ODT automatically receives= the trap, except for vector 6 ($6V) which must be explicitly= enabled through the "V" command. ODT handling of a trap can7 be disabled by clearing the register; the user program vector then receives the trap. 4 SST_Vectors8 $0V Odd address reference in word instruction (on some0 processors, illegal instruction executed)." $1V Memory protection violation.- $2V T-bit trap or BPT instruction executed. $3V IOT instruction executed./ $4V Reserved or illegal instruction executed.. $5V Non-IAS/RSX-11 EMT instruction executed. $6V TRAP instruction executed./ $7V PDP-11/40 floating-point execption error.2 TRACE= The Trace program is a simple debuggin aid which may be used? in place of or along with ODT to provide information about the> execution of a user task. Trace is an object module that you< specify when you build your task by adding LB:[1,1]TRACE/DA= (or SYS$LIBRARY:TRACE/DA or RSX$LIB:TRACE/DA) to the list of object modules passed to TKB.. Trace is not an interactive program like ODT. 3 Listing> The Trace output listing consists of two lines of information= for each instruction executed in the user task. First first8 line lists five octal words representing the following:$ current relative program counter current PC next PC processor status word (PS) directive status word ($DSW)> The relative PC is determined by subtracting a user-specified bias from the actual PC.= The second line contains 8 octal words giving the following: registers R0 through R5 stack pointer top word of the stack 3 Customizing= Trace output may be partially customized by using the GBLPAT< option of the Task Builder to specify a bias value (used in; determining the relative PC) and a range of task locations to be traced.4 Bias5 To specify a bias value for relative PC calculation: GBLPAT=segname:.BIAS:value9 where segname is the name of the task's root segment and: value is the octal value to be subtracted from the actual PC to give the relative PC.4 Range. To specify a range of addresses to be traced:5 GBLPAT=segname:.RANGE:low1:high1 [... :lown:highn]9 where segname is the name of the task's root segment and? low1...lown are the low addresses (relative to the bias value): of the ranges to be traced and high1...highn are the high; addresses (also relative to the bias value) of the ranges.9 Up to 4 ranges may be specified. The low and high value# for each range used must be given.ww&̊ 1 PASCAL2C Oregon Software 's Pascal-2 compiler producing code for the RSX-11MA systems is available on the VAX. The compiler is used by either8 RUN'ning RSXPASCAL or using a command line of the form:9 $ MCR PAS [out_file][,list_file]=in_file[,in_file...]B where PAS has been setup as a system-wide logical name. SwitchesD of the format "/name" or "/NOname" may be used in the command line.D Some of the Pascal-2 documentation files may be found on the VAX in, the disk area SYS$SYSDISK:[SYSHLP.PASCAL2]. 2 ParametersB in_file input file specification. Default file type is .PAS.B out_file output file specification. Default file type is .OBJA if object code is produced and .MAC if MACRO code is produced.D list_file listing file specification. Default file type is .LST. 2 Switches /CHECK(D)/NOCHECKC Disable all run-time checks including index range checks, subrangeB assignment check, nil pointer checks, stack checks and case label checks./DEBUG (D=Of f)B Enables generation of code to interface to the Pascal-2 Debugger.< Default is "off". Cannot be used with the /PROFILE switch./DOUBLE (D=Off)E If specified, then all REAL variables are in 8-byte double-precisionB floating-point format. Default is "off" so real variables are in. single-precision 4-bit floating-point format./EIS (D)G Requests the compiler to generate code for a machine with the ExtendedF Instruction Set (EIS) option which includes MUL and DIV instructions.4 Floating- point operations will be done in software./ERRORS (D=On)? Requests that the listing file contain only lines with errors.> Unless /LIST is specified, the default is "on" and errors are printed on the terminal./FISG Requests the compiler to generate code for a machine with the FloatingG Instruction Set (FIS) option. This implies the /EIS switch and cannot be used with the /FPP switch./FPP (D)G Requests the compiler to generate code for a machine with the FloatingG Point Processor ( FPP) option. This implies the /EIS switch and cannot be used with the /FIS switch. /LIST (D=Off)B Requests a full source listing in the listing file. If a listingA file is specified, the default is "on", otherwise the default is "off"./MACRO (D=Off)E Generates MACRO code in the output file with default file type .MAC.B This code may be assembled by Macro-11 to produce an object file.; Default is "off". Cannot be used with the /OBJECT switch. /MAIN (D)/NOMAIN> If /NOMAIN is u sed, then no main program is expected and only@ procedures are compiled. The /NOMAIN switch is used to prepare external procedures./OBJECT (D=On)F Generates object code in the output file with default file type .OBJ.D Default is "on" unless no output file is specified. Cannot be used with the /MACRO switch./OWN /NOOWN (D)B If /OWN is used, then the global-level variables are local to theD compilation unit and are not shared with other programs or external1 routines (default is to sha re global variables)./PASCAL1 (D=Off)B Specifies that the interface to external procedures be compatibleC with Pascal-1. The default is the Pascal-2 interface which should always be used./PROFILE (D=Off)D Requests and execution profile when the program is run. Default is/ "off". Cannot be used with the /DEBUG switch./SIMF Requests code with calls to software routines for multiple and divideC as well as for floating-point arithmetic. Use only if the machine does not have EIS. /STANDARD/NOSTANDARD (D)D Requests that all Pascal-2 extended language features be flagged as! errors. Default is /NOSTANDARD./TIMES (D=Off)D Prints wall-clock time consumed by the compiler. Default is "off".2 Embedded_SwitchesG Some switches may be embedded in the source code. These switches takeB the form of a Pascal comment beginning with a dollar sign "$" and followed by a descriptive name: {$name}C Switch names beginning with "NO" reverse the effect of the sw itch.B The switches may be abbreviated to a minimum of three characters.F Most embedded switches are counting switches. Each occurrence eitherD increments or decrements the switch value; the switch is enabled ifB its value is greater than zero. The initial value of a switch isE controlled by an equivalent compilation switch or a default setting.C Some switches are valid for the entire program; some can be turned1 "on" and "off" for a particular section of code.3 $DEBUG@ Enables or di sables (with $NODEBUG) some of the overhead of theA Pascal-2 Debugger. These switches will have an effect only when' the /DEBUG compilation switch is used. 3 $DOUBLEE If specified, then all REAL variables are in 8-byte double-precisionB floating-point format. Default is "off" so real variables are inE single-precision 4-bit floating-point format. Applies to the entire compilation.3 $NOINDEXCHECKD Stops generation of code for array bounds checks; no array index is6 checked for bei ng in bounds. Default is $INDEXCHECK. 3 $NOLISTB Turns off the listing of source lines in the listing file. $LIST# restores the list of source lines. 3 $NOMAINC If specified, then no main program is expected and only proceduresA are compiled. This switch is used to prepare modules containing9 external procedures. Applies to the entire compilation.3 $NOPOINTERCHECKB Stops generation of code that checks for NIL pointer values. The default is $POINTERCHECK.3 $NORANGECHECKA Can cels the subrange assignment check capability. No assignmentC to a variable of subrange type is check as to whether the assigned< value is within the allowed range. Default is $RANGECHECK.3 $NOSTACKCHECKD Stops the generation of code for stack overflow checks on procedure1 and function entry. The default is $STACKCHECK.3 $OWN? If specified, then the global-level variables are local to theD compilation unit and are not shared with other programs or external. routines. Applies to the  entire compilation. 3 $PASCAL1B Specifies that the interface to external procedures be compatible> with Pascal-1. Turn on with $PASCAL1 when calling a Pascal-1/ external procedure. Turn off with $NOPASCAL1. 3 $PROFILEB Enables or disables (with $NOPROFILE) some of the overhead of the@ Pascal-2 Profiler. These two switches only have an effect when) the /PROFILE compilation switch is used. 3 $STANDARDD Like the /STANDARD compilation switch, alters the language checking5 to flag all the Pascal-2 extended language features.ww ̊1 PASMATB PASMAT is a formatting program for Pascal-2 source files. PASMATB will accept standard Pascal and the Pascal-2 language extensions.> A syntactically incorrect program will cause PASMAT to abort. PASMAT may be run by doing: $ RUN FERMI$EXE:PASMAT5 * out_file = in_file [/OPTIONS="directives"] 2 Parameters? in_file File specification of the Pascal source file beingC reformatted. P ASMAT accepts only a single input file.+ The default file type is .PAS.C out_file File specification of the reformatted output file. IfD omitted, a file with the same name and file type as theA input file (but a higher version number) is written. 2 Switches/OPTIONS="directives"> Settings for formatting directives within the quotes. May be@ abbreviated to /O and placed anywhere on the command line. The@ directives may also be placed in a Pascal comment in the source file of the format:> {compiler_directives text [formatter_directives] text}1 Or, if no compiler directives are present, then:# {[formatter_directives] text} 2 DirectivesD Formatting directives are of two breeds; switches that turn ON withA the plus sign (+) and OFF with the negative sign (-); or numericD directives of the form "T=5". Multiple directives are separated by@ commas. Blanks are not allowed within a directive. Alphabetic case is  ignored.- The default settings for the directives are:2 A-,B-,C-,F+,K-,L+,M+,N-,O=78,P-,R-,S=1,T=2,U-3 AD Adjust each identifier so that the first instance of the identifier> determines the appearance of all subsequent instances. This ; facility standardizes the use of upper-case and lower-case8 characters and the break character (_) in program text.3 BB Specifies that the statements following a THEN or ELSE, FOR, WITHB or WHILE will be put on the same line if they fit. The statement@ following a CASE label will be put on the same line if it fits.3 C+ Converts leading blanks to tabs on output.3 FA Turns formatting on and off. Goes into effect immediately after# the comment in which it is placed.3 K< Converts the Pascal-1 ELSE clause in a CASE statement to an& OTHERWISE clause as used in Pascal-2.3 L@ Specifies that the case of indentifiers and reserved words be aB literal copy of the input. This overrides the U and R directives$ and is disabled  by the P directive.3 M> Converts all alternate symbol representations to the standard? form. Otherwise all symbols are left as they are in the text.? The nonstandard comment brackets /*...*/ are always converted,( either to braces or (if M-) to (*...*).3 NA Inserts no new lines into the output unless they are required to= make the lines fit. This directive just indents the source,9 keeping the line structure as setup in the input source.3 O= Specifies the width of the output l ine. The maximum allowed value is 132 characters.3 P> Sets "portability mode" format which removes break characters< from identifiers. The first letter of each identifier, and> the first letter following each break character, will be made; upper case while the remaining characters will be in lower? case. Overrides the L and U directives. The R directive sets the case of reserved words.3 R? Specifies that all reserved words will be in upper case. WithA this off, reserved word s will be in lower case. The L directive overrides this.3 S@ Specifies the number of statements per line in a manner similar to the tabbing on a typewriter.3 T8 Specifies the amount to "tab" for each indention level.; Statements which are continued on successive lines will be. additionally indented by half the value of T.3 U; U+ specifies that identifiers are converted to upper case.8 U- specifies that they will be converted to lower case.0 The L and P directives override this directive.ww^`̊ 1 PASXREFB The PASXREF program (known as XREF in the Pascal-2 documentation)B produces a cross-reference listing of the identifiers in a Pascal program. PASXREF is run by: $ RUN FERMI$EXE:PASXREF* XRF> out_file = in_file [/switch] 2 Parameters9 in_file Specification of the Pascal source file being9 cross-referenced (default file type is .PAS).0 Only a single file may be specified.= out_file Specifies cross-reference file (default file type? is .CRF). If omitted, the file name from the input< file is used with the default file type of .CRF. 2 Switches/LISTB Generates a listing of the input file before the cross-reference.= This listing includes lines numbers and a flag character (c)/ indicating multiple line comments and strings. /WIDTH:num? Specifies the page width for the cross-reference listing. The default is 132 characters.ww`=@o1 PATB PAT, the RSX-11M object module patch utility, allows you to patchB (update) code in a relocatable binary object module. PAT accepts= a file containing corrections or additional instructions and? applies these corrections and additions to the original object module. + The general form of a PAT command line is: 9 [outfile]=infile[/CS[:number]],correctfile[/CS[:number]] 2 FilesB outfile is the file specification for the output file. IfE you do n ot specify an output file, none is generated. C infile is the file specification for the input file. This@ file can contain one or more concatenated object modules. B correctfile is the file specification for the correction file.A This file contains the updates being applied to a0 single module in the input file. /CS@ Specifies the Checksum switch, which directs PAT to generate an> octal value for the sum of all the binary data comprising the3 module in the file to which the switch is applied. /CS:numberB Specifies an octal value that directs PAT to compare the checksumC value it computes for a module with the octal value you specify as number. ww 1̊1 PBA PB is a simple Pascal-2 formatter. PB is meant to assist, rather@ than replace, the manual formatting of programs. PB is run by: $ RUN FERMI$EXE:PB* PB>out_file = in_file [/switches] 2 Pa rameters; in_file Specifications of the Pascal source files being> reformatted (default file type is .PAS). Multiple< files, if specified, are separated by commas and7 are concatenated into a single output file.> out_file Specifies the file in which the reformatted Pascal= source is placed (default file type is .PAS). If? not specified, a new version of the input file will be created. 2 Switches /IDENT:num; Specifies the number of columns in an indention step. The default setting is 2. /COMMENT:num> Specifies the column to which trailing comments are indented. The default setting is 33.ww;΂̊1 PFMONG The Page Fault Monitor is an experimental, unsupported, privilegedG facility which can be used to generate page fault information about a program.!(! Description of $SETPFM system service!2 System_service Set Page Fault Monitoring $SETPFM_S pfmflg 9 pfmflg = page fault monitor flag. A value of 1 turns8 on page fault monitoring for a process. A / value of 0 turns off monitoring. > During the monitoring period, all page faults (except> system faults) incurred by the monitored process cause a> record to be added to the PFM.DAT file created in the> default directory. Each record consists of two longword> fields representing the PC of the instruction causing the> fault,  followed by the faulted virtual address. End of. file is indicated by a 0 in the PC field.!&! Description of automatic monitoring!2 Auto_monitorC To automatically monitor page faults for an image without havingC to explicitly issue the $SETPFM system service, include the7 following qualifier on the LINK command for the image:1 /DEBUG=SYS$LIBRARY:PGFALTMONC Executing an image linked in this way causes the entire image to be monitored.!#! Description of formatter program! 2 FormatterC A data formatting program for the PFM.DAT file is available. ItC produces a listing file (PFMLIST.LIS), in the default directory,C of all PC's where faults occurred and, for each PC, all faultedC virtual addresses referenced at that PC. Invoke the formatter with the following DCL command:, RUN SYS$SYSTEM:PFMANALYZ!)! Description of monitoring restrictions!2 RestrictionsC o The following privileges are required to run the Page Fault Monitor:& SETPRV& ALTPRI& PSWAPMC o Only one process per group may be actively monitoring at any one time.C o System faults -- i.e., those where the faulted virtual address, is in system space -- are not monitored.C o The Page Fault Monitor issues no error messages and, therefore,C must be used with care. For example, no notification is givenC if the PFM.DAT file is not created properly due to errors suchC as lack of required privilege, disk quota exhaustion orC concurrent attempts to monitor by two processes in the same group.ww`z@o1 PIPE PIP performs Files-11 file manipulation functions, such as copying,A transferring, and renaming files. PIP may be used under VMS in the following command format: $ MCR PIP pip-command K More than one PIP command can be specified in one line. To separate each + command, use the ampersand character (&). F See the COPY subtopic for information on the default copy operation.K See the WILDCARDS subtopic for information on wildcard character support.2 Copy( COPY outfile[s]=infile[s]/subswitches 9 Creates a copy of a file on the same or another volume. % The paramaters that PIP allows are: F outfile - if filename.type;version are null or all wildcards, inputE  parameters are preserved unless overruled by /NV or /SU;D if filename, type, or version is defined, none can be a? wildcard, and only one input file can be specified B infile - if filename.type;version are all null, the default is *.*;* B /BL:n[.] - specifies number of contiguous blocks for output file5 where n is an octal or decimal (.) value 8 /CO or /NOCO - contiguous or noncontiguous output file /FO  - see help on PIP /AP B /NV - forces output version number of copied file to be one5 greater than the current highest version D /SU - creates a new file having the same file name, type, and' version to replace outfile 2 Wildcards WILDCARDSG PIP also allows wildcards in file specifications to take the place ofC explicit specifications. The wildcard characters are as follows: . * - Match one or more alphanumeric characters - % - M atch exactly one alphanumeric character D Wildcard characters only have meaning in the filename and filetypeG fields of the file specification. You cannot use wildcard charactersD when a wildcard or null field would mean to default the field fromJ the input file specification. You can use wildcards with date switches. Examples: K *A.TMP - Match any file name that ends in A., such as A.TMP or CDA.TMP D *A*.TMP - Match any file name that contains an A anywhere in the: file name, such as A.TMP, AB.TMP, or CDA.TMP G %A.TMP - Match any file names that have exactly two characters and( end with A, such as BA.TMP 2 Switches /AP' APPEND outfile[/FO]=infile[s]/AP[/FO] @ Opens an existing file (outfile) and appends the input file(s)7 to the end of it. (/FO is the file owner subswitch.) % The parameters that PIP allows are: , outfile - explicit file name and type > infile - explicit file parameters; wildcard by default E /FO - file ownership is infile UFD; without /FO, ownership# is the current UIC/BS+ BLOCKSIZE outfile/[BS:n]=infile(s)/[BS:n] C Defines the block size for 7- and 9-track magnetic tapes. NoteF that /BS does not have to be specified for input files from magnetic6 tapes. PIP automatically determines the block size. /CD" CREATION DATE outfile/CD=infile G Gives the output file the creation date of the input file rather thanF the date of the file transfer. (This switch cannot be used with /ME. nor with any MT:-type magnetic tape device.)/DD% DEFAULT DATE /DD:startdate:enddate G Restricts file searches to files created during a specified period ofG time. Startdate and enddate must be specified in the form dd-mon-yy.@ A wildcard (*) may be substituted for startdate or enddate to 9 specify that there is no restriction for that argument./DF DEFAULT ddnn:[g,m]/DF D Ch anges the default device and/or UFD for the current task. (This D switch does not change protection privileges.) To eliminate these> defaults, specify /DF without a device or UFD specification./DE DELETE infile(s)/DE[/LD] F Deletes the specified files. The /LD subswitch lists the files thatF PIP deletes. The version number must be explicit or a wildcard (*)./EOF( END-OF-FILE infile(s)/EOF[:block:byte] G Specifies the end-of-file pointers for a file. If the block and byte I values are not specified, the end-of-file pointers are moved to the end of the allocated area./EN" ENTER outfile=infile(s)/EN[/NV] H Enters a synonym for a file in a directory with an option to force theG version number of the file being entered into the directory to be one. greater than the latest version of the file. % The parameters that PIP allows are: H outfile - filename, type, or version can be explicit, wild (*), orH null; wild and null fields default to the corresponding6 fields in the input file specification 8 infile - filename, type, and version default to *.*;* ) See also /NV and the PIP COPY subtopic. /EX FILE EXCLUSION filespec/EX ? Excludes one file specification's worth of files during file J searches. Any field in the file specification can be excluded. However,B the version number must be explicit and cannot be ;0 or ;-1. ToE eliminate file exclusion, specify /EX without a file specification. /FI6 FILE IDENTITY outfile=/FI:filenumber:sequencenumber > Accesses a file by its file identification number (file-ID)./FO FILE OWNERSHIP F The /FO subswitch allows the specification of the output file owner.B For more information on using /FO, see the PIP COPY subtopic or 3 help on one of the switches: /AP, PR, UF, or /UP./FR FREE [ddnn:]/FR E Displays the amount of available space on the specified device, theF largest block of contiguous space available, the number of free fileL headers, and the number of file headers used. SY0: is the default device./ID IDENTIFICATION /ID L Identifies the version of PIP being used and if PIP is linked to ANSI FCS./LI' LIST listfile=infile(s)/LI/subswitch D Lists one or more directories with an option to specify directory  listing formats. % The parameters that PIP allows are: > outfile - listing file specification; defaults to TI: # infile(s) - default is *.*;* : /LI - specifies limited report display format ( subswitches - one of the following: 9 /BR (or /LI/BR) - brief display format @ /FU[:n] (or /LI/FU[:n]) - full report display: format; n is the decimal number= of characters per line, by default1 the device buffer size @ /TB (or /LI/TB) - total blocks display format/LD LIST DELETED FILES J The /LD subswitch is used with the /DE or /PU switch to list the deleted< files. For more information, see also PIP /DE or PIP /PU./ME4 MERGE (CONCATENATE) outfile=infiles/ME/subswitches F Creates one file by concatenating two or more files. Definition of D fields and subswitches are the same as for the Copy command (type HELP PIP COPY)./NM! NO MESSAGE infile(s)/switch/NM H Suppresses certain PIP error messages, for example the message NO SUCHD FILE(S). The switches that can be used with the No Message switch are:  /LI to list a directory /DE to delete file(s)# /SD to selectively delete file(s) /PU to purge files /UN to unlock locked files . and any subswitches of the above switches. /PR PROTECTION H Alters file protection for the specified file. There are two formats, symbolic and numeric: $ Symbolic: infile/PR:symbol(s)[/FO] ( Numeric: infile/PR:octalvalue(s)[/FO] ? File name and type must be explicitly specified. See PIP /APD for more information on the /FO subswitch. See the PIP PROTECTIONA subtopic for information on the symbolic and numeric protection value formats./PU PURGE infile(s)/PU[:n][/LD] H Deletes a specified range of versions of a file (but never deletes theE latest version). Specification of a file version is not necessary.1 Wildcards are valid for the file name and type. B When you specify :n, PIP deletes all but the n latest contiguousA versions of a file. Without :n, PIP deletes all but the latest version of the file. 3 The /LD subswitch lists all of the deleted files./RM REMOVE infile(s)/RM B Removes an entry from a directory file (the opposite of /ENTER)./RE" RENAME outfile=infile(s)/RE[/NV] G Changes the name of a file with an option to force the version numberH of outfile to be one greater than the latest version of the file usingE the  /NV subswitch. The output device must be the same as the input# device, explicitly or by default. % The parameters that PIP allows are: B outfile - wildcard or null field assumes corresponding field from infile < infile - null filename.type;version defaults to *.*;* E /NV - see PIP COPY subtopic for more information on the New! Version subswitch /RW! REWIND outfile[/RW]=infile[/RW] D With outfile, causes  the specified tape unit to erase its residentB tape. With infile, causes the specified tape unit to rewind its. resident tape before opening the input file./SD SELECTIVE DELETE infile(s)/SD @ Prompts for user response before deleting the specified files. H The version number must be explicit or wild (*). PIP prompts you withF a candidate file from the class specified in the command line. YourD response choices are the letters Y, N, G, or Q, followed by eitherC a carriage  return () or a control-Z (CTRL/Z). The followingJ table describes the effect of each combination of letter and terminator. ! LETTER TERMINATOR OPERATION! ------ ---------- ---------B Y Delete this file and continue in this mode : Y CTRL/Z Delete this file and exit from PIP @ N Save this file and continue in this mode 8 N CTRL/Z Save this file and exit from PIP A Q Save  this file and return to command mode 8 Q CTRL/Z Save this file and exit from PIP C G Delete this and all remaining candidates - < return to PIP command mode when done C G CTRL/Z Delete this and all remaining candidates - F list deleted files and exit from PIP when done/SR SHARED READING infile(s)/SR B Allows shared reading of a file that has already been opened for writing. /SB, SPAN BLOCKS outdsk:outfile/SB=inmag:infile G Allows outfile records to span blocks when copying from ANSI magneticA tapes to Files-11 devices. Spanning blocks is the default PIP operation./SP SPOOL infile(s)/SP[:n] C Specifies a list of files to be printed, where n is the number ofE copies. /SP applies only if you have the print spooler task or the) Queue Manager installed in your system. J File identification must be explicit, that is, filename.filetype;version must all be specified./SU% SUPERSEDE FILE outfile/SU=infile(s) D Specifies that the output file be superseded by the input file(s).I The output file will have the same file name, type, and version number,$ but will have a different file-ID. ; The output file identification must be explicit, that is,. filename.type;version must all be specified./TD TODAY DEFAULT /TD C Restricts file searches to files created on the current date. ToC eliminate the restriction, use the Default Date switch (/DD:*:*)./TR TRUNCATE infile(s)/TR B Truncates the specified files to their current end-of-file mark,2 releasing unused storage for use by other files./UF8 USER FILE DIRECTORY ENTRY outfile(s)/UF[/FO]=infile(s) ? Creates a User File Directory entry on a volume. To transferA multiple infile UICs, specify the UIC in outfile as [*,*]. For5 more information on the /FO subswitch, see PIP /AP./UN UNLOCK infile(s)/UN H Unlocks a file that was locked as a result of being closed improperly./UP' UPDATE FILE outfile=infile(s)/UP[/FO] D Opens an existing file (infile) and writes it, from the beginning, into outfile. % The parameters that PIP allows are: . outfile - must be explicitly specified . infile - null fields default to *.*;* > /FO - see PIP /AP for more information on the File% Ownership subswitch A infile(s) replaces contents of outfile on the volume specified.. The file-ID of the output file is preserved. 2 ProtectionA The /PR switch allows the file protection to be altered for the@ specified field (see help on PIP /PR). There are two formats, symbolic and numeric: D Symbolic protection codes assign privilege by their presence. The3 default privileges for each group are as follows:  System = /SY:RWED Owner = /OW:RWED Group = /GR:RWED World = /WO:RWED 3 NumericE Numeric protection denies privilege by setting bits in a protectionE status word. Add selected octal values from the following list to  deny privilege: ) OCTAL CODE BIT ( SYSTEM R 1 0( W 2 1( E 4 2( D 10 3( OWNER R 20 4( W 40 5(  E 100 6( D 200 7( GROUP R 400 8( W 1000 9) E 2000 10) D 4000 11) WORLD R 10000 12) W 20000 13) E 40000 14) D 100000 15ww Zh 1 PORTLINESE This procedure is used to define a caller-specified global symbol asB TRUE if the process is an interactive process (on the DevelopmentD System) connected to a terminal on a Port Selector line. Otherwise: the symbol is set to FALSE. The procedure is invoked by: @FERMI$EXE:PORTLINES symbolH where the named symbol is defined as a global DCL symbol with the valueD of TRUE (1) or FALSE (0). Remember that the symbol is defined as a4 global and should usually be deleted after its use.ww{̊ 1 PROCREFB The PROCREF program produces a procedural cross-reference listing) of a Pascal program. PROCREF is run by: $ RUN FERMI$EXE:PROCREF- PRF> out_file = in_file [/WIDTH:num] 2 Parameters; in_file Specifications of the Pascal source files being9 cross-referenced (default file type is .PAS).= Multiple input files, separated by commas, may be specified.= out_file Specifies cross-reference file (default file type> is .PRF). If omitted, the file name from the last: input file is used with the default file type. 2 Switches /WIDTH:num? Specifies the page width for the cross-reference listing. The default is 132 characters.ww@-g1 RESEQC RESEQ is a program to resequence Fortran programs. Any program orA routine to be resequenced is assumed to be syntactically correct( and have no undefined statement labels.$ The format for the command line is:' RESEQ output-file=input-file/switches@ where 'output-file' and 'input-file' are any valid VAX/VMS file? specification and '/switches' are any of the valid qualifiers.< The RESEQ command must be defined as a foreign command via: RESEQ :== $FERMI$EXE:RESEQ 2 Qualifiers /FORMAT=n8 This switch specifies that FORMAT statements are to be8 resequenced independently of other statements, and that4 the first FORMAT statement will have the label 'n'. /INCREMENT=n8 This switch specifies the increment to use between: l abels (both FORMAT statements and any other statements which have labels)./LIST8 This switch indicates that a listing of the resequenced8 program is to be put in the file "newfile.LIS". This may be used with /SYMBOLS. /STATEMENT=n8 This switch specifies the first label to be used when8 resequencing the program or routine. If /FORMAT is not8 used, FORMAT statements will be resequenced in sequence, with any other statement which has a label./SYMBOLS8 This switch indicates that the symbol table (the old8 label and the new label that replaces it) is to be8 written to the file "newfile.LIS". This may be used with /LIST. 2 Limitations9 The file to be resequenced must not contain any sequence numbers in columns 73-80.3 No statement label references can be broken across2 continuation lines. Thus statements of the form: GOTO 10 1 10 must be specified as GOTO 1010ww ̊1 RETAB@ is a Battelle-written utility for adding and removing tab@ characters from a file. RETAB processes tabs in much the same@ way as a typewriter. Tab stops are set at one or more columns.@ A tab character in a file is considered to be equivalent to a@ variable number of blanks such that the next character in the@ line is placed in the column specified by the next tab stop.@ Files with records up to 255 characters in length can be processed. Format:$ $ RETAB input-file output-fileB where RETAB has been defined as a Foreign command by defining the DCL symbol:! $ RETAB :== $FERMI$EXE:RETAB 2 Parameters input-file@ Specifies the file to processed by RETAB. Any legal VAX: filespec, including those with wildcards is allowed here. output-file@ Specifies the file to receive the output of RETAB. Any legal@ VAX filespec is allowed here. A new output file is created for@ each input file processed. The file type of the output file# defaults to .RTB if not s pecified. 2 Qualifiers/INTABS=(option[,n,m,...])@ Specifies the location of tab stops used when interpreting the@ input file. In processing a record from the file, RETAB@ converts all tabs to multiple blanks. A tab character in the@ input file is treated as if it was the required number of@ blanks needed to reach the next tab stop. For example, if the@ qualifier /INTABS=20 were given, a line beginning with a tab7 would be converted to a line beginning with 19 blanks.@ A tab stop is set at each position specified by n, m, etc.0 Option can be a number or one of the following:@ NONE Specifies that there are no tab stops set. Tabs. are ignored in the input file.@ STANDARD Specifies the standard VMS interpretation of@ tabs which is every eight columns (i.e. tab- stops at 9, 17, 25, 33, etc.)@ INTERVAL:n Specifies tab stops at a fixed interval of n@ columns after column 1. STANDARD is equivalent INTERVAL:8.@ A number can be specified as -n to clear a tab set at position n.? The paretheses can be omitted if only one option is specified.6 If the /INTABS qualifier is omitted, then the default is /INTABS=STANDARD./OUTTABS=(option[,n,m,...])@ Specifies the location of tab stops used when generating the@ output file. When writing records to the output file, RETAB@ converts multiple blanks to tabs and bl anks. This conversion@ takes place such that the spacing in the file will remain the> same when displayed on a device with the specified tab stops.@ A tab stop is set at each position specified by n, m, etc.0 Option can be a number or one of the following:@ NONE Specifies that there are no tab stops set. No4 tabs are written to the output file.@ STANDARD Specifies the standard VMS interpretation of@ tabs which is every ei ght columns (i.e. tab@ stops at 9, 17, 25, 33, etc.). A file written@ with /OUTTABS=STANDARD will appear correctly1 spaced when displayed on the VAX.@ INTERVAL:n Specifies tab stops at a fixed interval of n@ columns after column 1. STANDARD is equivalent INTERVAL:8.@ A number can be specified as -n to clear a tab set at position n.? The paretheses can be omitted if only one option is speci!fied.@ If the /OUTTABS qualifier is omitted, /OUTTABS=NONE is assumed.ww ̊1 RSTBRMSRST reverses the action of RMSBCK are restores files from their'backups. The RMSRST command format is:/ MCR RST outfile[/switch(s)]=infile[/switch(s)]Coutfile is the filespec of a file(s) to be restore by the utility. 7 The filename and file type must be *.*. The directory7 may be explicit, defaulted, or [*,*] to restore to the original directories.Cinfile is the filesp"ec of the backup container file or disk file in' backup format. Wildcards may be used.JThe command line may also consist of the word HELP or a question mark (?);(RMSBCK will respond with a HELP message. 2 Switches/ID-RMSRST will print its current version number./QU (D)/NOQUHEnables Query mode. Messages are printed after an error and then RMSRSTcan be continued or terminated./SL[:filespec]FProduce a summary list of the processing. If /SL is used, the listingis produced on# the terminal./FRERMSRST changes the restored file's protection codes so that the owner+of the files is the account running RMSRST./RA /NORA (D)4Read restore file after writing to check for errors./RC /NORC (D)ICheck the restored file against the input file after writing the outfile./SU /NOSU (D)ASupersede any files in the output account with the same file-name'and file type as a file being restored. /BD:dd-mmm-yyCRestore disk files based on backup date, only those file$s backed upon the specified date./OA:[ggg,mmm] (D=[*,*])DSelect files based on the account from which the original files were backed up./SE:filespec (D=*.*;*)/SE:(filespec,...)HOnly the specified file(s) are selected from the magnetic tape containerfiles for restoration.ww`µ̊1 RSXCInformation on RSX-11M commands and utilities is available with theDRSXHELP command. To use, define the following symbol (in your LOGINfile if used frequently):* RSXHELP :== HEL %P/LIBRARY=SYS$HELP:RSXHELPDThen do RSXHELP topic [subtopic ...] to get help with RSX-11M items.CThe RSXHELP library is also defined as a user library by one of theCsystem-wide logical names HLP$LIBRARY_n and can be access by doing: HELP @RSXHELPASome of the RSX utilities (such as PIP, LBR, MAC, TKB, etc.) haveDhelp in the system help file accessed by HELP. The HELP and RSXHELP>commands without any topic will list all the major help items.=Help on MCR indirect command files is avai&lable with RSXHELP.ww 4qr 1 RSXHELP@ This command is similar to the VMS HELP command except that theA RSXHELP Help library is used. This library contains information= on various RSX commands and RSX-only utilities (which do not> run on the VAX under compatibility mode). In particular, the command: RSXHELP CLIB name? will provide information on the Console Application subroutine "name".ww ̊1 SCHSETG Perform a series of SEARCH'es on seve'ral files, searching for the same text in each file.* @FERMI$EXE:SCHSET [file-spec(s)] [text]H A file spec or list of file specs (including wild cards if desired) areD entered on the command line. If they are not entered, they will beG prompted for by "Files:". If the text parameter is not given, it will be prompted for by "Text:".ww`'qr 1 SETADM36 A defined command to set the terminal type to ADM-3A: SETADM3@ Sets the terminal type (for the session) to( be Foreign Terminal: type 3 (FT3) which is defined as an ADM-3A in the Foreign! Terminal Screen Package (SCRFT).wwqr 1 SETLA120E A defined command to set the terminal type to LA120 (DECwriter III): SETLA120ww rr 1 SETNAME; A defined command to change the current process's name is: SETNAME new_process_nameD which may be abbreviated to SETN. If the new process name containsC lowercase or non-alphanumeric characters, it should be encl)osed in! quotation marks ("New_Process").ww;qr1 SETxxF A pair of commands switch VT100's between 80 and 132-column modes and1 change the terminal line width at the same time:& SET80 !Set VT100 to 80-column width( SET132 !Set VT100 to 132-column widthww`1Ao 1 SWINDOW@ Set VT100 scrolling window to preserve existing text on screen.) Invoke via (or use to define a command): @FERMI$EXE:SWINDOW [leave]C where the "leave" parameter defin*es the number of lines to be leftA on the non-scrolling portion of the screen. If the parameter isB not specified, 20 lines will be left (using a scrolling region of@ 4 lines). To reset to the normal state of scrolling the entire screen, use "@SWINDOW 0".wwjSp1 TIMEF The function of this command is to perform time calculation services. Format:7 TIME [ time-spec [ (operator) time-spec] ... ]E By default if no operands are specified the command will disp+lay the1 current system time and the user's connect time.H If only one operand is supplied, then instead of calculating the user'sJ connect time the operand (which must be in absolute time format) will be F subtracted from the current system time and that resulting delta time. displayed along with the current system time.: [] indicates optional. () are required for the operator.2 '...' only valid for (+),(-),(*), & (/) operators The TIME symbol is defined by: TIME :== $FERMI$EXE,:TIME 2 Time-spec< The times values which may be specified are absolute time, 7 delta time, keyword for an absolute time or a positive integer value.3 Absolute_time Formats: dd-mmm-yyyy[:][hh:mm:ss.ss]; 1. If you specify both the date (dd-mmm-yyyy) and the time> (hh:mm:ss.ss), you may type the colon between the date and6 the time or seperate them with a tab or a blank. < The lexical function 'F$TIME()' may be used to generate ? the current time value (-this returns the value with a blank( between the date and time fields). @ On output there will always be a colon between the date and  the time of day fields.< 2. If only the date is specified the system will supply the3 current time of day for the missing time field.> 3. If you specify a time of day you can truncate the time on = the right. The truncated fields will be zero filled (See/ point 4 if you wish to supply punctuation).B 4. If you omit any of the f.ields but supply the punctuation marks= the system will supply the current system time values as ; defaults (do not confuse this with truncation where the0 punctuation marks are also omited; point 3). 3 Delta_time Format dd[-]hh[:mm:ss.ss]E When you specify a delta time value, you can truncate the time fieldD on the right; you may also omit any of the variable fields, as long% as you supply the punctuation marks.> When any field is omitted from a delta time value, /the system% supplies a value of 0 for the field. 3 IntegerA An positive integer value may also be specified. The value must be within the range:  0 - 2147483647 3 KeywordsC The following keywords represent certain absolute dates (the times are always 00:00:00.00):# YESTERDAY yesterday's start.* TODAY start of the current day.# TOMORROW start of tomorrow.0 THISMONTH First day of the current month.- NEXTMONTH First day of the next0 month.1 LASTMONTH First day of the previous month./ THISYEAR January 1 of the current year.= THISWEEK Monday of the current week (possibly today).: NEXTWEEK Next Monday (first day of the next week).: LASTWEEK Monday of the previous (full 7-day) week. 2 OperatorC The operators available are addition, subtraction, multiplication, division, and comparison." The syntax for the operators are: (+) Addition (-) Subtraction (*)1 Multiplication (/) Division (=) Compare for equal to$ (<>) Compare for not equal to! (<) Compare for less than- (<=) Compare for less than or equal to$ (>) Compare for greater than0 (>=) Compare for greater than or equal to (?) General comparisonC The operator MUST be enclosed in parenthesis's. This is to avoid ? syntax confusion with the '-' used in the time specifications.> Note: If any of the results yealds a negative 2time value the7 absolute value of the calculation is displayed.3 Addition (+)? This operator will add the two operands and return the result.= Valid combinations and the type of result returned are shown below:? TIME absolute_time (+) delta_time --> absolute_time? TIME delta_time (+) absolute_time --> absolute_time< TIME delta_time (+) delta_time --> delta_time9 TIME integer (+) integer --> integer3 Subtraction (- 3)< This operator will subtract the two operands and return the< result. Valid combinations and the type of result returned are shown below:< TIME absolute_time (-) absolute_time --> delta_time? TIME absolute_time (-) delta_time --> absolute_time< TIME delta_time (-) delta_time --> delta_time9 TIME integer (-) integer --> integer9 Note: If any of the results yealds a negative value the6 absolute value of the calculation is4 returned.3 Multiplication (*)< This operator will multiply the two operands and return the; result. Valid combinations and the type of result returnd are shown below:< TIME delta_time (*) integer --> delta_time< TIME integer (*) delta_time --> delta_time9 TIME integer (*) integer --> integer3 Division (/): This operator will divide the two operands and return the< result. Valid combinations and the type of result returned5 are shown below:9 TIME delta_time (/) delta_time --> integer< TIME delta_time (/) integer --> delta_time9 TIME integer (/) integer --> integer3 Comparison (?); This operator will compare the two operands and return the results of the comparison.6 TIME absolute_time (?) absolute_time( GREATER_THAN& EQUAL_TO' LESS_THAN0 6 TIME delta_time (?) delta_time% GREATER_THAN# EQUAL_TO$ LESS_THAN3 EQ (=): This operator wil compare the two operands and return YES* if they are equal and NO if they are not.. TIME absolute_time (=) absolute_time/ TIME absolute_time (EQ) absolute_time+ TIME delta_time (=) delta_time, TIME delta_time (EQ) delta_time 3 NE (<>); This operator wil7l compare the two operands and return YES0 if they are not equal and NO if they are equal./ TIME absolute_time (<>) absolute_time/ TIME absolute_time (NE) absolute_time, TIME delta_time (<>) delta_time, TIME delta_time (NE) delta_time3 LT (<); This operator will compare the two operands and return YES6 if the first operand is less than the second operand, otherwise it will return NO.. TIME absolute_time (<) absolute_time/ 8 TIME absolute_time (LT) absolute_time+ TIME delta_time (<) delta_time, TIME delta_time (LT) delta_time 3 LE (<=); This operator will compare the two operands and return YES: if the first operand is less than or equal to the second & operand, otherwise it will return NO./ TIME absolute_time (<=) absolute_time/ TIME absolute_time (LE) absolute_time, TIME delta_time (<=) delta_time, TIME delta_time (LE) delta_9time3 GT (>); This operator will compare the two operands and return YES9 if the first operand is greater than the second operand, otherwise it will return NO.. TIME absolute_time (>) absolute_time/ TIME absolute_time (GT) absolute_time+ TIME delta_time (>) delta_time, TIME delta_time (GT) delta_time 3 GE (>=); This operator will compare the two operands and return YES< if the first operand is greater than or equal to the second& o:perand, otherwise it will return NO./ TIME absolute_time (>=) absolute_time/ TIME absolute_time (GE) absolute_time, TIME delta_time (>=) delta_time, TIME delta_time (GE) delta_time 2 Qualifiers/DEBUGA This option will show the intermediate results of a sequence of ? operations. It also disables some internal error checking so  the output may not be correct./SYMBOL=symbol_nameF This option will cause the results of the calculation; to be stored inF the specified symbol instead of being displayed to the output device.wwqmAo1 TKB I The Task Builder (TKB) is an RSX-11M utility program which builds a taskJ image file from one or more object files. The task image may be a sharedG region or a task; the region does not have a header. The command line syntax is: B $ MCR TKB file.TSK[/sw],file.MAP[/sw],file.STB=file.OBJ[/sw],... or $ MCR TKB8 TKB>file.TSK[/sw],file@Q܂ NAGY FTB`܂ NAGY TKB) NAGY Macros mȬ NAGY FTPRINT&`X NAGY Include_files= 享1 MacrosH Some locally-defined system-wide macros are stored in the macro libraryE FERMILIB.MLB in SYS$LIBRARY:. This library can be referenced by theB9 use of the /LIBRARY qualifier on the MACRO command line:a, $ MACRO ...,SYS$LIBRARY:FERMILIB/LIBRARY...D or by expliciting including a .LIBRARY directive in the MACRO code:% .LIBRARY "SYS$LIBRARY:FERMILIB.MLB"t2 CASE: CASE src, {,TYPE=W} {,LIMIT=#0} {,NMODE=S^#}F Generates a CASEx instruction (x >is given by TYPE) and the case table dispatch list.hB src source argument on which the CASE will dispatch to the correct labelsC disp-list list of labels to which control will transferred by then@ CASE instruction for sequential values of the source2 TYPE data type of the CASE, default is WORDD LIMIT lower limit of CASE range (if source < limit, CASE falls% through). Default is #0.C? NMODE Mode for maximum argument of CASE ?(default is S^#).b2 ERROR_BUGCHK= The macro name is ERROR.BUGCHK, format of the macro call is: - ERROR.BUGCHK {bugchk,success} {,type=STOP}iG Tests for success following a system or user routine call that returns F a condition code in R0. If an error occurred, LIB$STOP or LIB$SIGNAL8 are called to signal a "bugcheck" and stop the process.E bugchk label for bugcheck routine call. If a label is given for E this parameter, either it must be a local label or labelseE@ must be given for both the bugchk and success parameters!T< success success label (default to internal local label).H type either STOP (default) for LIB$STOP or SIGNAL for LIB$SIGNAL. 2 ERROR_CONT; The macro name is ERROR.CONT, format of the macro call is: ERROR.CONT success {,error} G Tests for success following a system or user routine call that returns@ a condition code in R0 (the low bit of R0 is 1 for success and  information completion codes).e3A success success label to continue processing ateD error if specified, this becomes the label at the start of the; error processing code following the macro call./ 2 ERROR_EXIT; The macro name is ERROR.EXIT, format of the macro call is:l, ERROR.EXIT {error} {,success} {,exit=RET}? Tests for success following a system or user routine call thatKC returns a condition code in R0. If an error label is specified, adF branch to it (byte-displacment) will be taken if th Be low bit of R0 isF zero. If the error parameter is not given, then a skip over an errorF exit will be made if the low bit of R0 is one (success/informational)E where the error exit instruction (either RET or RSB) is given by thet! exit parameter (default is RET). C error if specified, a BLBC (branch-on-low-bit-clear) on R0 is; generated with this as the destination address.i< success success label (default to internal local label).D exit if error not specifiedC, then this provides the means for= exiting the routine on an error. Default is RET.2 POPREG POPREG regnumI POPREG pops a longword off the top of the stack into a general register.I For registers R6-R14, the instruction "MOVL (SP)+,Rn" is used to pop thecC value. For registers R0-R5, the shorter (by one byte) sequence of "POPR #^M" is used.A regnum register number to which the longword on top of stack is to be restoredo 2 $_RAD50LF The mDacro name is $.RAD50L (analogous to an assembler directive), the format of the macro call is:u $.RAD50L textC Generate a longword (.LONG) containing the Radix-50 value of a 1-6D character text string.B: text 1-6 character string to be stored as Radix-50. 2 $_RAD50SF The macro name is $.RAD50S (analogous to an assembler directive), the format of the macro call is:h $.RAD50S sym,text> Define a symbol to have the Radix-50 value of a 1-6 character text string.T5E sym symbol to be defined with Radix-50 value.: text 1-6 character string to be stored as Radix-50. 2 $_RAD50WF The macro name is $.RAD50W (analogous to an assembler directive), the format of the macro call is:O $.RAD50W textG Generate a .WORD containing the Radix-50 value of a 1-3 character textv string.F text 1-3 character text string to be stored as a Radix-50 value.2 TRANSFER_VECTORa$ TRANSFER_VECTOR entry {,JUMP=BRW}> This macro generates a transfer vector for a shareable image.D entry name of routine entry point (must be defined by .ENTRY).B jump means by which control will be transferred to routine./ Default is BRW, alternative is JMP.uwwcontain definitions for such references. A If modules are specified, TKB includes only these modules in theG task image. Up to eight such module specifications may be specified on the switch. /LI Build a library shared region  TKB> file.TSK/L G/Ǭ 1 FTPRINTA This program reads as input an ASCII text file which may containiE non-printing characters (consider a TECO macro or command file as an-F example). The program reads the input file text and writes an outputB file in which the non-printing characters have been replaced by aF printable character sequence which is a mnemonic for the non-printing2 character (i.e., for the escape character). Command format:2 $ FTPRINT[qualifiers] input-file[,input-file..H.]4 The input file specification(s) may have wildcards.C FTPRINT is a DCL command which is added to a process's DCL commandl tables by:e $ SET COMMAND FERMI$EXE:FTPRINT 2 Qualifiers /FORMFEEDB/NOFORMFEED (D)hC Normally the form feed character (ASCII 12, FF) is replaced by theF text "". The /FORMFEED qualifier causes the form feeds which areC the first and only character in a line (or record) to be passed toBA to the output file unchanged and cause a page break). All other I* form feeds are still converted to ""./HEADER( /NOHEADER (D)hG Controls whether the file specification, date and time and page number @ appear at the top of each page of output (much like the /HEADERH qualifier of the PRINT command). By default, no headers are generated./NUMBERS/NONUMBERS (D)E The /NUMBERS qualifier directs FTPRINT to print a line number to theG left of the text of each line of the file. The line numbers are resetjD at the beginning of each input file. The defau Jlt is /NONUMBERS, no lines numbers are generated.e/OUTPUT=list-filemE Normally FTPRINT will generate a listing file for each input file byrF using the input file name with the file type of .LIS. If the /OUTPUTE qualifier is given, then the listings for the individual input filesMH will be concatenated into a single output file whose file specificationI is given by list-file. The default file type for the list-file is .LIS.a/TAB (D)/NOTABK Normally the horizontal tabs (ASCII code 9, HT) are left as tab charactersJI in the output file. If the /NOTAB qualifier is used, then all tabs will@ be replaced by the character string "" in the output file.wwd' "u Undefined symbols segment-name"  The default is /-NM./PI Relocatable task or region  TKB> file.TSK/PI=file.OBJ or$ TKB> file.TSK,,file.STB/PI=file.OBJ < The /PI switch specifies that the shared region being built: contains only position-independant code or data. Use /PI. with the /-HD L`oS1 Include_filesD Sources for use with FORTRAN INCLUDE statements and PASCAL %INCLUDEC and VAX-11 C #INCLUDE statements are stored in SYS$LIBRARY: in theE form of separate files and modules in text libraries. The files aretD identified as FORTRAN, PASCAL or C source by their file types (.FORG or .PAS and either .C or .H for VAX-11 C). The text libraries includeaG the string FOR, PAS or C in their names to identify them as containingP: FORTRAN, PASCAL or C INCLUDE modules M(i.e., LCLFORDEF and. FORSYSDEF, LCLPASDEF or LCLCDEF and CSYSDEF).2 Ca> The C versions of the few files all have the file type of .H.F Most C INCLUDE source is contained in the two separate text librariesF CSYSDEF.TLB and LCLCDEF.TLB. Modules in CSYSDEF can be accessed with with statements of the form #INCLUDE module_nameF If the logical name C$LIBRARY is defined as "SYS$LIBRARY:LCLCDEF.TLB"C or if "+SYS$LIBRARY:LCLCDEF/LIBRARY" is included in the CC command A line then the above s Ntatement will also extract modules from theS LCLCDEF library.TB The sources for many of the INCLUDE source modules in the LCLCDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as& separate files with file types of .H. 2 FORTRANF The FORTRAN versions of the few files all have the file type of .FOR.H Most FORTRAN INCLUDE source is contained in two separate text libraries= and is used with statements of the form (with FORTRAN V3.0): 1 INCLUDE 'SYS$LIBRARY:library_name( Omodule_name)'eD The sources for many of the INCLUDE source modules in the LCLFORDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as( separate files with file types of .FOR. 2 FOR_FilesTG The following are the FORTRAN INCLUDE files available in SYS$LIBRARY:.oH All these files have file types of .FOR. Several of the INCLUDE sourceI modules in the FORTRAN INCLUDE text libraries can also be found as filesa& in SYS$SYSDEVICE:[FERMILIB.INCLUDES].3 DABk? The file DAB.INC co Pntains the VAX-11 Datatrieve Call InterfaceB. definitions of constants and data structures.3 FDVDEFG Defines the FMS-11 Form Driver completion codes (FDV$_... symbols) andi< the Form Driver field terminator codes (FDV$K_... symbols).> Also available in SYS$LIBRARY:LCLFORDEF.TLB as module FDVDEF.3 FORDEFC Defines the FORTRAN completion status codes (32-bit longwords) for' FORTRAN I/O errors (FOR$_... symbols).i? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORDEF.t 3 FORIOSDEQFSD Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as the FOR$IOS_... symbols.iB Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORIOSDEF.3 LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returnedn from LIB$ routines.? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $LIBDEF.y3 MTHDEFB Definitions of the MTH$_... error status code symbols signaled by the MTH$ routines.? Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $MTRHDEF.t 3 NODEDEFS& Defines the ACNET logical node names.@ Also available in SYS$LIBRARY:LCLFORDEF.TLB as module NODEDEFS.3 SSDEFD Defines the SS$_... symbols for the system status codes returned by the VMS system services.i3 Also available in SYS$LIBRARY:FORSYSDEF.TLB and inc, SYS$LIBRARY:LCLFORDEF.TLB as module $SSDEF.3 XFDEFeB Defines I/O function codes and option bits for use with the DR780) microprogrammed high speed data channel.h> Also available in SYS$LIBRARY:FORSYSDEF.TLB S as module $XFDEF.2 PASCAL= The PASCAL versions of the files have the file type of .PAS.i; Most PASCAL %INCLUDE source is contained in a text librarye8 and is currently unuseable (directly) with PASCAL V1.3.< The sources for the INCLUDE source modules in the LCLPASDEFB text library can be found in SYS$SYSDEVICE:[FERMILIB.INCLUDES] as( separate files with file types of .PAS.E All the PASCAL %INCLUDE files are counterparts of either a .FOR fileF or a module in one of the FORTRAN text libr Taries. Most of the PASCALB %INCLUDE sources define constants and are to be included into theF CONST section. In particular any file or module named ...DEF defines constants.cA Those %INCLUDE sources which define record types and belong in acH TYPE section are identified as such in the text and in this help topic. 2 PAS_FilesnG The following are the PASCAL %INCLUDE files available in SYS$LIBRARY:.AE All these files have file types of .PAS. All of the %INCLUDE sourcerA modules in the LCLPUASDEF text library can also be found as files & in SYS$SYSDEVICE:[FERMILIB.INCLUDES].3 LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returned  from LIB$ routines.3 MTHDEFB Definitions of the MTH$_... error status code symbols signaled by the MTH$ routines. 3 NODEDEFS& Defines the ACNET logical node names.3 PASDEFG Defines constants for the PASCAL Run-Time and I/O error message status  codes. 3 SIGDEFD Defines some SS$_... symbols for use in condition handl Vers (see the4 $SSDEF module in this library or in FORSYSDEF.TLB).3 SSDEFFD Defines the SS$_... symbols for the system status codes returned by the VMS system services.v 2 FORSYSDEFaF The FORSYSDEF.TLB text library of FORTRAN INCLUDE source was includedI as part of the FORTRAN V3.0 distribution from DEC. As such this libraryID will be maintained by DEC Software Services. The modules currently in this library are:e 3 $ACCDEFnB Defines the VMS accounting records as byte arrays with the WfieldsA equivalenced to the appropriate bytes. Also defines symbols for ! for the accounting record types.t3 $CRDEF: Card reader device-dependent characteristics definitions. Defines CR$_CRDEF_BITS(1) byte.3 $DCDEF@ Definitions of symbols for VMS device classes and device types. 3 $DEVDEFaF Definitions bits in the device characteristics longword (as masks and7 offsets). Defines the DEV$_DEVDEF_BITS(4) byte array. 3 $DMTDEF ; Definitions of option bits for the $DISMOU system service.:X& Defines the DMT$_DMTDEF_BITS(1) byte. 3 $FORDEFoC Defines the FORTRAN completion status codes (32-bit longwords) fora' FORTRAN I/O errors (FOR$_... symbols).t* Also available in SYS$LIBRARY:FORDEF.FOR. 3 $FORIOSDEFD Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as the FOR$IOS_... symbols.- Also available in SYS$LIBRARY:FORIOSDEF.FOR.i3 $IODEFC Defines the VMS I/O function codes and I/O function modifier bits.a( Defines IO$_IODEF_BITSx(2) byte arrays. 3 $JPIDEF YA Defines the item codes (JPI$_... symbols) for the $GETJPI system service.e3 $LADEF; Defines the LPA-11K options bit and microcode type values. , Defines the LA$_LADEF_BITSx(4) byte arrays. 3 $LCKDEF G Defines the flag bits and lock mode codes for the system LOCK servicest $ENQ and $DEQ.t( Defines the LCK$_LCKDEF_BITSx(1) bytes. 3 $LIBCLIDEFA Definitions for the LIB$ routines that use CLI callback servicesr< to enable/disable Ctrl-Y and Ctrl-T and define DCL symbols. 3 $LIBDCFDEF. D Zefinitions for the LIB$DECODE_FAULT routine.' Defines the byte LIB$B_DCF_OPERAND(1).t 3 $LIBDEFG Defines symbols for the error status codes (LIB$_... symbols) returneda from LIB$ routines.* Also available as SYS$LIBRARY:LIBDEF.FOR.3 $LPDEF= Defines bits and fields of the line printer device-dependent< characteristics. Defines the LP$_LPDEF_BITS(4) byte array. 3 $MNTDEF@ Definitions of option bits and item codes for the $MOUNT system6 service. Defines the MNT$_MNTDEF_BITS(3) byte ar[ray. 3 $MSGDEFA Definitions of system message type codes (MSG$_... symbols) usedr( with certain types of mailbox messages.3 $MTDEF@ Magnetic tape device-dependent characteristics bits and fields.. Also useful with magnetic tape I/O functions.* Defines the MT$_MTDEF_BITS(3) byte array. 3 $MTHDEFrB Definitions of the MTH$_... error status code symbols signaled by the MTH$ routines.t* Also available as SYS$LIBRARY:MTHDEF.FOR. 3 $OPCDEFt? Defines the format of the buffer to pass to the $ \SNDOPR systeme= service. Also defines symbols for the operator request typea codes and option bits.i 3 $PQLDEF > Defines the quota and limit type codes for the $CREPRC system service (PQL$_... symbols). 3 $PRVDEFA Defines the bit offsets for the privilege mask longwords used int1 the $CREPRC system service (PRV$V_priv symbols).l- Defines the byte array PRV$_PRVDEF_BITS0(4).a 3 $PSLDEFTD Defines the fields of the Processor Status Longword and symbols forA the processor modes (PSL$C_mode] for KERNEL,EXEC,SUPER,and USER)., Defines the byte array PSL$_PSLDEF_BITS(4). 3 $RMSDEFmB Defines the RMS$_... symbols for the status codes returned by the VAX-11 RMS services.P 3 $SECDEF? Defines the section option bits for the $CRMPSC system servicen> (the SEC$M_... symbols). Defines the SECDEF$R_STRUCTURE1(23)- and SECDEF$R_STRUCTURE2(32) byte arrays (?).B3 $SSDEFD Defines the SS$_... symbols for the system status codes returned by the VMS system services.i 3 $STSDEFiA Defines t ^he fields of the VMS 32-bit status codes (aka conditioni@ codes) and the values of the severity levels. Defines the byte arrays STS$_STSDEF_BITSx(4).l3 $TTDEF? Defines the fields and constant values of the terminal device-l? dependent characteristics. Also used for special terminal I/OyC operations with $QIO. Defines the TT$_TTDEF_BITSx(4) byte arrays.h3 $XFDEFB Defines I/O function codes and option bits for use with the DR780> microprogrammed high speed data channel. Defines byte arra _ysB XFDEF$R_UNION1(1), XFDEF$R_STRUCTURE1(32), XFDEF$R_STRUCTURE2(33)) Also available as SYS$LIBRARY:XFDEF.FOR.e3 $XMDEF? Defines I/O function codes and option bits for use with DMC-11 3 and DMR-11 network links. Defines the byte arraysr XM$_XMDEF_BITSx(3). 2 LCLCDEFiD The text library SYS$LIBRARY:LCLCDEF.TLB contains VAX-11 C #INCLUDEG modules created locally at Fermilab. Among these #INCLUDE sources areoD additional system INCLUDE sources created from definition macros in@ the syste `m and executive macro libraries in the same way as theD FORTRAN INCLUDE sources in LCLFORDEF were made. Those modules madeH from these macros have names beginning with "$" and are the same as the3 names of the defintion macros (for the most part).uE Unless stated otherwise, all of the VAX-11 C #INCLUDE sources defineA constants. In particular, any file or text library module namedsB xxxDEF will always define constants. Those #INCLUDE sources whichH define structures identified as such in tahe text and in its help topic.5 The modules currently contained in this library are:s 3 $BRDCSTDEF1 Module ($BRDCSTDEF) of SYS$LIBRARY:LCLCDEF.TLB.t< Defines mask bits for flags of the $BRDCST system service. 3 $CLIMSGDEF. Module ($CLIMSGDEF) SYS$LIBRARY:LCLCDEF.TLB.C Defines the CLI$ status codes values returned by the Command Linet Interpreter (DCL or MCR).e 3 $CLISERVDEFr2 Module ($CLISERVDEF) of SYS$LIBRARY:LCLCDEF.TLB.= Defines request codes for CLI call-back operationsb for DCL. 3 $CREDEFe. Module ($CREDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines offsets into and constants for the create-optionsn/ array used by the LBR$OPEN LIBRARIAN routine.a 3 DESCRIP2B Module (DESCRIP2) of SYS$LIBRARY:LCLCDEF.TLB and file DESCRIP2.H.D This module defines some additions to the standard VAX-11 C include3 module (DESCRIP) found in SYS$LIBRARY:CSYSDEF.TLB.(" The following macros are defined:D $DESCRIPTOR0(name) empty string descriptor (length and7 c pointer fields are 0).wB $DESCRIPTOR1(name,string) string descriptor for 1 character6 or a whole structure.@ $DESCRIPTORM(name,string) string descriptor for structureF member or non-NUL terminated strings.2 $DESCRIPTORA(name,array,type) array descriptor.< $LENGTH(descriptor) length field of descriptor.= $POINTER(descriptor) pointer field of descriptor.T 3 $DEVDEdF . Module ($DEVDEF) of SYS$LIBRARY:LCLCDEF.TLB.G Defines bit masks and offsets of the device characteristics longword.s 3 $DIBDEFi. Module ($DIBDEF) of SYS$LIBRARY:LCLCDEF.TLB.> Defines offsets (as contants) and field sizes for the deviceC characteristics buffer returned by the $GETDEV and $GETCHN system services.m 3 $DVIDEFn. Module ($DVIDEF) of SYS$LIBRARY:LCLCDEF.TLB.E Defines names for device information item constants for the $GETDVI system service. 3 $HLPDEFt. eModule ($HLPDEF) of SYS$LIBRARY:LCLCDEF.TLB.6 Defines symbolic masks for the flags argument of the$ LIBRARIAN LBR$OUTPUT_HELP routine.3 $IODEF- Module ($IODEF) of SYS$LIBRARY:LCLCDEF.TLB.f; Defines symbols for the I/O function codes and modifiers. 3 $JBCMSGDEF1 Module ($JBCMSGDEF) of SYS$LIBRARY:LCLCDEF.TLB.mD Defines symbolic names for Job Controller status codes (JBC$_...). 3 $LBRDEFi- Module ($LBRDEF) of SYS$LIBRARY:LCLCDEF.TLBt4 Defines symbolic names for constants used fwith the LIBRARIAN utility routines. 3 $LCKDEFe. Module ($LCKDEF) of SYS$LIBRARY:LCLCDEF.TLB.: Defines lock mode request codes and the bits of the lock8 characteristics for the $ENQ and $DEQ system services. 3 MSGTYPDEF 0 Module (MSGTYPDEF) of SYS$LIBRARY:LCLCDEF.TLB.D MSGTYPDEF defines the ACNET message type code symbols for FORTRAN. rA HDR_K_LENGTH gives the length of the message header in bytesb3 MSG_K_REPLY gives the Reply message type codee% MSG_K_RPY sameg as MSG_K_REPLYl5 MSG_K_REQUEST gives the Request message type code' MSG_K_REQ same as MSG_K_REQUESTeA MSG_K_UNSOLIC gives the Unsolicited Special Message type codet' MSG_K_USM same as MSG_K_UNSOLICh y3 $MTDEF- Module ($MTDEF) of SYS$LIBRARY:LCLCDEF.TLB. 0 Defines magtape device status bits and fields. 3 $NETAGS_DEFt2 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLCDEF.TLB.C $NETAGS_DEF defines symbolic names for ACNET Global Status valuesd returned by the ACNET nehtwork. 3 $NET_DEF/ Module ($NET_DEF) of SYS$LIBRARY:LCLCDEF.TLB.s? $NET_DEF defines symbolic names for the VAX/VMS ACNET networkp! condition codes (signal names).t 3 NODEDEFS/ Module (NODEDEFS) of SYS$LIBRARY:LCLCDEF.TLB.s0 Files NODEDEFS.H in SYS$LIBRARY: and RSX$LIB:.> NODEDEFS defines symbolic names for the ACNET logical nodes. f? Nodes should always be specified symbolically though for easei= of verifying conversions (ODT) some node definitions may beo? computed based on ithe MAC number used on the XEROX systems byo' adding the following decimal offsets:o h# Booster: add 30 to old MAC numberw8 MR/SY: add 30 to old MAC number (includes Beam Lines)( SCRUB System: add 50 to old MAC number w 3 $OPCMSGi. Module ($OPCMSG) of SYS$LIBRARY:LCLCDEF.TLB.8 Defines symbols for the OPCOM status codes (OPC$_...). 3 $PRCDEF.. Module ($PRCDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines masks and offsets for the bits of the status flagh) argument of the $CREPRC syjstem service.:3 $PRDEF- Module ($PRDEF) of SYS$LIBRARY:LCLCDEF.TLB.e> Defines symbols for the processor register codes and fields. 3 REQRPYFLGd0 Module (REQRPYFLG) of SYS$LIBRARY:LCLCDEF.TLB.C REQRPYFLG defines the symbolic names for FORTRAN of the bit masksaE for the Request and Reply option flags used in the NET_SEND_REQUESTY. and NET_SEND_REPLY network service routines.  The options are: t 2 ENDMULT; Mask for the end-multiple-reply bit in the reply options.l? Used t ko terminate a multiple-reply request from the replier's  end. Also known as EMR. i 2 FCPASTaB Mask for the enable first-packet-AST bit in the request options.B Used to enable delivery of a reply AST whenever the first packet= (in the chronological sense) has been moved into the user's  reply buffer.  y 2 LOCKEDe> Mask for the buffer-remains-locked bit in the reply options.8 Used to override the receive buffer unlock done in the= NET_SEND_REPLY. Also known as BRL (buffer-remlains-locked).m c 2 MULTRPY9 Mask for the multiple reply bit in the request options. A Used to indicate a request to which more than one reply messagen( is to be returned. Also known as MLT. x 2 NOBSYWT7 Mask for the no-busy-wait bit in the request options.e: Used to fail a request (return status-only reply) if the< destination task is busy with another message. Also known as NBW.a o 3 $RSC_DEF/ Module ($RSC_DEF) of SYS$LIBRARY:LCLCDEF.TLB.rE $RSC_DEF defines symbolic mnames for the reply status codes returnednC in the reply message header and the reply status byte of the Userm Ast Block. 3 $SHRDEFA SYS$LIBRARY:LCLCDEF($SHRDEF) defines symbols for shared message codes. hE These message codes should not be used directly by a facility sinceE they do not contain a subsystem (facility) identifier or a severity ? code. Use the following formula to calculate actual facilityi message codes: l2 facility-message-code common-message-code +n2 facility-id * 65536 +* severity-codeB This is implemented by the $SHR_MSGDEF macro which is called by:= $SHR_MSGDEF(facility_code, message_code, severity_code): where the message_code is one of those given by SHR$_... 3 $SMRDEF. Module ($SMRDEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines the symbiont manager request and option codes form8 the $SNDSMB (send-to-symbiont manager) system service. 3 $STATEDEF0 Module ($SoTATEDEF) of SYS$LIBRARY:LCLCDEF.TLB.4 Defines symbols for the process scheduling states. 3 $SYIDEFy. Module ($SYIDEF) of SYS$LIBRARY:LCLCDEF.TLB.8 Defines the item codes for the $GETSYI system service. 3 $UAB_DEFK SYS$LIBRARY:LCLCDEF($UAB_DEF) defines symbols for network User AST Block.h 3 UABFLGDEFo0 Module (UABFLGDEF) of SYS$LIBRARY:LCLCDEF.TLB.C UABFLGDEF defines the symbolic names (for FORTRAN) of the bit andpC field masks, bit offsets, and field sizes of the UAB_B_FLAGS byt pe:8 and the request_flags and reply_flags arguments of the: NET_CHECK_xxx and NET_WAIT_xxx network service routines. hE The UAB_V_name symbols give the bit offsets (bit number relative toIB bit 0 of UAB_B_FLAGS) of the bit or field named. The UAB_M_nameG symbols give the masks for the bits or fields (used in bit-wise .AND.tC operations) for the named bits or fields. The UAB_S_name symbolshA give the sizes, in bits, of the named fields. The UAB_K_LENGTHT; symbol gives the length, i qn bytes, of the user AST block.d a 2 FieldsoD MSGTYPE is the message type code field. Only used with requests. n 2 Bitsa@ 1STPKT bit indicates that this reply AST is the first packet= AST (declared after the first chronological packetn= of the message has been stored in the user's replyn0 buffer). Only used with reply AST's.> CANCEL bit indicates that the outstanding request has been= cancelled and no more replies should be generated.tr Only used with requests. % MULTRPY is the multiple reply bit. @ TOOLONG bit indicates that the message ws truncated to fit in the specified buffer. " 3 VAXTYPESC Module (VAXTYPES) of SYS$LIBRARY:LCLCDEF.TLB and file VAXTYPES.H.tC This module defines some data types, constants and macros for usei with VAX-11 C under VAX/VMS. 4 Constantsf- Defined constants for general VAX-11C usage:e' TRUE conditional true value (1)l( FALSE conditional false values (0)0 EOF End-of-file flag (for standard I/O)( NULL Undefined pointer value (0)F MAX_... Maximum value for types: int,ulong,short,uword,char,ubyte4 MIN_... Minimum value for types: int,short,char4 Types 7 Additional types (or structures) for use with VAX-11 Ce0 $byte / $ubyte signed / unsigned 8-bit byte1 $word / $uword signed / unsigned 16-bit word15 $long / $ulong signed / unsigned 32-bit longword 5 $quad / $uquad signed / unsigned 64-bit quadwtordr6 $octa / $uocta signed / unsigned 128-bit octaword6 address general address (pointer to byte or char), queue queue header or links structure* vmstime VMS-returned system time type4 Macros/ Macros defined for use with VAX-11 C under VMSnF $VMS_SUCCESS(code) TRUE if the status code has a severity code ofF success or informational (success indication).F $VMS_FAILURE(code) TRUE if the status code has a severity code ofD u warning, error or severe (error indication). 2 LCLFORDEFmD The text library SYS$LIBRARY:LCLFORDEF.TLB contains FORTRAN INCLUDEF modules created locally at Fermilab. Among these INCLUDE sources areD additional system INCLUDE sources created from definition macros in@ the system and executive macro libraries (as additions to thoseC system-wide modules defined in FORSYSDEF.TLB). Those modules madehH from these macros have names beginning with "$" and are the same as the3 names of th ve defintion macros (for the most part).:= Some modules appear in both LCLFORDEF and FORSYSDEF with the F differences (if any) being that the LCLFORDEF module will define dataB structures using offset constants while the FORSYSDEF module will? define the data structure using FORTRAN variable declarations.e5 The modules currently contained in this library are: 3 $ACCDEFo/ Module ($ACCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.w@ Defines symbols for the accounting record type codes and offset- conwstants for the accounting record formats.e 3 $BRDCSTDEF2 Module ($BRDCSTDEF) of SYS$LIBRARY:LCLFORDEF.TLB.; Defines mask bits for flags of the $BRDCST system service.c 3 $CLIMSGDEF/ Module ($CLIMSGDEF) SYS$LIBRARY:LCLFORDEF.TLB.hB Defines the CLI$ status codes values returned by the Command Line Interpreter (DCL or MCR). 3 $CLISERVDEF3 Module ($CLISERVDEF) of SYS$LIBRARY:LCLFORDEF.TLB.y< Defines request codes for CLI call-back operations for DCL. 3 $CREDEFt/ Module ($CREDEF) of SxYS$LIBRARY:LCLFORDEF.TLB. : Defines offsets into and constants for the create-options. array used by the LBR$OPEN LIBRARIAN routine.3 $DCDEF. Module ($DCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.< Defines device class (DC$_) and device type (DT$_) symbols. 3 $DEVDEFe/ Module ($DEVDEF) of SYS$LIBRARY:LCLFORDEF.TLB. F Defines bit masks and offsets of the device characteristics longword. 3 $DIBDEF / Module ($DIBDEF) of SYS$LIBRARY:LCLFORDEF.TLB.t= Defines offsets (as contants) and field sizes fyor the deviceeB characteristics buffer returned by the $GETDEV and $GETCHN system services. 3 $DSCDEFp/ Module ($DSCDEF) of SYS$LIBRARY:LCLFORDEF.TLB. @ Defines symbols for the procedure argument descriptor class andD atomic data types. Also defines symbols (contants) for the offsets of the descriptor fields. 3 $DVIDEF / Module ($DVIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.yD Defines names for device information item constants for the $GETDVI system service. 3 $FABDEFe/ Module ($FABDEFz) of SYS$LIBRARY:LCLFORDEF.TLB.r7 Defines offsets and field locations (bits) for the RMSs: File Access Block (FAB). Offsets are defined as symbolic constants.n 3 $HLPDEFC/ Module ($HLPDEF) of SYS$LIBRARY:LCLFORDEF.TLB.r5 Defines symbolic masks for the flags argument of thep# LIBRARIAN LBR$OUTPUT_HELP routine.U3 $IODEF. Module ($IODEF) of SYS$LIBRARY:LCLFORDEF.TLB.: Defines symbols for the I/O function codes and modifiers. 3 $JBCMSGDEF2 Module ($JBCMSGDEF) of SYS$LIBRARY:LCLFORDEF.{TLB.C Defines symbolic names for Job Controller status codes (JBC$_...).W 3 $JPIDEF 0 Modules ($JPIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.F Defines symbols for the item constants of the $GETJPI system service. 3 $LBRDEFf. Module ($LBRDEF) of SYS$LIBRARY:LCLFORDEF.TLB3 Defines symbolic names for constants used with theo LIBRARIAN utility routines. 3 $LCKDEFB/ Module ($LCKDEF) of SYS$LIBRARY:LCLFORDEF.TLB.9 Defines lock mode request codes and the bits of the locku7 characteristics for the | $ENQ and $DEQ system services.s 3 MSGTYPDEF 1 Module (MSGTYPDEF) of SYS$LIBRARY:LCLFORDEF.TLB. C MSGTYPDEF defines the ACNET message type code symbols for FORTRAN.t@ HDR_K_LENGTH gives the length of the message header in bytes2 MSG_K_REPLY gives the Reply message type code$ MSG_K_RPY same as MSG_K_REPLY4 MSG_K_REQUEST gives the Request message type code& MSG_K_REQ same as MSG_K_REQUEST@ MSG_K_UNSOLIC gives the Unsolicited Special Message type code& MSG_K_USM } same as MSG_K_UNSOLIC3 $MTDEF. Module ($MTDEF) of SYS$LIBRARY:LCLFORDEF.TLB./ Defines magtape device status bits and fields.e 3 $NAMDEFr/ Module ($NAMDEF) of SYS$LIBRARY:LCLFORDEF.TLB.r? Defines offsets and codes for the VAX-11 RMS Name Block (NAM).f 3 $NETAGS_DEFs3 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.aB $NETAGS_DEF defines symbolic names for ACNET Global Status values returned by the ACNET network.f 3 $NET_DEF0 Module ($NET_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.> $ ~NET_DEF defines symbolic names for the VAX/VMS ACNET network condition codes (signal names). 3 NODEDEFS0 Module (NODEDEFS) of SYS$LIBRARY:LCLFORDEF.TLB.1 Files NODEDEFS.FOR in SYS$LIBRARY: and RSX$LIB:.i= NODEDEFS defines symbolic names for the ACNET logical nodes.r> Nodes should always be specified symbolically though for ease< of verifying conversions (ODT) some node definitions may be> computed based on the MAC number used on the XEROX systems by& adding the following decimal offsets:" Booster: add 30 to old MAC number7 MR/SY: add 30 to old MAC number (includes Beam Lines)' SCRUB System: add 50 to old MAC number- 3 $OPCDEFi/ Module ($OPCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.TB Defines symbols for the send-to-operator ($SNDOPR) system service: including offsets into the message buffer (as constants). 3 $OPCMSGs/ Module ($OPCMSG) of SYS$LIBRARY:LCLFORDEF.TLB.e7 Defines symbols for the OPCOM status codes (OPC$_...).u 3 $PQLDEF / Module ($PQLDEF) of SYS$LIBRARY:LCLFORDEF.TLB.g@ Defines symbols for the quota codes for $CREPRC system service. 3 $PRCDEF/ Module ($PRCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.r: Defines masks and offsets for the bits of the status flag( argument of the $CREPRC system service.3 $PRDEF. Module ($PRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines symbols for the processor register codes and fields.h 3 $PRVDEFu/ Module ($PRVDEF) of SYS$LIBRARY:LCLFORDEF.TLB.i7 Defines symbols for the offsets of the privilege bits. 3 $PSLDEFk/  Module ($PSLDEF) of SYS$LIBRARY:LCLFORDEF.TLB.h/ Defines symbols for the access code constants. 3 $RABDEFi/ Module ($RABDEF) of SYS$LIBRARY:LCLFORDEF.TLB.c? Defines field and bit offsets and constants for the VAX-11 RMSa@ Record Access Block (RAB). Symbols for the offsets are defined as constants. 3 REQRPYFLGl1 Module (REQRPYFLG) of SYS$LIBRARY:LCLFORDEF.TLB.eB REQRPYFLG defines the symbolic names for FORTRAN of the bit masksD for the Request and Reply option flags used in the NET_SEND_REQUEST- and NET_SEND_REPLY network service routines. The options are:e 4 ENDMULT : Mask for the end-multiple-reply bit in the reply options.> Used to terminate a multiple-reply request from the replier's end. Also known as EMR. 4 FCPASTA Mask for the enable first-packet-AST bit in the request options.gA Used to enable delivery of a reply AST whenever the first packet < (in the chronological sense) has been moved into the user's reply buffer.4 LOCKED= Mask for the buffer -remains-locked bit in the reply options.e7 Used to override the receive buffer unlock done in theI< NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 4 MULTRPY8 Mask for the multiple reply bit in the request options.@ Used to indicate a request to which more than one reply message' is to be returned. Also known as MLT.e 4 NOBSYWTa6 Mask for the no-busy-wait bit in the request options.9 Used to fail a request (return status-only reply) if thew; destination task is busy with another message. Also knownu as NBW. 3 $RSC_DEF0 Module ($RSC_DEF) of SYS$LIBRARY:LCLFORDEF.TLB.D $RSC_DEF defines symbolic names for the reply status codes returnedB in the reply message header and the reply status byte of the User Ast Block.p 3 $SCRDEFn/ Module ($SCRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.a@ Defines symbols for the terminal independent screen positioning9 package constants, including information returned by ther. LIB$SCREEN_INFO and SCR$SCREEN_INFO routines. 3 $SECDEF / Module ($SECDEF) of SYS$LIBRARY:LCLFORDEF.TLB.a: Defines offset constants and bit masks for the global and! private section system services. 3 $SFDEF. Module ($SFDEF) of SYS$LIBRARY:LCLFORDEF.TLB.@ Defines offset constants and bits in the procedure stack frame. 3 $SHRDEFkB SYS$LIBRARY:LCLFORDEF($SHRDEF) defines symbols for shared message codes.cD These message codes should not be used directly by a facility sinceD they do not contain a subsystem (facility) identifier or a severity> code. Use the following formula to calculate actual facility message codes:a1 facility-message-code = common-message-code +i1 facility-id * 65536 +g) severity-codeg 3 $SMRDEFg/ Module ($SMRDEF) of SYS$LIBRARY:LCLFORDEF.TLB.n: Defines the symbiont manager request and option codes for7 the $SNDSMB (send-to-symbiont manager) system service.c3 $SSDEF. Module ($SSDEF) of SYS$LIBRARY:LCLFORDEF.TLB.< Defines symbolic constants (SS$_...) system condition codes and completion status values. 3 $STATEDEFv1 Module ($STATEDEF) of SYS$LIBRARY:LCLFORDEF.TLB.h3 Defines symbols for the process scheduling states. 3 $STSDEF / Module ($STSDEF) of SYS$LIBRARY:LCLFORDEF.TLB.t< Defines symbols for offset constants for the condition code) fields and the severity level constants.t 3 $SYIDEFs/ Module ($SYIDEF) of SYS$LIBRARY:LCLFORDEF.TLB.d7 Defines the item codes for the $GETSYI system service.3 $TTDEF. Module ($TTDE F) of SYS$LIBRARY:LCLFORDEF.TLB.9 Defines symbolic names for terminal characteristics bitsT and fields and constant values. 3 $UAB_DEFL SYS$LIBRARY:LCLFORDEF($UAB_DEF) defines symbols for network User AST Block. 3 UABFLGDEFr1 Module (UABFLGDEF) of SYS$LIBRARY:LCLFORDEF.TLB.rB UABFLGDEF defines the symbolic names (for FORTRAN) of the bit andB field masks, bit offsets, and field sizes of the UAB_B_FLAGS byte7 and the request_flags and reply_flags arguments of thei9 NET_CHECK_xxx and NET_W AIT_xxx network service routines.aD The UAB_V_name symbols give the bit offsets (bit number relative toA bit 0 of UAB_B_FLAGS) of the bit or field named. The UAB_M_nameF symbols give the masks for the bits or fields (used in bit-wise .AND.B operations) for the named bits or fields. The UAB_S_name symbols@ give the sizes, in bits, of the named fields. The UAB_K_LENGTH: symbol gives the length, in bytes, of the user AST block.4 FieldsC MSGTYPE is the message type code field. Only used  with requests. 4 Bits? 1STPKT bit indicates that this reply AST is the first packete< AST (declared after the first chronological packet< of the message has been stored in the user's reply/ buffer). Only used with reply AST's.o= CANCEL bit indicates that the outstanding request has been < cancelled and no more replies should be generated. Only used with requests.$ MULTRPY is the multiple reply bit.? TOOLONG bit indicates that the message ws truncated to fit ine the specified buffer. 3 $XABALLDEF2 Module ($XABALLDEF) of SYS$LIBRARY:LCLFORDEF.TLB.? Defines offset constants and other constants of the VAX-11 RMSp. allocation extended attribute block (XABALL). 3 $XABDATDEF2 Module ($XABDATDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSe1 date and time extended attribute block (XABDAT).o 3 $XABDEFt/ Module ($XABDEF) of SYS$LIBRARY:LCLFORDEF.TLB.E9 Defines offset constants and other values common to mostC3 of the VAX-11 RMS extended attribute (XAB) blocks.( 3 $XABFHCDEF2 Module ($XABFHCDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSt@ file header characteristics extended attributes block (XABFHC). 3 $XABKEYDEF2 Module ($XABKEYDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSm1 key definition extended attribute (XABKEY) block 3 $XABPRODEF2 Module ($XA BPRODEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSeA file protection and ownership extended attribute (XABPRO) block.a 3 $XABRDTDEF2 Module ($XABRDTDEF) of SYS$LIBRARY:LCLFORDEF.TLB.3 Defines constants for the VAX-11 RMS revision dateg+ and time extended attribute block (XABRDT) 3 $XABSUMDEF2 Module ($XABSUMDEF) of SYS$LIBRARY:LCLFORDEF.TLB.= Defines offset constants and other values for the VAX-11 RMSa8 indexed file summary extended att ribute (XABSUM) block. 2 LCLPASDEFOD The text library SYS$LIBRARY:LCLPASDEF.TLB contains PASCAL %INCLUDEG modules created locally at Fermilab. Among these %INCLUDE sources areD additional system INCLUDE sources created from definition macros in@ the system and executive macro libraries in the same way as theD FORTRAN INCLUDE sources in LCLFORDEF were made. Those modules madeH from these macros have names beginning with "$" and are the same as the3 names of the defintion macros (for the mo st part).cC Unless stated otherwise, all of the PASCAL %INCLUDE sources defineaI constants and are to be included into the CONST section. In particular,NK any file or text library module named xxxDEF will always define constants.BG Those %INCLUDE sources which define record types and belong in a TYPE B section are identified as such in the text and in its help topic.5 The modules currently contained in this library are: 3 $ACCDEFm+Module ($ACCDEF) SYS$LIBRARY:LCLPASDEF.TLB.=Defines accounting record type codes and offset constants foruthe accounting records. 3 $BRDCSTDEF1Module ($BRDCSTDEF) of SYS$LIBRARY:LCLPASDEF.TLB. CDefines mask bits for flags argument of the $BRDCST system service.t 3 $CLIMSGDEF0 Module ($CLIMSGDEF) SYS$LIBRARY:LCLPASDEF.TLB.C Defines the CLI$ status codes values returned by the Command Linet Interpreter (DCL or MCR).u 3 $CLISERVDEFs2Module ($CLISERVDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines request codes for CLI call-back operations for DCL.r 3 $CREDEFO.Module ($CREDEF) of SYS$LIBRARY:LCLPASDEF.TLB.@Defines offset constants and other values for the create-options1array argument of the LBR$OPEN LIBRARIAN routine.e3 $DCDEF-Module ($DCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.i;Defines device class (DC$_) and device type (DT$_) symbols.p 3 $DEVDEFt.Module ($DEVDEF) of SYS$LIBRARY:LCLPASDEF.TLB.>Defines device characteristics bit masks and offset constants. 3 $DIBDEFa.Module ($DIBDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines offset constantss and field sizes for the device7characteristics buffer returned by $GETCHN and $GETDEV.p 3 $DMTDEF .Module ($DMTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.9Defines bit masks and offsets for $DISMNT system service.i 3 $DSCDEFt.Module ($DSCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines symbols for procedure argument descriptor class and Batomic data types. Defins offset constants for descriptor fields. 3 $DVIDEF.Module ($DVIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines names for device information items used with the$GETDVI system service.a 3 $FABDEFo.Module ($FABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines offset constants and field locations (bits) for thetRMS File Access Block (FAB). 3 $HLPDEF.Module ($HLPDEF) of SYS$LIBRARY:LCLPASDEF.TLB.+Defines masks for the flags argument of thee"LIBRARIAN LBR$OUTPUT_HELP routine.3 $IODEF-Module ($IODEF) of SYS$LIBRARY:LCLPASDEF.TLB.e9Defines symbols for the I/O function codes and modifiers.G 3 $JBCMSGDEF1Module ($JBCMSGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.vCDefines symbolic names for Job Controller status values (JBS$_...).r 3 $JPIDEFs.Module ($JPIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines symbols for the item codes for the $GETJPIsystem service.s 3 $LBRDEF .Module ($LBRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines symbolic names for constants used with theLIBRARIAN utility routines.e 3 $LCKDEFd.Module ($LCKDEF) of SYS$LIBRARY:LCLPASDEF.TLB./Defines lock mode request codes and the bits ofY;the lock characteristics for $ENQ and $DEQ system services.l 3 $LIBCLIDEF1Module ($LIBCLIDEF) of SYS$LIBRARY:LCLPASDEF.TLB. ,Definitions for LIB$CLI callback procedures. 3 $LIBDCFDEF1Module ($LIBDCFDEF) of SYS$LIBRARY:LCLPASDEF.TLB.e*Definitions for use with LIB$DECODE_FAULT. 3 $MNTDEFs.Module ($MNTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.DDefines bit masks and item codes for use with $MOUNT system service. 3 $MSGDEF .Module ($MSGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines system message t cannot exceed 16.3 _STARB The autoload indicator marks as autoloadable the segment or other? task element. If you apply the autoload indicator immediatelyA before an ODL statement enclosed in parentheses, TKB marks everyB task element within the parentheses as autoloadable. Placing the@ autoload indicator at the outermost level of parentheses in the> ODL description marks every module in the overlay segments as autoloadable. ww Zrr1 USERSA This pre-defined command displays a list of all the users on the/ system and which terminals they are logged-on.ww ̊ 1 USRDIRLSTA This procedure will create a listing of the contents of a user's? directory and all the sub-directories down to the roots of the; tree of directories. The format of the procedure call is:) @FERMI$EXE:USRDIRLST username [device]F Any missing parameters are prompted for. A username must be suppliedD as a parameter or in response to the prompt. The directory listingD is placed on a file of the name username.LIS in the current defaultH directory. The directory listing includes the file sizes, owner UIC's, and creation dates. 2 ParametersusernameE is the name of the user whose files are to be cataloged. A username 9 MUST BE given as a parameter or in answer to the prompt.device D specifies the disk device on which the user's files reside. If no D device is given in response to the prompt, SYS$DISK of the current D user is use d. Note, that if a logical name is used for the device,/ it MUST NOT contain a directory specification.wwa{ 1 VAX$AP_LIBE The logical name VAX$AP_LIB: points to the disk area where librariesC used with VAX Applications Programs are stored. This logical nameA is defined system-wide as USR$DISK1:[VAXAPPL.LIBRARIES] for now.2 The following libraries are stored at VAX$AP_LIB:? VAXAPLIB.OLB library of object modules to use with LINK" VAXAPLIB.MLB macro l ibrary1 FORVAXAPL.TLB FORTRAN INCLUDE text library1 PASVAXAPL.TLB PASCAL %INCLUDE text libraryE The macro and text libraries include modules for use in user-writtenH Applications (and other) Programs and for use in preparing the routines$ in the VAXAPLIB.OLB object library.I In general, the routines that appear in VAXAPLIB are VAX-versions of theG same routines in Console library. HELP on these routines is available> using "RSXHELP CLIB routine" or "FERMIHELP VAXAPLIB rou tine". 2 LinkingF When using routines from VAXAPLIB, one must also (usually) search theH FERMILIB.OLB library in SYS$LIBRARY: as routines from FERMILIB are usedE in many of the VAXAPLIB routines. In addition, many of the VAXAPLIBH routines use the network and so the Link commands must also specify theE VAX/VMS ACNET UTI image. In order to make this simpler, the optionsH file VAXAPLIB.OPT in VAX$AP_LIB: has the linker search the VAXAPLIB andF FERMILIB libraries and to link in the network UTI image. This can be0 used in a Link command as shown by the example:. $ LINK ...,VAX$AP_LIB:VAXAPLIB/OPTIONS{,...}I Note that the VAX-11 Linker will accept multiple options files (they are0 concatenated into one and used in that manner). 2 SourcesF The sources for the modules in the VAX$AP_LIB: libraries can be foundB in the following subdirectories of USR$DISK1:[VAXAPPL.LIBRARIES]:8 [.SOURCES] sources for routines in VAXAPLIB.OLB4 [.MACROS] commented sources for the macrosA [.INCLUDES] sources for the modules in the text librarieswwwa{ 1 VAXAPLIB@ Help on a particular routine is available by using the command: FERMIHELP VAXAPLIB routine 2 DBAREQF Add a request for the "addressing" information for a specified device and property.E CALL DBAREQ(di.rl.r, prop.rb.r, iwork.mb.ra, irinx.ww.r, ierr.ww.r)D The "addressing" information returned includes the source node, theB subsystem deivce number, default data return length, maximum data5 return array length and the console protection mask. di Device Index prop Property IndexF iwork database work area array initialized by DBWAIN call in which* the request list is being built.D irinx retrieval index for the returned data (see Return_data forG description of its format). This value must be saved for use& with the DBGET/DBGETI calls.. ierr standard ACNET error/success return. 3 Retu rn_dataI The returned data from the DBAREQ call consists of an array of 18 bytes. The contents of the array are: Byte Length Offset (bytes) ------ -------A 0 2 default return length of data (in bytes)A 2 2 maximum return length of data (in bytes)E 4 2 logical node number of source in lower byte.0 upper byte is set to 0.2 6 8 subsystem's device number)  14 2 frequency-time descriptor0 16 4 console protection mask2 DBGET: Retrieve information requested from the Central Database.; CALL DBGET(irinx.rw.r ,iwork.rb.ra ,indata.wz.r ,ierr.ww.r* [,maxlen.rw.r] [,lendat.ww.r])> The routine DBGET will retrieve unprocessed data, a PDB, or aA Subsystem's Device Number returned to the work area specified by a DBPROC call.? irinx integer retrievel index (returned from call to DBREQ, DB RPDB, or DBAREQ).D iwork database work area array initialized by DBWAIN and used in; DBPROC to retrieve information from the database.G indata user buffer to receive returned data. Must be allocated withB sufficient storage to receive the requested (or default) number of bytes.3 ierr standard ACNET 16-bit error/success code.B maxlen specified by the caller to control the maximum number ofC bytes that the caller is prepared to accept in the indataA buffer. If not specified to default value is that whichB was supplied by the data-base operation for each request4 in the list (and stored in the work area).B lendat maximum number of bytes available (in the work area) for( the specified retrieval index.2 DBGETIC Return an index to the unprocessed data in the database work area.< CALL DBGETI(irinx.rw.r, iwork.rb.ra, ipntr.ww.r, ierr.ww.r [,lendat.ww.r])? irinx integer retrievel index for data from DBREQ, DBRPDB, DBSET or DBAREQ call.= iwork work area array originally defined by DBWAIN call.D ipntr index into iwork array. Assumes it is a word (INTEGER*2)3 array with a single index starting at 1.6 ierr returns ACNET error/success code in a word.? lendat optional return of the length (in bytes) of the data4 block pointed to by the ipntr word index.2 DBPROCD This routine is called to transmit the database request list to theF Central Database processor. A call to this routine must be proceededB by at least one call to one of the DBAREQ, DBREQ, DBRPDB or DBSET routines.2 CALL DBPROC(iwork.mb.ra, [iefn.rw.r], ierr.ww.r)> iwork database work area array initialized by DBWAIN call.D iefn optional event flag number to be specified if asynchronousE operation mode is selected. If omitted, then a synchronous operation is assumed.0 ierr standard ACNET error/success return. 2 DBRDIE Add a request for the Device Index corresponding to the given deviceF name to the request list being built in the database work area array.= CALL DBRDI(dname.rb.ra, iwork.mb.ra, irinx.ww.r, ierr.ww.r)F The returned data (retrieved by DBGET or DBGETI) is the 32-bit Device Index.D dname device name of 8 characters stored in an 8-byte array. IfE name is shorter than 8 bytes, it must be left-justified and$ space-filled in the array.# iwork database work area array.A irinx retrieval index for the returned Device Index. Must be: retained for use with the DBGET/DBGETI routines.. ierr standard ACNET error/success return.2 DBREQ> Add a request for the desired property of a specified device.D CALL DBREQ(di.rl.r, prop.rb.r, iwork.mb.ra, irinx.ww.r, ierr.ww.r)> The information returned is dependent upon the property being requested. di Device Index prop  Property IndexF iwork database work area array initialized by DBWAIN call in which* the request list is being built.D irinx retrieval index for the returned data. This value must be4 saved for use with the DBGET/DBGETI calls.. ierr standard ACNET error/success return.2 DBRMCD Add a request for the Device Index corresponding to the given EventB Message Code to the request list being built in the database work area array.; CALL DBRMC(emc.rqu.r, iwork.mb.ra, irinx.ww.r, ierr.ww.r)F The returned data (retrieved by DBGET or DBGETI) is the 32-bit Device Index.E emc 8-byte (array or quadword) Event Message Code for which the7 corresponding Device Index is to be returned.# iwork database work area array.A irinx retrieval index for the returned Device Index. Must be: retained for use with the DBGET/DBGETI routines.. ierr standard ACNET error/success return.2 DBRPDBF Add a request for the Process Data Block (PDB) for a specified device and property.E CALL DBRPDB(di.rl.r, prop.rb.r, iwork.mb.ra, irinx.ww.r, ierr.ww.r)D The Process Data Block (PDB) contains the information used with the+ scaling and masking data service routines. di Device Index prop Property IndexF iwork database work area array initialized by DBWAIN call in which* the request list is being built.D irinx retrieval index for the returned data. This value must be4  saved for use with the DBGET/DBGETI calls.. ierr standard ACNET error/success return.2 DBSET> This routine enables the caller to transmit data to a setting" property of the specified device:E CALL DBSET(di.rl.r, prop.rb.r, iwork.rb.ra, irinx.rw.r, idata.rz.r,@ ierr.ww.r [,len.rw.r] [,ioff.rw.r] [,lfowrd.rwu.r]) di Device Index.8 prop Property Index (must be a settable property).= iwork work area array originally defined by DBWAIN call. C irinx integer retrievel index for use with DBGET to obtain the' status of the set operation.C idata variable or array which contains the unprocessed data toC be "set". "Unprocessed" is interpreted to mean that theD data is in the format to be directly useable by the Front End.6 ierr returns ACNET error/success code in a word.B len optional length (in bytes) of the data to be "set" fromD idata. If not specif ied, the default length of 1, 2 or 41 bytes for the device-property is used.H ioff offset in bytes from logical element 0 (for an array device).= The default value for this optional argument is 0.H lfowrd if TRUE (low bit 1) the Central Database Manager will forwardG the setting to the Front End. If FALSE (low bit 0) the dataG will only be set into the Central Database and not forwardedD to the Front End. This optional argument has the default value of TRUE.2 DBSIZEA Return the number of bytes in use in the specified database work area array.1 CALL DBSIZE(iwork.rb.ra, isize.ww.r, ierr.ww.r)# iwork database work area array8 isize returns actual usage of iwork array in bytes./ ierr standard ACNET error/success return.2 DBWAIN8 Initialize database work area array provided by caller.% CALL DBWAIN(iwork.mb.ra, ilen.rw.r)@ iwork array allocated by the user for use with the database routines.. ilen length of the iwork array in bytes.E The exact amount of memory to be allocated depends upon the specificD information being accessed and may be approximated by the larger of the following:8 6 + 4(# requests) + (max # of bytes expected in reply)? 10 + 6(# requests) + 4(# DBSET's) + (# bytes of setting data)2 DI2NAM6 Translate one or more Device Indices to device names.@ CALL DI2NAM(dname.wt.ra, index.rl.ra [,iwork.wb.ra] [,n.rl.r])D dname variable or array in which the 8-byte device name text is returned.C index variable or array in which the 32-bit device indices are specified.E iwork user-specified work area array. Must be specified if more5 than one device index is to be translated.E n number of device indices to translate (if greater than 1).F The size of the user-specified work area array should be given by the, number of device indices as 12*(n+1) bytes.2 DPGET Get data from the data pool.L CALL DPGET (irinx.rw.r, indata.wb.ra, ierr.ww.r ,iseq.ww.r [,maxlen.rw.r])H irinx variable containing the pointer to the data pool request.> indata variable or array to receive the returned data.= ierr variable to receive standard ACNET error code.C iseq variable to receive the data return sequence number.8 specified. Defaults to "once shot" read.I maxlen variable containing the maximum number of bytes to return.9 Defaults to the number of bytes requested.2 DPPROC9 Process new requests and deletions within the data pool.& CALL DPPROC (ierr.ww.r [,iefn.rw.r])= ierr variable to receive standard ACNET error code.B iefn variable containing the user event flag to set when& processing is underway.2 DPREM- Mark a data pool request entry for deletion.$ CALL DPREM (irinx.rw.r, ierr.ww.r)E irinx variable containing the pointer to the request to mark for removal.= ierr variable to receive standard ACNET error code.2 DPREQ. Enter a Data Pool request into the data pool.C CALL DPREQ (di.rw.ra, pi.rb.r, irinx.ww.r, ierr.ww.r [,iftd.rw.r]) [,length.ww.r] [,ioff.ww.r])E di variable or array in which the 24-bit device index is  specified.G pi variable in which the 8 bit property index is specified.? irinx variable to receive the pointer to this request.= ierr variable to receive standard ACNET error code.A ftd variable in which the frequency time descriptor is8 specified. Defaults to "once shot" read.H length variable in which the length in bytes of returned data is3 specified. Defaults to the minimum.I ioff variable in which the offset in bytes from element zero is,  specified. Defaults to zero.2 DPSET+ Submit a setting request to the data pool.? CALL DPSET (irinx.rw.r, idata.rw.ra ,iqueue.rbu.r ,ierr.ww.r * [,length.ww.r] [,ioff.ww.r])L irinx variable containg the pointer to the active data pool request4 of the device to receive the setting.I iqueue logical variable containing .TRUE. if this setting requestH is to be buffered, and .FALSE. if this and other bufferedF setting requests are to be forwarded to the front ends.= ierr variable to receive standard ACNET error code.G length variable in which the length in bytes of setting data isL specified. Defaults to the length of the associated request.I ioff variable in which the offset in bytes from element zero isL specified. Defaults to the offset of the associated request.2 DPSRPY< Flush queued Data Pool settings to front ends with replies.6 CALL DPSRPY (ierr.ww.r [,iarray.ww.ra] [,itmo.rw.r])G ierr variable to receive standard ACNET error code. If zero,. all settings sent successfully.D [iarray] array of standard ACNET error codes. One per queued E setting request in the order the settings were queued.D [itmo] variable containing the timeout to be applied to each; front end setting request in 15 hertz ticks.2 FSCLOS File Sharing service routine.8 CALL FSCLOS(ivun.rw.r, iostat.ww.r [,extstat.wlu.r])D This routine is used to close a file previously associated with the virtual unit number.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.2 FSEXIT File Sharing service routine.: CALL FSEXIT(idummy.rw.r, iostat.ww.r [,extstat.wlu.r])B This routine is used to close all files open by calls to the File Sharing package.@ idummy a dummy argument, ignored but must not be defaulted.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.2 FSOPEN File Sharing service routine:? CALL FSOPEN(ivun.rw.r, fspec.rt.dx, access.rw.r, iostat.ww.rA [,extstat.wlu.r] [,dispose.rw.r] [,readonly.rw.r])? This routine is called to open an existing file (fspec) on theB cen tral disk for subsequent I/O operations. The file must resideA in an RSXFSHARE directory or related subdirectory. Various file< attributes may be specified or defaulted with this call. AC relationship is established linking the virtual unit number (ivun). with the file for subsequent file references.B ivun the virtual unit number (may be a 2 character literal). on which the file is to be opened.D fspec File specification text specified by a string descriptor@  (FORTRAN CHARACTER variable or quoted text literal).0 access the type of the file access desired:7 1 = direct (random by record number)! 2 = sequential* 3 = append (sequential) 4 = keyed/ iostat the ACNET error/status code return.G extstat optional argument by which the extended status from VMS/RMS is returned.A dispose optionally specifies the dispositon of the file after closing:* 1 = SAVE file (default), 4 = SUBMIT to batch queueC readonly optionally specifies the read/write access of the file:) 1 = READONLY (default)- 2 = permit WRITE's to file2 FSREAD File Sharing service routine.> CALL FSREAD(ivun.rw.r, iobuf.wz.r, nbyte.rw.r, iostat.ww.r< [,extstat.wlu.r] [,recno.rl.r] [,nbrtn.ww.r] [,iefn.rw.r])@ This routine is used to  read a record from a file opened on the= virtual unit number. The file may have either sequential orA relative organization and fixed or variable length records. TheA record is written into the user's buffer according to either the= number of bytes requested or the actual length of the record< (whichever is shorter). If the file was opened with direct@ access, then the logical record number defines the record to be? read. If the file was opened with sequential access, then theA next record in sequence is read. If an event flag (non-zero) is@ specified, then the read will be done in an asynchronous manner< and control will be returned to the user before the read is complete.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.> iobuf User's record buffer into which the record will be returned.B nbyte Number of bytes requested from the record (the size of the iobuf area).* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.D recno optionally specifies the logical record number for files% opened for direct access.H nbrtn optionally returns the number of bytes actually read (actual" length of the record).D iefn optionally specifies an I/O completion event flag numberE (read is asynchronous if this is specified and non-zero).2 FSREW File Sharing service routine.7 CALL FSREW(ivun.rw.r, iostat.ww.r [,extstat.wlu.r])< This routine is used to rewind a sequential file previously# opened on the virtual unit number.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.2 FSUNLK File Sharing service routine.8 CALL FSUNLK(ivun.rw.r, iostat.ww.r [,extstat.wlu.r])? This routine is used to unlock a file open on the virtual unit number.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.2 FSWADC File Sharing service routine. CALL FSWADC( [iostat.ww.r] )< This routine is called to disconnect a work area previously7 allocated (via a FSWAIN call) for use by File Sharing.5 iostat optionally returns the ACNET status code.2 FSWAIN File Sharing service routine.6 CALL FSWAIN(iwork.rw.ra, ilen.rw.r [,iostat.ww.r])B This routine is called to declare a work area for use by the restC of the File Sharing routines. FSWAIN must be called before any ofC the other orutines in the package. The work area declared will beB used to assemble and disassemble the network messages. A minimum> of 22 words are needed to execute the most basic File Sharing@ functions. As many as 72 words may be required for a file open operation, however.+ iwork Name or element of work buffer.> ilen Specifies the length (in 16-bit words) of the work buffer.5 iostat optionally returns the ACNET status code.2 FSWEOF File Sharing service routine.8 CALL FSWEOF(ivun.rw.r, iostat.ww.r [,extstat.wlu.r])? This routine is used to write an end-of-file to the sequential( file opened on the virtual unit number.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.2 FSWRIT File Sharing service routine.> CALL FSWRIT(ivun.rw.r, iobuf.rz.r, nbyte.rw.r, iostat.ww.r= [,extstat.wlu.r] [,recno.rl.r] [,iefn.rw.r] )? This routine is used to write a record to a file opened on the= virtual unit number. The file may ha ve either sequential orA relative organization and fixed or variable length records. The@ record is gotten into the user's buffer according to the number? number of bytes specified. If the file was opened with direct@ access, then the logical record number defines the record to beB written. If the file was opened with sequential access, then theD next record in sequence is written. If an event flag (non-zero) isA specified, then the write will be done in an asynchronous manner= and control will be returned to the user before the write is complete.B ivun the virtual unit number (may be a 2 character literal)) on which the file was opened.< iobuf User's record buffer containing the record to be written.7 nbyte Size of the record to be written, in bytes.* iostat returns the ACNET status code.@ extstat optionally returns the extended status from VMS/RMS.> recno optionally specifies the logical record number for+ files opened for direct access.D iefn optionally specifies an I/O completion event flag numberF (write is asynchronous if this is specified and non-zero).2 NAM2DI< Translate one or more device names to their Device Indices.@ CALL NAM2DI(dname.rt.ra, index.wl.ra [,iwork.wb.ra] [,n.rl.r])D dname variable or array in which the 8-byte device name text is specified.C index variable or array in which the 32-bit device indices are  returned.E iwork user-specified work area array. Must be specified if more4 than one device name is to be translated.C n number of device names to translate (if greater than 1).F The size of the user-specified work area array should be given by the* number of device names as 12*(n+1) bytes.2 PDPUCU7 Primary units to common units scaling service routine.5 value.wf.v = PDPUCU(data.rf.r ,ipdb.rz.r ,ierr.ww.r* [,units_text.wt.ra]) H This function is used to scale the value of a READING/SETTING expressed= in primary units to the equivalent common engineering units.E value function result returned as a single-precision floating/ point value (REAL*4, F_floating).G data data in primary units in single-precision floating point H ipdb Process Data Block for the device and property (READING or SETTING).C ierr returns the success/error code for the transfo rmation 0 = success> -1 = illegal number for conversion operationG units_text (optional) array of 4 bytes in which the common transformI units will be returned. To use a CHARACTER variable on theI VAX as this argument, it must be specified as %REF(var). AB BYTE array (or INTEGER*4) may be specified normally.2 PDUDCU: Unprocessed data to common units scaling service routine.7 value.wf.v = PDUDCU(indata.r z.r ,ipdb.rz.r ,ierr.ww.r* [,units_text.wt.ra])D This function is used to scale the data returned by a DPGET call to6 the equivalent common engineering units (i.e., AMPS).G value function result returned as a single-precision real value# (REAL*4, F_floating).H indata unprocessed data to be scaled. The length is specified byI a field in the Process Data Block (PDB) as 1, 2 or 4 bytes.H ipdb Process Data Block for t he device and property (READING or SETTING).C ierr returns the success/error code for the transformation 0 = success> -1 = illegal number for conversion operationG units_text (optional) array of 4 bytes in which the common transformI units will be returned. To use a CHARACTER variable on theI VAX as this argument, it must be specified as %REF(var). AB BYTE array (or INTEGER*4) may be specified normally.2 PDUDPU; Unprocessed data to primary units scaling service routine.7 value.wf.v = PDUDPU(indata.rz.r ,ipdb.rz.r ,ierr.ww.r* [,units_text.wt.ra])D This function is used to scale the data returned by a DPGET call to+ the equivalent primary units (i.e., VLTS).G value function result returned as a single-precision real value# (REAL*4, F_floating).H indata unprocessed data to be scaled. The length is specified byI  a field in the Process Data Block (PDB) as 1, 2 or 4 bytes.H ipdb Process Data Block for the device and property (READING or SETTING).C ierr returns the success/error code for the transformation 0 = successH units_text (optional) array of 4 bytes in which the primary transformI units will be returned. To use a CHARACTER variable on theI VAX as this argument, it must be specified as %REF(var). AB BYTE array (or INTEGER*4) may be specified normally.2 PDULENF Return the unscaled data length (in bytes) from the flags byte of the Process Data Block.* length.wl.v = PDLEN(ipdb.rz.r ,err.ww.r)G length Length of the unscaled data in bytes (1, 2 or 4) that theB scaling services will operate on for a given device.H ipdb Process Data Block for the device and property (READING or SETTING).< err returns a success/error code for the operation 0 = success 2 PD_DPYFMTA Return the display format flag values from the flags byte of the Process Data Block.8 CALL PD_DPYFMT(ipdb.rz.r ,longfmt.wbu.r, scifmt.wbu.r)H ipdb Process Data Block for the device and property (READING or SETTING).G longfmt byte (LOGICAL*1) in which TRUE (-1) is returned if the LSG bit is set to indicate "long display" format. Otherwise,F FALSE (0) is r eturned to indicate normal "short" format.G scifmt byte (LOGICAL*1) in which TRUE (-1) is returned if the DSI bit is set to indicate "scientific notation display format.I Otherwise, FALSE (0) is returned to indicate normal format. 2 VAX_INTYPEG Provide scheduling and program skelton services similar to a console'sH INTYPE subroutine. Required of user: a subroutine named NET_UNLOCK andM its labelled common of which skeletons are available for user modif ication. ) CALL VAX_INTYPE (itype.ww.r, wake.rw.r)9 itype variable to receive the wakeup interrupt type.4 currently only two types are implemented:" 1 - initialization 4 - otherD wake variable containing the wakeup frequency used only on theD first call to VAX_INTYPE. wakeup frequency is specified E by the number of 15 hertz ticks between wakeups. a wakeup: frequency of zero provides no periodic wake ups.F Errors are signalled. VAX_INTYPE calls VAX_SLVCNCT to connect to the& network so the user does not have to. 2 VAX_SLVCNCTE Connect a slave VAX Application Program to the network. The networkD task name is constructed from the VMS process name setup by VAXAPM.E The task name consists of the first 5 characters of the process nameD to which is appended a single base 24 digit (i.e. hex for the firstF 16 consoles) giving the console number. The console number is gottenG from the two digit number after the "_CNS" string in the process name. The format of the call is: CALL VAX_SLVCNCT Errors are signalled. 2 VAX_UNLDL Provide process hibernation service similar to a console's UNLD subroutine.K Required of user: to branch to the VAX_INTYPE call on return. The processF will hibernate until awakened by a periodic wakeup or a user specifed% wakeup (such as network request in). CALL VAX_UNLD 2 VIABRT) Abort a non-slaved VAX application task.' status.ww.v = VIABRT( vtname.rb.ra )% status standard ACNET error code.C vtname variable or array containing 9 ASCII bytes of task name.2 VISTRT) Start a non-slaved VAX application task.' status.ww.v = VISTRT( vtname.rb.ra )% status standard ACNET error code.C vtname variable or array containing 9 ASCII bytes of task name.2 VTABRT% Abort a slaved VAX application task.' status.ww.v = VTABRT( vtname.rb.ra )% status standard ACNET error code.C vtname variable or array containing 9 ASCII bytes of task name.2 VTCNCL/ Disconnect from a slaved VAX application task.% status.ww.v = VTCNCL (vttsb.ww.ra)= vttsb five word array. task status block for slaved task.: word 1 - flagword, will contain a 0 as long; as the slave task remains attached.@ becomes a 1 when slave task disconnects.= word 2 - word of slave task exit status, valid2  when flagword is non-zero.6 word 3/4- 32 bit slave task exit status.@ word 5 - request id of console/VAXAPM connection.& status ACNET standard error return.2 VTSTRT% Start a slaved VAX application task.D CALL VTSTRT( vtname.rb.ra, vttsb.rw.ra, vtr50.rw.ra, status.ww.r)C vtname variable or array containing 9 ASCII bytes of task name.> vttsb five word array. task status block for slaved task.< word 1 - flagwo rd, will contain a 0 as long= as the slave task remains attached.B becomes a 1 when slave task disconnects.? word 2 - word of slave task exit status, valid4 when flagword is non-zero.8 word 3/4- 32 bit slave task exit status.B word 5 - request id of console/VAXAPM connection.@ vtr50 two word array to receive network Rad-50 taskname of  started task.; status variable to receive ACNET standard error return.ww READ will move files from the slave VAX to the master VAX and8 W RITE will move files from the master VAX to the slave. list_filespec? is either the file specification of a text file which contains> a list of files to be transferred (see List_format) or is the= specification of one or more files possibly using wildcards.= The "literal" file list specification is given by preceeding; the list with an equal sign (i.e., "=*.COM"). A DIRECTORY= command is used to form a list of files to be transferred in2 a temporary file when the "literal" form is use d. 2 List_format? When the set of files to be transferred is specified as a file< contains a files, each line of the file contains one or two file specifications: input_file [output_file]B where input_file is the file specification of the file to be read= (on either the master VAX or the slave VAX) and the optional= output_file parameter is the file specification to which theA input file contents are written on the other VAX (from which the> file contents were read). Defaults for output_file are taken@ from input_file (name, type, version) except that SYS$DISK: and< [] are used instead of the input_file device and directory.wwv|1 VFY @ RSX-11M VFY is used to check the consistancy of Files-11 volumeD structures, alter the volume structure, or obtain other information= about the volume. The general form of the command line is:  : RSX: >VFY list_file,scratch_device=input_device/switches VMS: $ MCR VFY1 ... A The input device must be a disk or DECtape mounted as a Files-11F volume. The list_file defaults to TI:, the scratch and input devicesC default to SY:. The default function is to check the validity of) the Files-11 structures on the volume.  2 Switches/AL> Subswitch for /HD - delete all bad headers without prompting./DE ) list_file,scratch_device=input_device/DE C This function resets the marked-for-delete bit in each file's fileF header. The marked-for-delete bit is set when the file system startsG to delete a file, but cannot complete the deletion, usually because ofF a system crash. Such a file may either be restored (with VFY /DE) or# deleted with PIP (see main text).  E The input device must be mounted with the system files unlocked (MCRC MOU /UNL). Write access to the volume is necessary. It is highlyH recommended that the volume be mounted private, with only VFY operating on it.  /DV ) list_file,scratch_device=input_device/DV E VFY validates all the directories on a volume. Each directory entryF presumably describes a file; VFY /DV attempts to match each directory7 entry with the corresponding header in the index file. A See the main text for information on removing invalid directory entries. B The input device may be write locked. It is recommended that the; volume be mounted private, with only VFY operating on it.  /FR  list_file=input_device/FR D The number of free and used blocks on the disk are listed. PIP /FRB also performs this function, and lists additional data about the  volume. F The input device may be write locked. It is not necessary for VFY to% have exclusive access to the volume. /HD ) list_file,scratch_device=input_device/HD D VFY scans the system files for validity. When a bad file header is@ encountered, VFY prompts for action. See the main text for the! specific choices at this point.  B Subswitch /AL supresses the prompt; VFY /HD/AL will automatically delete all bad headers.  E The input device must be mounted with the system files unlocked (MCRC MOU /UNL). Write access to the volume is necessary. It is highlyH recommended that the volume be mounted private, with only VFY operating on it.  /ID < Displays the version identification number of the VFY task. % No device or list file is specified. /LI  list_file=input_device/LI 0 VFY reports all files listed in the index file. F The input device may be write locked. It is not necessary for VFY to% have exclusive access to the volume. /LO ) list_file,scratch_device=input_device/LO C VFY locates all files which are not entered in any directory, and  enters them in [1,3]. E Write access to the volume is necessary. It is recommended that the; volume be mounted private, with only VFY operating on it.  /RC + list_file,scratch_device=input_device/RC:n E VFY attempts to read all blocks of all files on the volume. The /RCG parameter "n" is an optional blocking factor. If it is not specified,A VFY uses the maximum blocking factor. If the blocking factor is8 specified, VFY executes the same function, only slower. F The volume may be write-locked. It is recommended that the volume be1 mounted private, with only VFY operating on it.  /RE ) list_file,scratch_device=input_device/RE E Alter the free storage bit map in accordance with information in the; index file. If the default VFY function reports that the < "Index indicates X blocks free" number is greater than the H "Bitmap indicates X blocks free" number, VFY /RE will alter the bitmap, freeing more blocks.  E The input device must be mounted with the system files unlocked (MCRC MOU /UNL). Write access to the volume is necessary. It is highlyH recommended that the volume be mounted private, with only VFY operating on it.  /UP ) list_file,scratch_device=input_device/UP E Alter the free storage bi t map in accordance with information in the; index file. If the default VFY function reports that the = "Bitmap indicates X blocks free" number is greater than the H "Index indicates X blocks free" number, VFY /UP will alter the bitmap,2 allocating blocks which actually belong to files. E The input device must be mounted with the system files unlocked (MCRC MOU /UNL). Write access to the volume is necessary. It is highlyH recommended that the volume be mounted private, with only VFY  operating on it.  2 Default & list_file,scratch_device=input_device H The default VFY function: blocks on a volume are counted two ways. TheE allocation bitmap is a series of bits marked 0 or 1, describing eachD block on the volume as free or allocated in a file. The index fileG contains file headers which describe the blocks which are contained inD each file. VFY counts blocks each of these two ways, reporting theG counts, as well as noting any blocks allocated to more than one file.  F The volume may be write-locked. It is recommended that the volume be1 mounted private, with only VFY operating on it. 2 Performance D VFY performance is generally related to ANSI support and task image size on RSX-11M systems. F It is necessary to rebuild VFY with ANSI support during SYSGEN part 3F to achieve performance increases for most VFY functions. This is doneG by either rebuilding VFY to with [1,1]ANSLIB.OLB, or by rebuilding VFY< to link to an FCSRES which was build from [1,1]ANSLIB.OLB.  H We also recommend that VFY also be either rebuilt, or installed with an? increment, to as large a size as is practical on your system.  H Once rebuilt with ANSI support, VFY will use the FCS big buffer featureA to read files on the input device several blocks at a time. ThisD improves performance by reducing the amount of head movement on theF input device. Given ideal conditions, VFY execution time is roughlyG proportional to the inverse of the size of the block buffer within theH VFY task image. "Ideal conditions" mean large files (true of the indexC file, likely less true of directory files), a responsive operating. system, and minimal contention for the disk.  D Performance of the following VFY functions are not affected by ANSI support and task size:  /ID, /FR H Performance of the following VFY function is affected by task size, but not by ANSI support:  /RC H Performance of the following VFY functions are affected by ANSI support and task size:  - no switch, /DE, /DV, /HD, /LI, /LO, /RE, /UP wwd_z1 VMRC VMR stands for Virtual MCR and is an RSX-11M/M-PLUS system programC that allows you to configure a system image file. VMR allows you ? to issue MCR commands that are directed to the disk image of a2 system rather than to the current running system. ? When VMR is executed, it first asks for the name of the systemE image file. Logical units SY: and LB: should already be assigned toD the device on which this file resides. If you are using an indirectB command file (for example, MCR VMR @filename.CMD), the first line9 of the command file must be the name of the system file. C If the /IM switch is used on the file specification, only the SAVeC command is legal in VMR. This is used to write non-RSX-11M system4 images to secondary media in bootstrappable format. 2 ALTER! ALT[ER] taskname/PRI=priority B taskname The name of the task whose priority is to be altered. ? priority The new static priority of the specified task. It, can be from 1 to 250 (decimal).2 ASN ASN ddnn:=llnn:/GBL B Define a global assignment that associates the logical name llnn: with device ddnn:. ASN /GBL / Display all global assignments for the system.  ASN =[llnn:]/GBL A Delete the specified global logical device assignment or, if you+ omit llnn:, delete all global assignments.2 CANCEL CAN[CEL] taskname = taskname The name of the task whose time-based initiation) requests are to be canceled. 2 DEVICES DEV[ICES] [dd:] A dd: The device type for which information is to be displayed.? If this is omitted, information for all device units is displayed.2 FIX FIX taskname 8 taskname The name of the task to be fixed in memory. 2 INSTALL# INS[TALL] filespec[/keyword(s)] 9 filespec A task image file specification in the form: 7 ddnn:[group,member]filename.type;version ? The ddnn: defaults to LB: and the type defaults to= TSK. Standard defaults apply to the rest of the fields. /CKP=optionB Checkpointability of the task (on systems with dynamic allocation7 of checkpoint space). The option is either YES or NO. The default is /CKP=YES. /CLI=optionA Specifies (if option is YES) that the task being installed is a  C LI. /FIX=option@ Specifies, for RSX-11S, whether memory-resident tasks are to be7 fixed in memory or not. OPtion values are YES and NO. /INC=size' Task extension size for mapped system. /IOP=optionC If /IOP=YES, it is assumed that the task will overmap the I/O pageD and, if the task is larger than 8K words, a warning will be issued.A If /IOP=NO, it is assumed that the task does not need to use theA I/O page and no warning message will be issued. Default is YES. /PAR=pname5 Partition name (overrides task-build specification)./PMD=option C Specifies whether a Postmortem Dump is required (/PMD=YES) or not./PRI=number 5 Installed priority of the task. Default is /PRI=50. /SLV=optionB Task's slave status. If the command specifies /SLV=YES, the dataA sent to the installed task is marked with the TI: of the sending task./TASK=taskname% Name to be used to install the task./UIC=[group,member] The UIC for the task.2 LOAD LOA[D] dd:[/keyword(s)] : dd: The 2-character ASCII name of the device whose# driver is to be loaded. /PAR=pname3 The name of the partition into which the driver is1 to be loaded. This overrides the partition name specified at task-build time. /SIZE=psize3 The minimum size (in octal words) of the partition3 into which the driver is to be loaded. psize must be less than 77741.2 LUNS LUN[S] taskname : taskname The name of the task for which the static LUN- assignments are to be displayed. 2 PARTITIONS PAR[TITIONS] B Displays for each partition its name, PCB address, partition base= address, size, type, and the name of the partition occupant. 2 REASSIGN REA[SSIGN] taskname lun new: ; taskname The name of the task for which the LUNs are to be reassigned. $ lun The logical unit number. : new: The new device unit, which can be a physical,' logical, or pseudo device. 2 REDIRECT RED[IRECT] new:=old: G Redirects I/O requests from one device (the old ddnn:) to another (the new ddnn:).2 REMOVE REM[OVE] taskname 0 taskname The name of the task to be removed.2 RUN9 Run the specified task one clock tick after system boot.) RUN taskname[/RSI=magu][/UIC=[uic]] ; Run the specified task at a time increment from the system image time./ RUN taskname dtime[/RSI=magu][/UIC=[uic]] 8 dtime The delta time at which the task is to; be started. Its form is magu (see /RSI). > Run the specified task at a time increment from the specified clock unit synchronization. 6 RUN taskname sync [dtime][/RSI=magu][/UIC=[uic]] 7 sync The synchronization unit: H, M, S, T (see /RSI). , Run the specified task at an absolute time. 0 RUN taskname atime [/RSI=magu][/UIC=[uic]] = atime Absolute time of day specified as hh:mm:ss. /RSI=magu/ The reschedule interval specified as magnitude/ (mag) and unit (u), where units are T (ticks),) S (seconds), M (minutes), and H (hours). /UIC=[uic]+ The UIC under which the task is requested.2 SAVE$ SAV[E] ddnn:[label][/keyword(s)] ? ddnn: The device unit onto which the system image is to- be written. Valid devices are: % CT: Tape cassette) DD: DECtape II (TU58) DT: DECtape9  DX: Single density floppy disk (RX01)9 DY: Double density floppy disk (RX02)5 MM: TE16/TU16/45/77 magnetic tape* MS: TS11 magnetic tape4 MT: TE10/TU10/TS03 magnetic tape" PP: Paper tape @ label The file label name that must be specified for all@ secondary media except paper tape. It consists of3 from 1 to 12 alphanumeric characters. /BOOT=type:B Specifies the type of boot block being used when the system imageB is saved. The options for type are DX: (for RX01's) and DY: (for RX02's). /DENS=16005 Specifies the magnetic tape density for MM: devices.2 SET( Alter system-wide characteristics with: SET /keyword=value B The types fall into several categories listed below. Many of the@ switches also have a negative form: /NOkeyword[=value] which isA not listed below. Also, for many of the keywords, if a value isC not specified VMR will display information rather making a change. 3 Devices/ABAUD[=ttnn:]@ Enables/disables autobaud detection for the specified terminal." Full-duplex terminal driver only. /BRO[=ttnn:]> Enables/disables broadcast option for the specified terminal.. Valid only on systems with multi-CLI support./BUF=ddnn:[size]6 Sets the default buffer size of the specified device. /CRT[=ttnn:]B Defines the specified termnal as a CRT or as a hardcopy terminal. /EBC[=ttnn:]- Enables/disables the 8-bit character option." Full-duplex terminal driver only. /ECHO[=ttnn:]D Enables/disables the echo option (echoing via the terminal driver)./ESCSEQ[=ttnn:]6 Enables/disables the recognition of escape sequences. /FDX[=ttnn:]C Enables/disables the full-duplex option (allows terminal driver to4 accept input from terminal while output is active)." Full-duplex terminal driver only./FORMFEED[=ttnn:]C Indicates that the terminal does/does not have hardware form feed./HFILL=ttnn:[value]B Specifies the number of fill characters (value) that the terminalA driver is to output after a carriage return. The value may run  from 0 to 7. " Full-duplex terminal driver only. /HHT[=ttnn:]: Indicates that the terminal does/does not have a hardware horizontal tab." Full-duplex terminal driver only./LINES=ddnn:[value]C Estiablishes the number of lines per page on the specified device." Full-duplex terminal driver only./LOWER[=ttnn:]? Specifies that lowercase characters are not to be converted to> uppercase when they are received from the specified terminal. /PRIV[=ttnn:]- Set/remove privileged status for a terminal. /PUB[=ddnn:]. Establish/remove a device as a public device./REMOTE[=ttnn:[speed]]@ Establish terminal as connected to a modem and set initial baud@ rate (answer speed). Or establish terminal as a local line not connected to a dial-up modem. /RPA[=ttnn:]: Enable/disable the read-pass-all option for the terminal." F ull-duplex terminal driver only./SLAVE[=ttnn:]? Set the terminal status to slaved/nonslaved. Slaved terminals< only permit the entry of data if it is solicited by a task./SPEED=ttnn:[recv:xmit]< Establishes the receive and transmit bad rate for terminals5 attached to the system by DH11 or DZ11 multiplexers./TERM=ttnn:[type]> Establishes the terminal type of the specified terminal. The recognized types are:( ASR33 LA30S LA120 VT55 VT105( ASR35 LA34 LA180S VT61  VT125( KSR33 LA36 VT05B VT100 VT131( LA12 LA38 VT50 VT101 VT132 LA30P LA100 VT52 VT102" Full-duplex terminal driver only./TYPEAHEAD[=ttnn:[size]]< Enable/disable typeahead option for the specified terminal." Full-duplex terminal driver only./UIC[=[uic][:ttnn:]]C Establishes the specified UIC as the default UIC for the specified terminal (default is TI:)./VFILL[=ttnn:]G Enables/disables the vertical fill characters option for the terminal." Full-duplex terminal driver only. /WCHK[=ddnn:]B Enables/disables write checking for Files-11 devices (except DX:, DY: and magtape). /WRAP[=ttnn:]E Enables/disables the wrap-around options for the specified terminal." Full-duplex terminal driver only. 3 General/LIBUIC[=[uic]]C Defines the library UIC for use by the "RUN $file" and "INS $file" commands./LOGON? Enables/disables logins on terminals on a multiuser protection system./MAXEXT[=size]? Establishes the maximum size to which a task can extend itselfD beyond its mapped array area by means of the EXTEND TASK directive.7 See /MAIN for the possible formats for the size value./NETUIC[=[uic]]@ Specifies the UIC in which all DECnet-related tasks are stored./PLCTL[=hi:lo:frsiz:basep] C Sets the pool limit parameters used by the Pool Monitor Task (PMT)) on systems with pool monitoring support.' hi the high pool limit in bytes.& lo the low pool limit in bytes.> frsiz the minimum byte size of the largest free pool block; required for avoiding the low pool actions of PMTA basep base task priority (lowest priority a nonpriv. task may@ have and still be eligible for memory retention during times of low pool). The limits are:1 84. <= lo <= hi <= total size of system pool 84. <= frsiz <= hi The defaults are:* hi=1600. lo=600. frsiz=200. basep=51./SYSUIC[=[uic]]> Establishes the UIC for the system and all system t asks. The& default for mapped systems is [1,54]. 3 Memory /BOT=pname:value? Directs VMR to move the bottom boundary of a system-controlled> partition. The partition name is given by pname. The number% of 64-byte blocks is given by value:@ +n moves bottom boundary up by n blocks (shrinks partition)B -n moves bottom boundary down by n blocks (enlarge partition)@ n specifies total partition size, bottom boundary is moved0 to give the partition the specified size +* same as *? * move bottom boundary up a far as possible (to bottom of* first fixed task or device driver)4 -* move bottom boundary down as far as possible/MAIN=pname[:base:size:type] Establishes a main partition.5 pname the 1-6 character alphanumeric partition name< base the physical base address of the partition specified% as a number of 64-byte blocks/ size size of the partition in 64-byte blocksA type SYS for a main partition, DEV for a common partition that< maps device registers, COM for a common partition or! TASK for a task partition/ Base and size may be entered in several forms:; octal (n*100) nnnn 0<=base<177777 0 Increases the size of the dynamic storage region (pool). The< parameter gives the first location in memory to be used for= partition allocation. Units are in terms of 64-byte blocks.> I f /POOL=* is used, VMR allocates the maximum amount of pool./POOLSIZE[=value]< Specifies a total amount of pool rather than a top address./SUB:mname:sname[:base:type]@ Establishes a subpartition in a user-controlled main partition.1 mname 1-6 character name of the main partition./ sname 1-6 character name of the subpartition.D base physical base address of the subpartition in 64-byte blocks.3 size size of the subpartition in 64-byte blocks. See the /MAIN switch./NOSUB=mname :sname? Eliminates the specified subpartition from the main partition./TOP=pname:value@ Directs VMR to move the top boundary of the specified partition? up or down. The partition name is given by pname. The number% of 64-byte blocks is given by value:= +n moves top boundary up by n blocks (shrinks partition)? -n moves top boundary down by n blocks (enlarge partition)= n specifies total partition size, top boundary is moved0 to give the partition the specified si ze +* same as *< * move top boundary up a far as possible (to bottom of* first fixed task or device driver)1 -* move top boundary down as far as possible 2 TASKLIST TAS[KLIST] [taskname] A taskname The name of the installed task for which you want to@ display the task name, version number, TCB address,A partition name, priority, size, load device, file-ID@ (for a saved system) or logical block number (for a?  virgin system), and task memory state (for a savedC system). If omitted, the information is displayed for! all installed tasks.2 TIME* TIM[E] [hrs:mins[:secs]] [m1/day/year] or* TIM[E] [hrs:mins[:secs]] [day-m2-year] $ hrs Hours (range 0 through 23). & mins Minutes (range 0 through 59). 4 secs Seconds (range 0 through 59; default is 0). > m1 Numeric representation of month (range 1 through 12). - m2 Three-letter  abbreviation for month. " day Day (range 1 through 31). 4 year Year relative to 1900 (range 0 through 99).2 UNFIX UNF[IX] taskname < taskname The name of the task to be unfixed from memory.2 UNLOAD UNL[OAD] dd: ? dd: The 2-character ASCII device name whose driver is to be unloaded.ww`!q1 VTM? VTM is a program used to format messages for a VT100 terminal.C Various options are available and are listed below. If no option sH are specified, the default is to clear the screen and write the messageB in double height characters centered in the middle of the screen.E Consult help on "Startup" and "Format" before attempting to use VTM.2 ALL+ Turns on all attributes except underscore.7 The attributes turned on are BOLD, BLINK, and REVERSE.2 ACSET' Selects the alternate character set. 2 ANSI< Sets the ANSI mode. The VT100 MUST be in this mode for VTM to work properly.2 BLINE BLINE=n; S pecifies the bottom line number. This is the line number= where wraparound to the top line occurs. The default bottom line number is 24.2 BELL? Inserts a bell in the message. Multiply bells can be inserted4 in each message by using the command: {BELL, BELL}2 BLINK Turns on the blink attribute.2 BOLD Turns on the bold attribute.2 BOX4 BOX=top_line:bottom_line[:left_column:right_column]7 Draws a box on the screen using special graphics. The8 default line and  column numbers are {BOX=1:22:1:80} for8 VAX/VMS and {BOX=1:23:1:80} for RSX-11M. If just {BOX}0 is specified, the previous parameters are used.2 CLEAR CLEAR or -CLEAR= Enables or disables clearing the entire screen. The defaultC is to clear the screen once before the first message is written. 2 COLUMN COLUMN=n, Use column number 'n' for the next message.2 CENTER CENTER or -CENTER< Enables or disables centering messages in the middle of the, screen. The defa ult is to center messages.2 CBOL% Clears to the beginning of the line.2 CEOL Clears to the end of the line.2 CLIN Clears the entire line.2 CBOS' Clears to the beginning of the screen.2 CEOS! Clears to the end of the screen.2 DATE2 Outputs the current date in the format DD-MMM-YY.2 DELAY DELAY=n8 Delays for 'n' seconds. The delay is immediate. If it6 is specified on a line with a message, the message is7 displayed after the delay. The delay has no effect on: output to a file. It's useful only in VTM command files. 2 DHEIGHT DHEIGHT or -DHEIGHT= Enables or disables double height messages. Once specified,? the next and subsequent messages are written in double height.2 DWIDTH DWIDTH or -DWIDTH< Enables or disables double width messages. Once specified,> the next and subsequent messages are written in double width.2 Format Command lines are of the form:> {option, option, ...} message_text {option, option, ...} etc.> Where message_text is the text to display. If contained in a@ command file, upper and lowercase characters are accepted. The= command line interpreters (MCR and DCL) convert lowercase to@ uppercase. The message is truncated if the length is too long.C The braces MUST be specified around the options. Multiple optionsB must be separated with commas. The options can be abbreviated to one or two characters.2 JUMP Sets the jump scroll mode.2 HOMEB Writes the message starting in the top left corner of the screen.F This is equivalent to command {L=1, C=1}. The screen is not cleared. 2 ITERATION ITERATION=nC Specifies an iteration count for the next or current command line.A If you specify a count of 65535, you will loop infinitly and you# must type CTRL/C to exit from VTM.2 KEYPAD KEYPAD=ON or KEYPAD=OFF8 The ON state is known as the application mode. In this: mode, the keys on the keypad transmit an escape sequence.; The OFF state is known as the numeric mode. In this mode,= the keys on the keypad transmit the number on the key. Your( keypad is normally in the numeric mode.2 LINE LINE=nn= Specifies the line number for the next message. On startup, the default line number is 12.2 LED LED=n or -LED; Turns on the specified LED (L1 - L4) on the terminal. The: The range of 'n' is 1-4. If 'n' isn't specified, all the: LEDs are turned on. A {-LED} command turns all LEDS off. 2 LJUSTIFY; Left justify the next message. Same as the command {C=1}. 2 LMARGIN LMARGIN=n0 Sets the left margin to 'n'. The default is 1.2 NARROW< Sets the screen to 80 column mode. The VT100 automatically. clears the screen when changing column modes.2 OUTPUT OUTPUT=file.extA Outputs to the specified file. If running interactive, messages@ are output to both the terminal and the file. The -TTY commandE will inhibit output to the terminal. If no output file is specified@ (i.e., {OUT=}), the default file name of VTM.DAT is used. If aB second {OUT=...} is specified, the current file is closed and the new file is openned.2 OFF> Turns off all the attributes (BLINK/BOLD/REVERSE/UNDERSCORE).> All attributes are turned off because the VT100 does not have= the capability to turn off a single attribute. This command< is executed automatically at the end of each message output) if you havn't turned the attributes off.2 PLINE PLINE=n; Specifies the prompt line number. The default prompt line9 is 24 for RSX-11M and line 23 for VAX/VMS. This is also8 the last line output to a file when the file is closed. 2 REVERSE& Turns on the reverse video attribute.2 REGION' REGION=top_line:bottom_line or -REGION= Enables or disables the scrolling region. When specifying a? scrolling region, the top line must be greater than the bottomE line. To disable the scroll region, use {-REGION} or {REGION=1:24}.2 RESET; This does a power-up reset. It is useful in command files8 being aborted by CTRL/C or CTRL/Y when the state of the VT100 is unknown. 2 RJUSTIFY< Right justify the next message. The message will be output2 so the last character lines up with right margin. 2 RMARGIN RMARGIN=n2 Sets the right margin to 'n'. The default is 80.2 RULER RULER=n9 Write a ruler on the VT100 to aid in message formatting." The default line number (n) is 1.2 TLINE TLINE=n< Specifies the top line number. This is the line started at= after wrapping around from the bottom. The default top line number is 1.2 SKIP SKIP=n< Skips 'n' lines on the screen. After displaying a message,< VTM automatically adjusts the line number to the next line., This option is used for additional spacing.2 SCREEN SCREEN=BLACK or SCREEN=WHITE9 The BLACK state causes the screen to be black with white; characters. The WHITE state causes the screen to be white with black characters. 2 SGRAPHICS8 Turns on special graphics. In this mode, the lowercase= character set is used to display special graphic characters.= Use either {UKSET} or {USSET} to exit special graphics mode.2 SMOOTH Sets smooth scroll mode. 2 Startup3 There are three methods of starting VTM; they are: 1. $ VTM VTM>> This is the interactive mode. VTM continues to prompt0 for input until you type CTRL/Z to exit. 2. $ VTM message_textB Clears the screen, writes the message in the middle of the screen, and then exits. 3. $ VTM @command_fileD Using this method, command lines are read from the specifiedE command file. The length of the command lines can be up to aE maximum of 256 characters. The continuation character "-" isG allowed at the end of a line. If the extension isn't specified the default is .VTM.4 The VTM command is defined as a foreign command by: $ VTM :== $FERMI$EXE:VTM2 TEST Fills the screen with "Es". 2 TERMINAL TERMINAL=ddnn:= Specifies the terminal to write the message to. On VAX/VMS,9 you can only write to terminals which are not logged on.> Logical names are permitted of the form ddnn: (RSX standard).= The double underscore on terminal names on VAX are stripped.2 TIME1 Outputs the current time in the format HH:MM:SS.2 TTY TTY or -TTY? Enables or disables output to the local terminal. The default< is to always output to the local terminal. On RSX-11M, the9 output device is TI0:. On VAX/VMS, the output device is9 wherever SYS$OUTPUT is directed (normally the terminal). 2 UNDERSCORE# Turns the underscore attribute on.2 UKSET* Selects the United Kingdom character set.2 USSET# Selects the USASCII character set.2 WIDE= Sets the screen to 132 column mode. The VT100 automatically. clears the screen when changing column modes.ww@`[ 1 WILDRENAME, T he WILDRENAME command is defined by doing:$ WILDRENAME :== @FERMI$EXE:WILDRENAMG This command provides a more generalized wildcard renaming capability. The format of the command is: WILDRENAME old-spec new-specI The command only accepts a single (wildcard) file specification for eachH parameter and only functions on files in the current default directory.F The old-spec parameter selects the files to be renamed. The wildcardD characters in the new-spec parameter represent single  characters orG fields of characters which are replaced with the equivalent charactersJ from the input file specification (from wildcard processing of old-spec).2 Replacements= The new-spec wildcard characters have the following meaning:D % replaced by the character (in this position) from the input file specification.B * replaced by the remainder of the input file specificationB Other (non-wildcard) characters in the new-spec are used as-is inF place of their equi valent characters in the input file specification.wwO=Co1 ZAP C The ZAP utility allows you to directly examine and modify files onB a Files-11 volume. Using ZAP, you can patch task images and dataD files in an interactive environment without reassembling the files. A ZAP's command syntax is generally similar to that of ODT, exceptA that commands must be terminated with a carriage return (). E There are three ways of invoking ZAP. Unlike most other utilities, F when using ZAP, you cannot specify the file name on the command line. Invoke ZAP as follows: F $ MCR ZAP $ RUN SYS$SYSTEM:ZAP $ MCR ZAP @indirectfile( ZAP>filespec[/sw] ZAP>filespec[/sw]" _zapcommand _zapcommand 2 Commands0 ZAP commands take one of the following formats: ' block#:address op relocreg,address op B If op, the operation, opens a location, the present value of thatD location may be changed by typing just the new value (in octal) a nd pressing the RETURN key. F Help is available for the following commands (where a symbol is given) an identifing name preceeded by an "_"): D / (open octal word) " (open ASCII word) % (open Radix-50 word)E \ (open octal byte) ' (open ASCII byte) ^ (open preceding loc.)F _ (open offset word) @ (open indirect word) > (open relative branch)& < (open last location before _, @, >) ? X (exit from ZAP) K (compute offset) R (set reloc register)" O (jump and branch displa cements)( = (compute value) V (verify contents)3 _SLASH  _b:a/ _r,a/ @ The "/" command opens a word location, displays the contents inA octal, and stores the contents of the location in the Q(uantity)B register. If the address of the location is odd, the location is opened as a byte. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,100/ 002:0,000100/ 000000 3 _QUOTES  _b:a" _r,!a" D The '"' command opens a word location, displays its contents as two@ ASCII characters, and saves the contents of the location in theA Q(uantity) register. If the address of the location is odd, the location is opened as a byte. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,100" 002:000100" AG 3 _PERCENT  _b:a% _r,a% @ The "%" command opens a word location, displays its contents "asA 3 Radix-50 characters, and saves the contents of the location inA the Q(uantity) register. If the address of the location is odd," the location is opened as a byte. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,100% 002:000100% UGH 3 _BACKSLASH  _b:a\ _r,a\ G The "\" command opens a byte location, displays its contents in octal,E and stores the contents of the location in the Q(uant#ity) register.  E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,101\ 002:0,000101\ 0003 _PRIME   _b:a' _r,a' C The "'" command opens a byte location, displays its contents as an@ ASCII character, and stores the contents of the location in the Q(uantity) register. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For exa$mple:  _0,101' 002:000101' A3 _HAT  _^ C The "^" command opens the previous location, displays its contentsB in the current format, and stores the contents of the location inC the Q(uantity) register. If ZAP is displaying words, the previousC word location is opened. If ZAP is displaying bytes, the previous byte location is opened. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,%100/ 002:000100/ 000000 _^ 002:000076/ 000123 3 _UNDERSCORE  __ @ The "_" command uses the contents of the current location as an@ offest from the current location, opens that location, displaysC its contents in the current format, and stores the contents of the% location in the Q(uantity) register. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,0/ 002:000100/ 100 __ 002:00020&2/ 1234563 _AT  _@ @ The "@" command uses the contents of the current location as anD absolute address, opens that location, displays its contents in the? current format, and stores the contents of the location in the Q(uantity) register. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,0/ 002:000000/ 000100 _@ 002:000100/ 123456 3 _GREATER  _> C The ">" command uses the 'low order byte of contents of the currentD location as a relative branch offset, opens that location, displaysC its contents in the current format, and stores the contents of the% location in the Q(uantity) register. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,0/ 002:0,000000/ 000100 _> 002:0,000202/ 1232113 _LESS  _< ? The "<" command causes ZAP to return to the location where (the= current series of _, @, and/or > commands began, display the> contents of that location in the current format, and to store: the contents of that location in the Q(uantity) register. E To change the contents of the location, a new value should be typed," in octal, at the next prompt (_). For example:  _0,10/ 002:0,000010/ 005212 __ 002:0,005224/ 001020 _> 002:0,005266/ 000000 _@ 002:0,000000/ 000000 _< 002:0,000012/ 0004303 X  _X B T)he "X" command writes the current block back to disk (unless /RO( was specified) and then exits from ZAP.3 K  _K _nK _a;nK E The "K" command computes the offset between the value of the nearestB relocation register and the currently open location, displays theA offset value in octal, and stores it in the Q(uantity) register. E The "nK" command computes the displacement in bytes between the lastE open location and relocation register "n", displays the offset value+ in oc*tal, and stores it in the Q register. F The "a;nK" command computes the displacement in bytes between addressE "a" and relocation register "n", displays the offset value in octal,! and stores it in the Q register. For example: _2:1202/ 002:0,000010/ 000111 _K =0,000010 _0,100;1K =1,0000403 O  _aO _a;bO ; The "aO" command computes and displays the jump and branch= displacements from the current location to the target of the branch "a". = The "a;+bO" command computes and displays the jump and branch8 displacements from location "a" to target location "b". C The first number displayed is the jump displacement and the second# number is the branch displacement. For example: _0,4534/ 0,004534/ 000123 _4566O 000030> 000014 _4534;4566O 000030> 000014 3 _EQUALS  _exp= E The "=" command evalutes an expression, displays its value in octal,* and stores it in the Q(uantity) register. For example:,  _1+2= 000003 3 V  nV G The "V" command verifies that the contents of the just opened locationJ are equal to "n". The command is used only in ZAP indirect command files.3 R  _b:o;nR D The "R" command sets the value of a relocation register. "b" is theE number of the starting block, "o" is the virtual address offset, and4 "n" is the number of the relocation register (0-7). For example: _2:121200;0R 2 Indirect  >ZAP @cmdfile H Along with being -used interactively, ZAP may be executed by means of anG indirect command file. The command file should include all input typedH to ZAP. The first line should be the file specification of the file to+ be modified. The last line should be "X". 3 The following is an example of a ZAP command file: TISK.TSK 2:120004/ 30V 70 X 2 Registers ' ZAP maintains the following registers:  * 0R - 7R Relocation Registers 0 through 7.  C Constant Register.  F Format. Register.  Q Quantity Register. K To access the contents of a register, specify a dollar sign ($) preceding  the register. For example:  $C/ H To modify the contents of the register, type in the new value and press the RETURN key. 3 R C Relocation registers 0R - 7R are used to hold addresses inside the> task image. You load them with the base addresses of modulesC relocated by the Task Builder. By using relocation registers, you> can reference locations in a /module using the addresses in an assembly listing. F The relocation registers are loaded differently than other registers.F To load a relocation register, you enter a command line consisting ofF the block number and address (in normal ZAP format), a semicolon (;),A and the register you want to load. From then on you can use that+ relocation register as part of an address. F For example, assume that your task has a segment that starts in block@ 13 and whose low virtual address is 1572.0 You would then load aE relocation register with that address and reference locations in theB segment using the addresses in the assembly listing (which starts from 0). _13:1572;2R _2,100/3 C E The constant register is a register that contains a 16-bit value you: specify. The value "C" can then be used in an expression. For example:  _$C/ $C/ 000000 _3 _C + 2 = 0000053 F B The format register controls the format of the displayed address.B If its 1value is 0, ZAP displays addresses relative to the closest= relocation register. If the value is non-zero, ZAP displays@ addresses in absolute format. Zero is the initial value of the format register.3 Q > The quantity register is set by ZAP to contain the last value= displayed at your terminal. "Q" can be used in expressions. 2 Separators 2 There are three separator characters used by ZAP: > "," separates a relocation register from another command line element B "2;" separates an address from an internal register specification;G it is used in expressions that set values for relocation registers F ":" separates a block number base value from an offset into the block 2 Operators A ZAP accepts three operators that may be used in all expressions: $ "+" adds one value to another value + "-" subtracts one value from another value A "*" multiplies one value and adds it to another; this is used in forming Radix-50 strings 2 Sw 3itches/AB  ZAP>filespec/AB G The /AB switch tells ZAP to process addresses as absolute byte addressG within the file. You should specify /AB for files that are not in taskG image format (tasks and resident commons). You can also specify /AB onK task image files, which is the only way you can reference the task header. A If /AB is not specified, addresses in ZAP command lines refer toI addresses in the task image file as shown in the Task Builder task image map for the file.4/LI  ZAP>filespec/LI I The /LI switch causes ZAP to display the starting disk block and addressC boundaries for each overlay segment in the file. The format of the display is:  bbbb: llllll-uuuuuu [type] - where bbbb is the starting disk block number" llllll is the lower address limit" uuuuuu is the upper address limit G [type] appears only for RSX-11M-PLUS-specific tasks to distinguish theF pure section of a multiuser task and the data space section of an I- K and D-space task. For a multiuser task, a "P" will mark the pure segment.E For an I- and D-space task, a "D" will mark the data segment. For aH multiuser I- and D-space task, the pure segments will be marked as "PI" and "PD"./RO  ZAP>filespec/RO I The /RO switch opens the file in read-only mode. When /RO is specified,E you can execute ZAP functions that change the contents of locations,2 but the changes are not written back to the file.ww6fς1 FTBI The Fast Task Builder (FTB) is an RSX-11M utility program which builds aD task image file from one or more object files. FTB supports only aD number of TKB's abilities (see Restrictions for more information onC the limitations of FTB) but is about 4 times faster than TKB. The command line syntax is: 9 $ MCR FTB file.TSK[/sw],file.MAP[/sw]=file.OBJ[/sw],... or $ MCR FTB/ FTB>file.TSK[/sw],file.MAP[/sw]=file.OBJ[/sw] FT7B>file.OBJ[/sw] FTB>/ ENTER OPTIONS: FTB>option FTB>option . . ./ FTB>// ! or / if another task is to be built < See the Switches subtopic for a list of available switches.: See the Options subtopic for a list of available options. 2 SwitchesB Apply the following switches to input files or output files. The> description of each switch tells you where to use the switch. /CP Checkpointable  FTB> file.TSK/CP=file.OBJ ? The /CP switch directs FTB to mark 8the task as checkpointable.B The system checkpoints the task into the system checkpoint file.   The default is /-CP./DA Add a debugging aid  FTB> file.TSK/DA=file.OBJ or# FTB> file.TSK=file.OBJ,file.OBJ/DA D The /DA switch directs FTB to include a debugging aid into the taskE image. If you specify /DA after the .TSK filespec, FTB includes the1 On-line Debugging Tool (ODT) in your task image. B If you specify /DA on an input file, the .OBJ file to which it isF a9ppended is a debugging aid and FTB transfers program control to that aid.  The default is /-DA./DL Default library # FTB> file.TSK=file.OBJ,file.OLB/DL C The /DL switch specifies a default library. The specified library G replaces LB0:[1,1]SYSLIB.OLB as the default library for the task-build operation.  The default is /-DL./FP Floating point   FTB> file.TSK/FP=file.OBJ A The /FP switch informs FTB that the task uses the Floating Point Processor. : The default is /-FP. /LB Specify a library file # FTB> file.TSK=file.OBJ,file.OLB/LB or8 FTB> file.TSK=file.OBJ,file.OLB/LB[:mod1:mod2:...:mod8] > The /LB switch specifies an input file as an object library. F Without arguments, FTB searches the library file to resolve undefinedF global references. FTB extracts modules that contain definitions for such references. A If modules are specified, FTB includes only these modules in theG task image. Up to eight such modu;le specifications may be specified on the switch. /MM Memory management; 28 or 30K  FTB> file.TSK/MM[:n]=file.OBJ or FTB> file.TSK/-MM[:n]=file.OBJ B The /MM switch specifies that the target system (the one on whichB the task is to run) has memory management. Specify n as 28 or 30@ to indicate the highest physical address in K-words of the task being built. @ The default is /MM if the building system has memory management and /-MM if it does not./SP Spool map< output # FTB> file.TSK,file.MAP/SP=file.OBJ 5 The /SP switch directs FTB to spool the .MAP file to the line printer.  The default is /SP. 2 Options 3 ACTFIL  ACTFIL=file-max : ACTFIL declares the maximum number of files that the task; can have open simultaneously. FTB allocates approximately 512 bytes for each active file. : If a task uses less than four active files (the default),; the ACTFIL option can save space. If the number of active8 files is more= than four, you must use the ACTFIL option# to make the additional allocation. file-max1 A decimal integer indicating the maximum number- of files that can be open at the same time.  The default is ACTFIL=4.3 ASG . ASG=devicename:unitnum1:unitnum2:...:unitnum8 < ASG declares the physical device that is assigned to one or more logical units. devicename. A 2 character alphabetic device name followed) by a 1- to 3-digit decimal unit number. unitnum1...7> Decimal integers indicating the logical unit numbers. + The default is ASG=SY0:1:2:3:4,TI0:5,CL0:63 COMMON  COMMON=name:access-code[:apr] > COMMON and LIBR are functionally identical to FTB. They both> declare that the task intends to access a system-owned shared< region. However, by convention, COMMON identifies a shared= region that contains data only, and LIBR identifies a shared region that contains code only. : System-owned is a definition given to a file that resid?es< in UFD [1,1] on device LB: along with its associated symbol6 definition file. Therefore, a system-owned common or. library is one that resides at that location.   name6 A 1- to 6-character Radix-50 name that specifies the9 common or library. FTB looks for the symbol definition> file with the same name as that of the common or library and3 with a .STB extension in UFD [1,1] on device LB:. access-code. The type of access (read-write or read-only)4 the task requires. @ RW indicates read-write and RO indicates read-only.  apr2 An integer in the range of 1 to 7 that specifies5 the first APR that FTB is to reserve for the shared1 region. FTB recognizes apr for a mapped system3 only. You can specify it for relocatable regions1 only. FTB selects the highest available APR by8 default if you omit apr and the region is relocatable. 5 For an absolute shared region, its base address and6 the APR that maps it are determined by the argumentsA- in the PAR option when the region is built. 8 In an RSX-11M-PLUS task that uses I- and D-space and a- common, the common is considered data only.7 The Executive maps the common with D-space APRs only.7 If the same task uses LIBR as an option for a region,9 the Executive maps the library with I-space and D-space APRs.3 EXTSCT  EXTSCT=psectname:extension 6 EXTSCT declares an extension in size for a p-section. G If the p-section has the attribute CON, the sectionB is extended by theH specified number of bytes. If the p-section has the attribute OVR, theH section is extended only if the length of the extension is greater than the length of the p-section. psectname. A 1- to 6-character Radix-50 name specifying the p-section to be extended. extension5 An octal integer that specifies the number of bytes+ by which the p-section is to be extended.3 LIBR  LIBR=name:access-code[:apr] > COMMON and LIBR are functionally identical to C FTB. They both> declare that the task intends to access a system-owned shared< region. However, by convention, COMMON identifies a shared= region that contains data only, and LIBR identifies a shared region that contains code only. ? System-owned is a definition given to a common or library fileB that resides in UFD [1,1] on device LB: along with its associated symbol definition file.  name6 A 1- to 6-character Radix-50 name that specifies the9 common or library. FTB looks Dfor the symbol definition> file with the same name as that of the common or library and3 with a .STB extension in UFD [1,1] on device LB:. access-code. The type of access (read-write or read-only)4 the task requires. RW indicates read-write and RO indicates read-only.  apr2 An integer in the range of 1 to 7 that specifies5 the first APR that FTB is to reserve for the shared5 region. FTB recognizes the APR for a mapped system3 only. You can specify it for relocatabl Ee regions1 only. FTB selects the highest available APR by8 default if you omit apr and the region is relocatable. 5 For an absolute shared region, its base address and6 the APR that maps it are determined by the arguments- in the PAR option when the region is built. 8 In an RSX-11M-PLUS task that uses I- and D-space and a- COMMON, the COMMON is considered data only.7 The Executive maps the COMMON with D-space APRs only.7 If the same task uses LIBR as an option for a regiFon,9 the Executive maps the library with I-space and D-space APRs.3 MAXBUF  MAXBUF=maxrecord < MAXBUF declares the maximum record buffer size required for any file used by the task. > If the maximum record size exceeds the default buffer length,/ this option must be used to extend the buffer. maxrecord2 A decimal integer, larger than the default, that- specifies the maximum record size in bytes.  The default is MAXBUF=1323 RESCOM " RESCOM=filespec/acc Gess-code[:apr] @ RESCOM and RESLIB are functionally identical; they both declare= that your task intends to access a user-owned shared region.: However, by convention, RESCOM identifies a shared region that contains only data. D The term "user-owned" means that the resident common or library andC the symbol definition file associated with it can reside under any@ UFD that you choose. You can specify the UFD and the remaining9 portions of the filespec for RESCOM. You must not placeH' comments on the same line with RESCOM. filespec4 The memory image file of the resident common. The, filespec format is discussed in Chapter 1. access-code8 A code specified as RW (read/write) or RO (read/only),4 indicating the type of access required by the task.3 A privileged task can change data in or move data6 into a resident common even though the task has been- linked to the common with read-only access.  apr5 An integer in the range of 1 - 7 that specifie Is the0 first APR that you want FTB to reserve for the3 common. FTB recognizes the APR argument only for/ a mapped system. You can specify it only for2 position-independent shared regions. If the APR/ parameter is omitted and the shared region is/ position-independent, FTB selects the highest" available APR to map the region. 4 When a shared region is absolute, the base address6 of the region and the APR that maps it is determined4 by the arguments in the PAR option when Jthe region is built. 5 In an RSX-11M-PLUS task that is built to use I- and0 D-space and a shared region specified with the4 RESCOM option, the common is considered to be data2 only. Therefore, the common is mapped with user D-space APRs only. NOTES 5 1. FTB expects to find a .STB file having the same7 name as that of the memory image file, and on the7 same device and under the same UFD as that of the memory image file. 6 2. Regardless of Kthe version number you give in the7 filespec, FTB uses the latest version of the .STB file.  The defaults are:  UFD - current terminal UIC device - SY0: file type - .TSK file version - latest3 RESLIB " RESLIB=filespec/access-code[:apr] 8 RESLIB and RESCOM are functionally identical; they both= declare that your task intends to access a user-owned shared< region. However, by convention, RESLIB identifies a shared region that contains only code. D L The term "user-owned" means that the resident common or library andC the symbol definition file associated with it can reside under any@ UFD that you choose. You can specify the UFD and the remaining9 portions of the filespec for RESLIB. You must not place' comments on the same line with RESLIB. file-spec4 The memory image file of the resident common. The, filespec format is discussed in Chapter 1. access-code8 A code specified as RW (read/write) or RO (read/only),4 indic Mating the type of access required by the task.  apr6 An integer in the range of 1 to 7 that specifies the0 first APR that you want FTB to reserve for the3 common. FTB recognizes the APR argument only for/ a mapped system. You can specify it only for2 position-independent shared regions. If the APR/ parameter is omitted and the shared region is/ position independent, FTB selects the highest" available APR to map the region. 4 When a shared region is absolute, the base aNddress6 of the region and the APR that maps it is determined4 by the arguments in the PAR option when the region is built. 5 In an RSX-11M-PLUS task that is built to use I- and, D-space and a shared region specified with. RESLIB, the library is considered to be code3 only. Therefore, the library is mapped with user I- and D-space APRs.  NOTES 5 1. FTB expects to find a .STB file having the same7 name as that of the memory image file, and on the4 O same device and under the same UFD as those of the memory image file. 6 2. Regardless of the version number you give in the7 filespec, FTB uses the latest version of the .STB file.  The defaults are:  UFD - current terminal UIC device - SY0: file type - .TSK file version - latest3 RESSUP 4 RESSUP=filespec/[-]SV[:apr] (for RSX-11M-PLUS only) ? RESSUP declares that your task intends to access a user-owned,? supervisor-mode library. The terPm "user-owned" means that the< library and its .STB file can reside under any UFD that you> choose. You must not place comments on the line with RESSUP. = When CMPRT and RESSUP appear in a command sequence together, CMPRT must be specified first. filespec: The name of the memory image file of the supervisor-mode library.  /[-]SV/ The code SV for supervisor vectors or -SV for0 no supervisor vectors. If you specify SV, FTB/ replaces calls to the supervisor-mode libr Qary: within your task with context switching vectors. If you, specify -SV, calls within your task to the7 supervisor-mode library are resolved directly and you4 must provide your own means for context switching.4 The elimination of supervisor vectors is useful if5 the supervisor-mode library contains threaded code.  apr/ An integer in the range 0 to 7 that specifies1 the first supervisor APR to be reserved for the: library. The default is the lowest available APR.R  The defaults are: UFD - current terminal UIC device - SY0: filetype - .TSK fileversion - latest3 STACK  STACK=stacksize = STACK declares the maximum size of the stack required by the task. F The stack is an area of memory used for temporary storage, subroutineB calls, and synchronous trap service linkage. Hardware register 6 references the stack. stacksize2 A decimal integer specifying the number of words required for the stack.  The default iSs STACK=256.3 SUPLIB 6 SUPLIB=filespec:[-]SV[:apr] (for RSX-11M-PLUS only) @ SUPLIB declares that your task intends to access a system-owned; supervisor-mode library. The term system-owned means that8 FTB expects to find the supervisor-mode library and the; .STB file associated with it under UFD [1,1] on LB:. When8 CMPRT and SUPLIB appear in a command sequence together, CMPRT must be specified first. filespec2 A 1- to 6-character Radix-50 name specifying the4 system-o Twned supervisor-mode library. FTB expects9 to find a .STB file having the same name as the library under [1,1] on LB:.  :[-]SV4 The code SV for supervisor vectors or the code -SV4 for no supervisor vectors. If you specify SV, FTB6 replaces calls to the supervisor-mode library within3 your task with context-switching vectors. If you9 specify -SV, FTB resolves calls within your task to the7 supervisor-mode library directly and you must provide@ your own mode switchUing vector. The elimination of supervisorA vectors is useful if the supervisor-mode library contains threaded code.  apr3 An integer in the range 1 to 7 that specifies the1 first supervisor APR that FTB is to reserve the8 the library. The default is the lowest available APR.3 TASK  TASK=taskname @ TASK specifies the name of the task (that is, the name that the4 task will have when it is installed in the system). taskname9 A 1- to 6-character Radix-V50 name identifying the task. B The default task name is the first 6 characters of the task image file name.3 UNITS  UNITS=maxunits ? UNITS declares the number of logical units that the task uses. maxunits8 A decimal integer in the range 0 to 250 specifying the5 maximum number of logical units. The UNITS keyword9 creates tables that require dynamic memory. Therefore,- large arguments can exhaust dynamic memory.  The default is units=6.2 Restrictions5 FWTB does not support the following (which TKB does): - New map format - Overlaid programs - FORTRAN virtual arrays& - Production of symbol table files$ - Creation of resident libraries - Privileged tasks - Cluster librariesC FTB does support linking to shared regions (libraries and commons)> but not linking to clustered libraries. FTB does not support' building shared libraries or commonds.ww@m҂1 TKB I The Task Builder (TKB) is an RSX-X11M utility program which builds a taskJ image file from one or more object files. The task image may be a sharedG region or a task; the region does not have a header. The command line syntax is: B $ MCR TKB file.TSK[/sw],file.MAP[/sw],file.STB=file.OBJ[/sw],... or $ MCR TKB8 TKB>file.TSK[/sw],file.MAP[/sw],file.STB=file.OBJ[/sw] TKB>file.OBJ[/sw] TKB>/ ENTER OPTIONS: TKB>option TKB>option . . ./ TKB>// ! or / if another task is Yto be built < See the Switches subtopic for a list of available switches.: See the Options subtopic for a list of available options. G For information about the overlay description language that allows you2 to build an overlayed task, see the ODL subtopic.: The VMS LINK/RSX11 command also invokes the Task Builder. 2 SwitchesB Apply the following switches to input files or output files. The> description of each switch tells you where to use the switch. /AC Ancillary control pZrocessor  TKB> file.TSK/AC[:n]=file.OBJ 6 The /AC switch marks the task as an Ancillary ControlB Processor (ACP) and privileged. The variable n specifies the baseB relocation register and takes the values 0, 4, or 5. If n is not% specified, TKB assumes a value of 5.  The default is /-AC. /AL Allocate checkpoint space  TKB> file.TSK/AL=file.OBJ 1 The /AL switch marks the task as checkpointable.; TKB allocates the checkpoint space in the task image file.A The system [tries checkpointing into the dynamic checkpoint spaceD before using the task image space. If dynamic checkpointing is notD available, the system checkpoints the task into the task image file space.  The default is /-AL./CC Concatenate object modules  TKB> file.TSK=file.OBJ/CC B The /CC switch identifies the input file as a concatenated objectA module file. TKB includes all modules in the input file to form the task image. D /-CC tells TKB to process only the first \object module encountered.  The default is /CC./CM Compatible overlays  TKB> file.TSK/CM=file.OBJ D The /CM switch causes TKB to align memory-resident overlay segmentsB on 256-word boundaries for compatibility with mapping directives.  The default is /-CM./CO Build a common shared region  TKB> file.TSK/CO=file.OBJ or ,,file.STB/CO=file.OBJ ? /CO directs TKB to build a shared common. Use the /-HD switchA with the /CO switch. If used wit]h the /PI switch, TKB marks the@ common as relocatable. If used with the /-PI switch, TKB marks= the common as absolute. The /PI and /CO switches affect the contents of the .STB file.  There is no /-CO form./CP Checkpointable  TKB> file.TSK/CP=file.OBJ ? The /CP switch directs TKB to mark the task as checkpointable.B The system checkpoints the task into the system checkpoint file.   The default is /-CP./CR Add a global cross-reference # TKB> file.TSK,fil^e.MAP/CR=file.OBJ D The /CR switch tells TKB to append a global cross-reference listing to the .MAP file.  The default is /-CR./DA Add a debugging aid  TKB> file.TSK/DA=file.OBJ or# TKB> file.TSK=file.OBJ,file.OBJ/DA D The /DA switch directs TKB to include a debugging aid into the taskE image. If you specify /DA after the .TSK filespec, TKB includes the1 On-line Debugging Tool (ODT) in your task image. B If you specify /DA on an input file, the .OBJ file to_ which it isF appended is a debugging aid and TKB transfers program control to that aid.  The default is /-DA./DL Default library # TKB> file.TSK=file.OBJ,file.OLB/DL C The /DL switch specifies a default library. The specified library G replaces LB0:[1,1]SYSLIB.OLB as the default library for the task-build operation.  The default is /-DL./EA Extended arthmetic element  TKB> file.TSK/EA=file.OBJ F The /EA switch informs TKB that the task uses the Exten`ded Arithmetic Element.   The default is /-EA./FP Floating point   TKB> file.TSK/FP=file.OBJ A The /FP switch informs TKB that the task uses the Floating Point Processor.  The default is /-FP. /FU Full search for symbols  TKB> file.TSK/FU=file.ODL/MP B The /FU switch directs TKB to search all co-tree overlay segmentsD for matching definitions or references when processing modules from the default library.  The default is /-FU. /HD Include tasak header - TKB> file.TSK/-HD,file.MAP,file.STB=file.OBJ or% TKB> file.TSK,,file.STB/-HD=file.OBJ C /-HD directs TKB to build the task without a header. Use /-HD for$ building shared regions or drivers. G This switch may be applied to either the task image file or the symbol$ definition file with equal results.  The default is /HD./ID I- and D-space task (11M-PLUS)  TKB> file.TSK/ID=file.OBJ @ The /ID switch informs TKB that the task uses both user I-spaceb APRs and user D-space APRs.  The default is /-ID./IP Task maps I/O page  TKB> file.TSK/PR/-IP=file.OBJ C The /-IP switch informs TKB that the task is over 12K and does not! require mapping to the I/O page.  The default is /-IP./LB Specify a library file # TKB> file.TSK=file.OBJ,file.OLB/LB or8 TKB> file.TSK=file.OBJ,file.OLB/LB[:mod1:mod2:...:mod8] > The /LB switch specifies an input file as an object library. F Without arguments, TKB searches tche library file to resolve undefinedF global references. TKB extracts modules that contain definitions for such references. A If modules are specified, TKB includes only these modules in theG task image. Up to eight such module specifications may be specified on the switch. /LI Build a library shared region  TKB> file.TSK/LI=file.OBJ or TKB> ,,file.STB/LI=file.OBJ D The /LI switch directs TKB to build a shared library. Use the /-HDA switch with the /LI sdwitch. The /-PI switch with the /LI switch@ causes an absolute library. The /PI switch with the /LI switchB causes a relocatable library. The /LI and /PI switch combinations affect the .STB file contents. & There is no /-LI form of this switch./MA Map file contents # TKB> file.TSK,file.MAP/MA=file.OBJ or$ TKB> file.TSK,file.MAP=file.OBJ/-MA @ The /MA switch includes in the .MAP file names of routines fromC SYSLIB, information from the .STB file of shared regions, and ferom@ the .OBJ file. When you apply /-MA to an .OBJ file, the switch= excludes global symbols from the .OBJ file in the .MAP file. A The default for an input file is /MA. The default for the memory allocation file is /-MA. /MM Memory management; 28 or 30K  TKB> file.TSK/MM[:n]=file.OBJ or TKB> file.TSK/-MM[:n]=file.OBJ B The /MM switch specifies that the target system (the one on whichB the task is to run) has memory management. Specify n as 28 or 30@ to indicate thef highest physical address in K-words of the task being built. @ The default is /MM if the building system has memory management and /-MM if it does not./MP  Specify ODL file  TKB> file.TSK=file.ODL/MP C The /MP switch specifies that the input file, rather than being anF object file, is an "ODL" file describing the overlay structure of theE task. TKB receives all input file specifications from the .ODL file.< The .ODL file contains statements in an Overlay Description Langguage. F For help with this overlay description language, see the TKB subtopic of ODL.   The default is /-MP./MU Multiuser task (RSX-11M-PLUS) 4 TKB> file.TSK/MU=file.OBJ (for RSX-11M-PLUS only) = The /MU switch specifies that your task is a multiuser task.  The default is /-MU./NM No diagnostic messages  TKB> file.TSK/NM=file.OBJ A The /NM switch directs TKB not to print two diagnostic messages: @ "Module module-name multiply defines P-sectiohn p-sect-name" and' "u Undefined symbols segment-name"  The default is /-NM./PI Relocatable task or region  TKB> file.TSK/PI=file.OBJ or$ TKB> file.TSK,,file.STB/PI=file.OBJ < The /PI switch specifies that the shared region being built: contains only position-independant code or data. Use /PI. with the /-HD switch for a common or library. = Append this switch to either the .TSK file or the .STB file. B The /PI switch alone, without /CO or /LI, builds ia shared common. 4 The default is /-PI, which builds a shared library./PM Post mortem Dump  TKB> file.TSK/PM=file.OBJ E The /PM switch sets a flag in the task that causes a Postmortem Dump; to be generated if the task terminates with an SST abort.   The default is /-PM./PR Privileged task  TKB>file.TSK/PR[:n]=file.OBJ A The /PR switch marks the task as privileged. The octal argumentE n specifies the first relocation register that maps the task. Valid>j values are 0, 4, and 5. Without n, TKB assumes a value of 5.  The default is /-PR. /RO Memory-resident overlays  TKB> file.TSK/RO=file.ODL D The /RO switch enables TKB to recognize the memory-resident overlay< operator (!). The task will have memory-resident overlays. < Specifying /-RO causes TKB to build disk-resident overlays.  The default is /RO./SE Sends to task  TKB> file.TSK/SE=file.OBJ F The /SE switch specifies that the task be allowed to receive kmessages@ by means of the SEND directive. The /-SE form inhibits queuing messages to your task.  The default is /SE./SG Segregate PSECTs  TKB> file.TSK/SG=file.OBJ D The /SG switch directs TKB to allocate virtual address space to allC read-write program sections before all read-only program sections.A With both the /SG and /SQ switches, TKB allocates space in input> order by access code. /-SG causes interleaved read-write and/ read-only sections, but in alphabetical ordler.  The default is /SG./SH Short map # TKB> file.TSK,file.MAP/SH=file.OBJ < The /SH switch directs TKB to produce the short form of the .MAP file.  The default is /SH./SL Slave task  TKB> file.TSK/SL=file.OBJ 7 The /SL directs TKB to mark your task as a slave to an initiating task.  The default is /-SL./SP Spool map output # TKB> file.TSK,file.MAP/SP=file.OBJ 5 The /SP switch directs TKB to spool the .MAP file to the line printer.m  The default is /SP./SQ  Sequential PSECT allocation  TKB> file.TSK/SQ=file.OBJ D The /SQ switch directs TKB to group program sections in input order3 by access code (read-write followed by read-only). A /-SQ directs TKB to construct the task with the program sections in alphabetical order.  The default is /-SQ./SS Selective search # TKB> file.TSK=file.OBJ,file.OBJ/SS or# TKB> file.TSK-file.OBJ,file.STB/SS or& TKB> file.TSK=file.OBJ,file.OLB/LB/SSn ? The /SS switch directs TKB to do a selective search for global< symbols. TKB does not include in its internal symbol table@ the input file global definitions unless a previously undefined! reference to the symbol exists.   The default is /-SS./TR Trace task  TKB> file.TSK/TR=file.OBJ D The /TR switch directs TKB to set the T-bit for the task and causes- a trace trap at the end of each instruction.  The deafult is /-TR. /WI Wide listing # TKB> file.TSKo,file.MAP/WI=file.OBJ 7 The /WI switch directs TKB to produce the .MAP file in 132-column format. /-WI produces an 80-column map.  The default is /WI./XH External header task  TKB> file.TSK/XH=file.OBJ F The /XH switch directs TKB to build the task with an external header.  No default for RSX-11M. B For RSX-11M-PLUS the default is /XH. Whether /XH is defaulted orD specified, or /-XH is specified, the INSTALL command /XHR switch in9 RSX-11M-PLUS overrides pthe use of the /XH switch in TKB. /XT Exit TKB after n errors  TKB> file.TSK/XT[:n]=file.OBJ 3 The /XT switch directs TKB to exit after n errors.& Specify n in either octal or decimal.* If you do not specify n, TKB assumes a 1.  The default is /-XT. 2 Options 3 ABORT  ABORT=n + ABORT directs TKB to abort the task build. 9 Use ABORT when you discover that an earlier error in the8 command sequence will cause TKB to function incorrectly8 When TKB recognqizes ABORT, it stops accepting input and< restarts at the beginning to allow you to reenter commands.  n1 Any integer value. TKB ignores it but requires it for syntax only.3 ABSPAT . ABSPAT=segmentname:address:val1:val2:...:val8 > ABSPAT declares a series of patches starting at the specified6 base address. Up to eight patch values can be given. segmentname3 A 1- to 6-character Radix-50 name of the segment.  address8 The octal address of the first patch. The arddress may6 be on a byte boundary; however, two bytes are always1 modified for each patch: the addressed byte and the following byte. val1...val8. Octal numbers in the range 0 to 177777 to be1 stored at the appropriate addresses. The value3 val1 is stored at the specified address; val2 is6 stored at the specified address + 2; val3 is stored. at the specified address + 4:; and so forth.3 ACTFIL  ACTFIL=file-max : ACTFIL declares the maximum number of files that sthe task; can have open simultaneously. TKB allocates approximately 512 bytes for each active file. : If a task uses less than four active files (the default),; the ACTFIL option can save space. If the number of active8 files is more than four, you must use the ACTFIL option# to make the additional allocation. file-max1 A decimal integer indicating the maximum number- of files that can be open at the same time.  The default is ACTFIL=4.3 ASG . ASG=devicename:untitnum1:unitnum2:...:unitnum8 < ASG declares the physical device that is assigned to one or more logical units. devicename. A 2 character alphabetic device name followed) by a 1- to 3-digit decimal unit number. unitnum1...7 Decimal integers indicating the logical unit numbers. + The default is ASG=SY0:1:2:3:4,TI0:5,CL0:63 CLSTR B The CLSTR option allows a task to dynamically map memory-resident> shared regions at run time. One task address window maps the7 libra uries into the same span of virtual address space. D You must follow several rules when designing and building shareable' clustered libraries. These rules are: @ 1. All libraries but the default are required to be built with resident overlaysB 2. All interlibrary references are resolved directly through the user taskC 3. Revectored entry point symbols must not appear in the upstream .STB fileB 4. A called library procedure must not require parameters on the svtack< 5. All libraries must be PIC or built for the same address? 6. Trap or asynchronous entry into a library is not permitted  A After building the individual libraries and placing the .TSK andB .STB files for all the libraries into the LB:[1,1] directory, youA may build your task. The TKB option line that you must use for $ your task has the following syntax: 6 CLSTR=library_1,library_2,...library_n:switch:apr library_n F The first specification denotes the f wirst or the default library,E which is the library to which the task maps when the task starts5 up and remaps after any call to another library. D The total number of libraries to which a task may map is seven.D The number of the component libraries in clusters is limited to? a maximum of six. A cluster must contain a minimum of twoG libraries. It is possible to have two clusters of three librariesE each or three clusters of two libraries each; any combinati xon ofG number of clusters and libraries must equal six. If six librariesH are used in clusters, the task may map to only one other, separate, library. :switch:apr F The switch :RW or :RO indicates whether the cluster is read-onlyF or read-write for this particular task. The APR specification isF optional and indicates which APR is to be used as the startingF APR when mapping to cluster libraries. If not specified, TKBF assigns the highesty available APRs and as many as required to map the library.3 CMPRT CMPRT=name  (RSX-11M-PLUS only); CMPRT identifies to TKB both the task as a supervisor-mode: library and the completion routine that the library uses.? The library uses the routine to return control to your program in user mode. 1 Two completion routines are available in SYSLIB: > 1. $CMPCS restores only the carry bit in the user-mode PS D 2. $CMPAL restores all the condition code bits zin the user-mode PS name/ A 1- to 6-character Radix-50 name identifying the completion routine.3 COMMON  COMMON=name:access-code[:apr] > COMMON and LIBR are functionally identical to TKB. They both> declare that the task intends to access a system-owned shared< region. However, by convention, COMMON identifies a shared= region that contains data only, and LIBR identifies a shared region that contains code only. : System-owned is a definition given to a file {that resides< in UFD [1,1] on device LB: along with its associated symbol6 definition file. Therefore, a system-owned common or. library is one that resides at that location.   name6 A 1- to 6-character Radix-50 name that specifies the9 common or library. TKB looks for the symbol definition> file with the same name as that of the common or library and3 with a .STB extension in UFD [1,1] on device LB:. access-code. The type of access (read-write or read-only)4 the task | requires. RW indicates read-write and RO indicates read-only.  apr2 An integer in the range of 1 to 7 that specifies5 the first APR that TKB is to reserve for the shared1 region. TKB recognizes apr for a mapped system3 only. You can specify it for relocatable regions1 only. TKB selects the highest available APR by8 default if you omit apr and the region is relocatable. 5 For an absolute shared region, its base address and6 the APR that maps it are determined by the} arguments- in the PAR option when the region is built. 8 In an RSX-11M-PLUS task that uses I- and D-space and a- common, the common is considered data only.7 The Executive maps the common with D-space APRs only.7 If the same task uses LIBR as an option for a region,9 the Executive maps the library with I-space and D-space APRs.3 EXTSCT  EXTSCT=psectname:extension 6 EXTSCT declares an extension in size for a p-section. G If the p-section has the attribute CON, t~he section is extended by theH specified number of bytes. If the p-section has the attribute OVR, theH section is extended only if the length of the extension is greater than the length of the p-section. psectname. A 1- to 6-character Radix-50 name specifying the p-section to be extended. extension5 An octal integer that specifies the number of bytes+ by which the p-section is to be extended.3 EXTTSK  EXTTSK=length @ EXTTSK declares the amount of additional memory to be allocated3 to the task when installed in a mapped system in a user-controlled partition. B The amount of memory available to the task is the sum of the task8 size plus the increment specified in the EXTTSK keyword. (rounded up to the nearest 32-word boundary).  length9 A decimal number in the range of 0 to 65,535 specifying6 the increase in task memory allocation (in words).3 FMTBUF  FMTBUF=maxformat A FMTBUF declares the length of internal working storage allocated6 for compiling format specifications at run time. The= length of this area must be equal to or exceed the number of4 bytes in the longest format string to be processed. maxformat 0 A decimal integer larger than the default that+ specifies the number of characters in the longest format specification.  The default is FMTBUF=132.3 GBLDEF  GBLDEF=symbolname:value 3 GBLDEF declares the definition of a global symbol. ? The symbol definition is considered absolute and overrides any( definition in the input object modules. symbolname* A 1- to 6-character Radix-50 name of the defined symbol.  value3 An octal number in the range 0 to 177777 assigned to the defined symbol.3 GBLINC / GBLINC=symbol-name,symbol-name,...,symbol-name symbol-name / The symbol to be included in the .STB file.  There are no defaults.3 GBLPAT 7 GBLPAT=seg-name:sym-name[+/-offset]:val1:val2:...:val8 ? GBLPAT declares a series of patch values starting at an offsetE relative to a global symbol. Up to eight patch values can be given. segmentname& A 1- to 6-character Radix-50 name of the segment. symbolname2 A 1- to 6-character Radix-50 name specifying the global symbol.  offset0 An octal number specifying the offset from the global symbol. val1...val85 Octal numbers in the range 0 to 177777 to be stored at the appropriate addresses.3 GBLREF  GBLREF=symbolname 1 GBLREF declares a global symbol reference, which6 originates in the root segment of the task. Use this8 keyword for memory-resident overlays of shared regions. symbol-name7 A 1- to 6-character name of a global symbol reference3 GBLXCL # GBLXCL=symbol1:symbol2:...:symbol8 9 GBLXCL directs TKB to exclude from the symbol definition; file of a supervisor-mode library the symbol(s) specified. @ It is important to exclude from the symbol definition file of aD supervisor- mode library a symbol that is defined in the library if: ? 1) The symbol represents an entry point to a routine that uses! the stack to pass parameters. ? 2) The routine is called from the user-mode task linked to the library G When the processor is switched from user to supervisor mode, two wordsG are pushed onto the stack. If a user-mode task is permitted to call aG routine in supervisor mode that uses the stack to pass parameters, theH two words pushed onto the stack will not be anticipated by the routine,G and both the called routine and the supervisor-mode completion routine will fail.3 LIBR  LIBR=name:access-code[:apr] > COMMON and LIBR are functionally identical to TKB. They both> declare that the task intends to access a system-owned shared< region. However, by convention, COMMON identifies a shared= region that contains data only, and LIBR identifies a shared region that contains code only. ? System-owned is a definition given to a common or library fileB that resides in UFD [1,1] on device LB: along with its associated symbol definition file.  name6 A 1- to 6-character Radix-50 name that specifies the9 common or library. TKB looks for the symbol definition> file with the same name as that of the common or library and3 with a .STB extension in UFD [1,1] on device LB:. access-code. The type of access (read-write or read-only)4 the task requires. RW indicates read-write and RO indicates read-o nly.  apr2 An integer in the range of 1 to 7 that specifies5 the first APR that TKB is to reserve for the shared5 region. TKB recognizes the APR for a mapped system3 only. You can specify it for relocatable regions1 only. TKB selects the highest available APR by8 default if you omit apr and the region is relocatable. 5 For an absolute shared region, its base address and6 the APR that maps it are determined by the arguments- in the PAR option when the region is built. 8 In an RSX-11M-PLUS task that uses I- and D-space and a- COMMON, the COMMON is considered data only.7 The Executive maps the COMMON with D-space APRs only.7 If the same task uses LIBR as an option for a region,9 the Executive maps the library with I-space and D-space APRs.3 MAXBUF  MAXBUF=maxrecord < MAXBUF declares the maximum record buffer size required for any file used by the task. > If the maximum record size exceeds the default buffer length,/ this option must be used to extend the buffer. maxrecord2 A decimal integer, larger than the default, that- specifies the maximum record size in bytes.  The default is MAXBUF=1323 ODTV  ODTV=symbolname:vectorlength ; ODTV declares a global symbol to be the address of the ODT; Synchronous System Trap vector. The global symbol must be/ defined in the main root segment of your task. symbolname7 A 1- to 6-character Radix-50 name of a global symbol. vectorlength3  A decimal integer in the range 1 to 32 specifying( the length of the SST vector in words.3 PAR  PAR=par-name[:base:length] 9 PAR specifies the partition for which the task is built. < In a mapped system, you can install your task in any system? partition or user partition large enough to contain it. In anD unmapped system, your task is bound to physical memory. Therefore,? you must install your task in a partition starting at the same@ memory address as that of the partition for which it was built. par-name The name of the partition.  base= The octal byte address defining the start of the partition. 5 On an unmapped system, the physical address must be specified. . On a mapped system, the base must be 0 for a, task or a 4K boundary for a shared region.  length9 The number of bytes (octal) contained in the partition. - In a mapped system, a length of 0 implies a system-controlled partition. < If the target syst em is mapped and you specify a partition4 length greater than that of your task, TKB extends3 your task's length to match the partition length.6 This action is equivalent to using the EXTTSK option to increase task memory. 3 If your task's size is greater than the specified< partition size, TKB generates the following error message: , TKB--*DIAG*--TASK HAS ILLEGAL MEMORY LIMITS C If you do not specify the base and length, TKB tries to obtain the? information from the system on which it is building your task.B If the partition resides in that system, TKB can obtain the base and length. C TKB binds the task to the addresses defined by the partition base.@ If the partition is user controlled, TKB verifies that the task4 does not exceed the partition length specification.  The default is PAR=GEN.3 PRI PRI=priority F PRI declares the priority at which the task executes. If you do not ? specify a priority when you install the task, the priority inA PRI is used. You cannot run a task at a priority higher than 506 unless it is installed or run under a privileged UIC. priority- A decimal integer in the range of 1 to 250.  The default is PRI=50.3 RESCOM " RESCOM=filespec/access-code[:apr] @ RESCOM and RESLIB are functionally identical; they both declare= that your task intends to access a user-owned shared region.: However, by convention, RESCOM identifies a shared region that contains only data. D The  term "user-owned" means that the resident common or library andC the symbol definition file associated with it can reside under any@ UFD that you choose. You can specify the UFD and the remaining9 portions of the filespec for RESCOM. You must not place' comments on the same line with RESCOM. filespec4 The memory image file of the resident common. The, filespec format is discussed in Chapter 1. access-code8 A code specified as RW (read/write) or RO (read/only),4 indicatin g the type of access required by the task.3 A privileged task can change data in or move data6 into a resident common even though the task has been- linked to the common with read-only access.  apr5 An integer in the range of 1 - 7 that specifies the0 first APR that you want TKB to reserve for the3 common. TKB recognizes the APR argument only for/ a mapped system. You can specify it only for2 position-independent shared regions. If the APR/ parameter is omitted and the shared region is/ position-independent, TKB selects the highest" available APR to map the region. 4 When a shared region is absolute, the base address6 of the region and the APR that maps it is determined4 by the arguments in the PAR option when the region is built. 5 In an RSX-11M-PLUS task that is built to use I- and0 D-space and a shared region specified with the4 RESCOM option, the common is considered to be data2 only. Therefore, the common is mapped with user D-space APRs only. NOTES 5 1. TKB expects to find a .STB file having the same7 name as that of the memory image file, and on the7 same device and under the same UFD as that of the memory image file. 6 2. Regardless of the version number you give in the7 filespec, TKB uses the latest version of the .STB file.  The defaults are:  UFD - current terminal UIC device - SY0: file type - .TSK file version - latest3 RESLIB " R ESLIB=filespec/access-code[:apr] 8 RESLIB and RESCOM are functionally identical; they both= declare that your task intends to access a user-owned shared< region. However, by convention, RESLIB identifies a shared region that contains only code. D The term "user-owned" means that the resident common or library andC the symbol definition file associated with it can reside under any@ UFD that you choose. You can specify the UFD and the remaining9 portions of the filespec for RESLIB. You must not place' comments on the same line with RESLIB. file-spec4 The memory image file of the resident common. The, filespec format is discussed in Chapter 1. access-code8 A code specified as RW (read/write) or RO (read/only),4 indicating the type of access required by the task.  apr6 An integer in the range of 1 to 7 that specifies the0 first APR that you want TKB to reserve for the3 common. TKB recognizes the APR argument only for/ a mapped system. You can specify it only for2 position-independent shared regions. If the APR/ parameter is omitted and the shared region is/ position independent, TKB selects the highest" available APR to map the region. 4 When a shared region is absolute, the base address6 of the region and the APR that maps it is determined4 by the arguments in the PAR option when the region is built. 5 In an RSX-11M-PLUS task that is built to use I- and, D-space and a shared region specified with. RESLIB, the library is considered to be code3 only. Therefore, the library is mapped with user I- and D-space APRs.  NOTES 5 1. TKB expects to find a .STB file having the same7 name as that of the memory image file, and on the4 same device and under the same UFD as those of the memory image file. 6 2. Regardless of the version number you give in the7 filespec, TKB uses the latest version of the .STB file.  The defaults are:  UFD - current terminal UIC device - SY0: file type - .TSK file version - latest3 RESSUP 4 RESSUP=filespec/[-]SV[:apr] (for RSX-11M-PLUS only) ? RESSUP declares that your task intends to access a user-owned,? supervisor-mode library. The term "user-owned" means that the< library and its .STB file can reside under any UFD that you> choose. You must not place comments on the line with RESSUP. = When CMPRT and RESSUP appear in a command sequence together, CMPRT must be specified first. filespec: The name of the memory image file of the supervisor-mode library.  /[-]SV/ The code SV for supervisor vectors or -SV for0 no supervisor vectors. If you specify SV, TKB/ replaces calls to the supervisor-mode library: within your task with context switching vectors. If you, specify -SV, calls within your task to the7 supervisor-mode library are resolved directly and you4 must provide your own means for context switching.4 The elimination of supervisor vectors is useful if5 the supervisor-mode library contains threaded code.  apr/ An integer in the range 0 to 7 that specifies1 the first supervisor APR to be reserved for the: library. The default is the lowest available APR.  The defaults are: UFD - current terminal UIC device - SY0: filetype - .TSK fileversion - latest3 ROPAR ' ROPAR=parname (for RSX-11M-PLUS only) 7 ROPAR specifies the partition into which the read-only, portion of your multiuser TKB is to reside.  parname. The partition name into which the read-write" portion of the task will reside.3 STACK  STACK=stacksize = STACK declares the maximum size of the stack required by the task. F The stack is an area of memory used for temporary storage, subroutineB calls, and synchronous trap service linkage. Hardware register 6 references the stack. stacksize2 A decimal integer specifying the number of words required for the stack.  The default is STACK=256.3 SUPLIB 6 SUPLIB=filespec:[-]SV[:apr] (for RSX-11M-PLUS only) @ SUPLIB declares that your task intends to access a system-owned; supervisor-mode library. The term system-owned means that8 TKB expects to find the supervisor-mode library and the; .STB file associated with it under UFD [1,1] on LB:. When8 CMPRT and SUPLIB appear in a command sequence together, CMPRT must be specified first. filespec2 A 1- to 6-character Radix-50 name specifying  the4 system-owned supervisor-mode library. TKB expects9 to find a .STB file having the same name as the library under [1,1] on LB:.  :[-]SV4 The code SV for supervisor vectors or the code -SV4 for no supervisor vectors. If you specify SV, TKB6 replaces calls to the supervisor-mode library within3 your task with context-switching vectors. If you9 specify -SV, TKB resolves calls within your task to the7 supervisor-mode library directly and you must provide@ your own mode switching vector. The elimination of supervisorA vectors is useful if the supervisor-mode library contains threaded code.  apr3 An integer in the range 1 to 7 that specifies the1 first supervisor APR that TKB is to reserve the8 the library. The default is the lowest available APR.3 TASK  TASK=taskname @ TASK specifies the name of the task (that is, the name that the4 task will have when it is installed in the system). taskname9 A 1- to 6-character Radix-50 name identifying the task. B The default task name is the first 6 characters of the task image file name.3 TSKV  TSKV=symbolname:vectorlength < TSKV declares a global symbol to be the address of the task? SST vector. Define the global symbol in the main root segment of the task. symbolname' A 1- to 6-character Radix-50 name of a global symbol. vectorlength( A decimal integer in the range 1 to 323 specifying the length of the SST vector in words.3 UIC UIC=[g,m] > UIC declares the UIC for the task when you run it as a result" of a time-based schedule request.  g,m) Octal numbers (group and member) in the3 range of 1 to 377 or decimal numbers in the range2 of 1 to 255. A decimal point must follow decimal numbers.  5 The default UIC is the UIC that TKB is running under (normally the terminal UIC).3 UNITS  UNITS=maxunits ? UNITS declares the number of logical units that the task uses. maxunits8 A decimal integer in the range 0 to 250 specifying the5 maximum number of logical units. The UNITS keyword9 creates tables that require dynamic memory. Therefore,- large arguments can exhaust dynamic memory.  The default is units=6.3 VSECT - VSECT=psectname:base:window[:physicallength] > VSECT allows you to specify the virtual base address, virtual> length, and physical memory allocated to the named p-section. psectname+ A 1- to 6-character program section name.  base4 An octal value specifying the virtual base address2 of the program section in the range 0 to 177777.0 This value must be a multiple of 4K if mapping directives are to be used.  window9 An octal value specifying the amount of virtual address8 space in bytes allocated to the p-section. Base plus ! window must not exceed 177777.   physicallength2 An octal value specifying the minimum amount of4 physical memory to be allocated to the s ection in < units of 64-byte blocks. TKB rounds this value up to the : next 256-word limit. This value, when added to the task2 image size and any previous allocation, must not9 cause the total to exceed 2048K bytes. If unspecified, TKB assumes a value of 0.3 WNDWS  WNDWS=n = WNDWS declares the number of address windows required by theF task in addition to those needed to map the task image and any mappedH array or shared region. The number specified is equal to the number of1 simultaneously mapped regions the task will use.  n1 An integer in the range of 0 to 7 on an RSX-11M. system and 1 to 23 on an RSX-11M-PLUS system.  The default is WNDWS=0.2 ODL< The Overlay Description Language allows you to describe the< overlay structure of a task. You enter the language into a@ text file with a .ODL file-type. The text consists of a series? of directives with one directive per line. Each line can have< as many as 132 characters. You enter the name of this file= in a TKB command line. The file has a file-type of .ODL andA you identify the file with the /MP switch. This file can be the> only input file in the TKB command line. All the other filesB (object modules and libraries) can be described in the .ODL file.  The format for an ODL line is: ( label: directive argument-list ;comment , LABEL: only necessary in .FCTR directives. DIRECTIVES: .ROOT .END .FCTR .PSECT .NAME segname[,attr][,attr] OPERATORS: , - concatenate arguments (subtopic _HYPHEN)* , delimit overlay tree (subtopic _COMMA), ! memory-resident overlay (subtopic _BANG)$ () group segments (subtopic _PAREN)% * autoload segment (subtopic _STAR) 3 ROOT> Each overlay description must begin with the .ROOT directive.@ The .ROOT directive tells TKB where to start building the tree. For example:  .ROOT X-(Y,Z-(Z1,Z2)) .END where:D X, Y, Z, Z1, and Z2 represent input modules and libraries. @ In this example, the X module is the root (or control) segment.; The other modules (Y, Z, Z1, and Z2) are overlay segments.3 END8 Each overlay description in the .ODL file must end withH the .END directive. The .END directive tells TKB where the input ends. For example:  .ROOT ... .NAME ... .FCTR ... .END3 FCTR= You can build large complex overlay trees and represent them& clearly by using the .FCTR directive. = A reference in a .ROOT or other .FCTR statement can point to@ a label in a .FCTR statement. Thus, the .FCTR statement allowsA you to extend the overlay tree description beyond a single line.A The labelled .FCTR statement is additionally useful because only one .ROOT statement is allowed. 3 You can nest the .FCTR statement to a level of 16. , An example of using the .FCTR statement is:  .ROOT CNTRL-(AFCTR,BFCTR,C)" AFCTR: .FCTR A0-(A1,A2-(A21,A22)) BFCTR: .FCTR B0-(B1,B2) .END3 PSECT@ The .PSECT directive directly places the global program section= in the overlay structure where you want it. The name of the; program section and its attributes are given in the .PSECT= directive. You use the name in the .ROOT or .FCTR directive= to inform TKB where to put the psect. An example of the use of .PSECT follows:  .PSECT DATA3,RW,GBL,REL,OVR$ .ROOT CNTRL-DATA3-(AFCTR,BFCTR,C)# AFCTR: .FCTR A0-(A1,A2-(A21,A22)) BFCTR: .FCTR B0-(B1,B2) .END < In the example above, the psect DATA3 is placed in the root; of the overlay structure above the space allocated for the CNTRL module.3 NAME? The .NAME directive specifies a name and assigns attributes to6 a segment. The name must be unique; not a file name,: program-section name, .FCTR label, or other segment name. $ You can use the .NAME directive to: 0 1. Name uniquely a segment to be loaded through the manual load facility5 2. Permit a segment that does not contain executable5 code to be loaded through the autoload mechanism.   The .NAME directive format is:  .NAME segname[,attr][,attr]  segname7 A 1- to 6-character name that consists of the Radix-50' characters A to Z, 0 to 9, and $ only.  attr$ See the subtopics: [NO]GBL, [NO]DSK @ TKB does not attach the described attributes to a segment until? the name is used in a .ROOT or .FCTR statement that defines anB overlay segment. If you use multiple-segment names, TKB uses the# attribute s of the last name given. 4 Example E In the following example, you give names to the three main branches,C A0, B0, and C, by specifying them in the .NAME directive and usingC them in the .ROOT directive. The default attributes NOGBL and DSKF are in effect for BRNCH1 and BRNCH3, but BRNCH2 has the complementaryC attributes (GBL and NODSK) that cause TKB to enter the name BRNCH2B into the segment's global symbol table, and to suppress allocated disk space for the segment. .NAME BRNCH1 .NAME BRNCH2,GBL,NODSK .NAME BRNCH33 .ROOT CNTRL-!(BRNCH1-AFCTR,*BRNCH2-BFCTR,BRNCH3-C)" AFCTR: .FCTR A0-(A1,A2-(A21,A22)) BFCTR: .FCTR B0-*!(B1,B2) .END ! The asterisk indicates autoload.2 The exclamation point indicates memory residency.4 GBL9 Enters the name in the segment's global symbol table. 8 Enables the loading of nonexecutable segments by the autoload mechanism. 4 NODSK2 No allocated disk space for the named segment. 4 If a data overlay segment has no initial values,1 but will have its contents established by the3 running task, no space for the named segment on3 disk need be reserved. If the code attempts to2 establish initial values for data in a segment4 for which no disk space is allocated ( a segment7 with the NODSK attribute), TKB gives a fatal error. 4 NOGBL3 Name not entered in the segment's global symbol table. 1 If the GBL attribute is not present, NOGBL is assumed. 4 DSK3 named segment has disk storage allocated to it. , If NODSK is not present, DSK is assumed. 3 _HYPHENC The hyphen operator indicates the concatenation of virtual addressE space. For example, X-Y means that TKB allocates sufficient virtualA address space to contain module X and module Y at the same time.A TKB allocates segment X and segment Y in sequence to produce one segment.3 _BANGG The exclamation point operator indicates memory-residency of ov erlays.C Apply an exclamation point immediately before the left parenthesisD enclosing the segments to be made memory resident. The exclamation@ point operator applies to that segment immediately to the rightA of the left parenthesis and those segments farther from the rootC on the same level with that segment. In other words, all parellel- segments must be of the same residency type. = The operator applies to the first segment encountered withinF the parentheses; segments in parent heses nested within that level but( farther from the root are not affected. & Example: .ROOT A-!(B-!(C-D),E-(F-G)) @ In this example, B and E are on the same level emanating from A> and thus are memory resident as specified by the outermost !.= C and D are memory resident as specified by the inner !, and F and G are disk resident.3 _COMMAF The comma operator indicates the overlaying of virtual address space.G For example, (X,Y) means that virtual address space can contain eitherC segment X or segment Y. If no exclamation point precedes the left: parenthesis, segments X and Y also share physical memory. > Including the comma operator outside all parentheses delimitsF overlay trees. The first overlay tree thus defined is the main tree. For example: .ROOT X,Y X: .FCTR X0-(X1,X2,X3) Y: .FCTR Y0-(Y1,Y2) .END 0 Two overlay trees are specified in the example: 8 1. A main tree containing the root segment X0 and three overlay segments 3 2. A co-tree consisting of root segment Y0 and two overlay segments @ A co-tree must have a root to establish linkage between its own7 segments. However, the co-tree may be of zero length.3 _PARENE You use parentheses to delimit a group of segments that start at theA same virtual address. The number of nested parenthetical groups cannot exceed 16.3 _STARB The autoload indicator marks as autoloadable the segment or other? task element. If you apply the autoload indicator immediatelyA before an ODL statement enclosed in parentheses, TKB marks everyB task element within the parentheses as autoloadable. Placing the@ autoload indicator at the outermost level of parentheses in the> ODL description marks every module in the overlay segments as autoloadable. ww ype codes for mailboxes (MSG$_...). 3 MSGTYPDEF2 Module (MSGTYPDEF) of SYS$LIBRARY:LCLPASDEF.TLB.C MSGTYPDEF defines the ACNET message type code symbols for PASCAL. A HDR_K_LENGTH gives the length of the message header in bytes3 MSG_K_REPLY gives the Reply message type code% MSG_K_RPY same as MSG_K_REPLY5 MSG_K_REQUEST gives the Request message type code' MSG_K_REQ same as MSG_K_REQUESTA MSG_K_UNSOLIC gives the Unsolicited Special Message type code' MSG_K_USM same as MSG_K_UNSOLIC 3 $MTDEF-Module ($MTDEF) of SYS$LIBRARY:LCLPASDEF.TLB..Defines magtape device status bits and fields. 3 $NAMDEF.Module ($NAMDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMSName Block (NAM). 3 $NETAGS_DEF4 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLPASDEF.TLB.C $NETAGS_DEF defines symbolic names for ACNET Global Status values returned by the ACNET network. 3 $NET_DEF1 Module ($NET_D EF) of SYS$LIBRARY:LCLPASDEF.TLB.? $NET_DEF defines symbolic names for the VAX/VMS ACNET network! condition codes (signal names). 3 NODEDEFS1 Module (NODEDEFS) of SYS$LIBRARY:LCLPASDEF.TLB.2 Files NODEDEFS.PAS in SYS$LIBRARY: and RSX$LIB:.> NODEDEFS defines symbolic names for the ACNET logical nodes. ? Nodes should always be specified symbolically though for ease= of verifying conversions (ODT) some node definitions may be? computed based on the MAC number used on the XEROX systems by' adding the following decimal offsets: # Booster: add 30 to old MAC number8 MR/SY: add 30 to old MAC number (includes Beam Lines)( SCRUB System: add 50 to old MAC number 3 $OPCDEF.Module ($OPCDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines offset constants and type code symbols the*send-to-operator ($SNDOPR) system service. 3 $OPCMSG.Module ($OPCMSG) of SYS$LIBRARY:LCLPASDEF.TLB.=Defines symbolic names for the OPCOM status codes (OPC$_...). 3 $PQLDEF.Module ($PQLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines names for quota codes used with the $CREPRC service. 3 $PRCDEF-Module ($PRCDEF) of SYS$LIBRARY:LCLPASDEF.TLB8Defines bits of the status flag argument of the $CREPRC system service.3 $PRDEF-Module ($PRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.9Defines names for the processor registers and sub-fields. 3 $PRVDEF-Module ($PRVDEF) of SYS$LIBRARY:LCLPASDEF.TLB,Defines bit offsets for privileges quadword. 3 $PSLDEF.Module ($PSLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.Defines access code constants. 3 $RABDEF.Module ($RABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMSRecord Access Block (RAB). 3 REQRPYFLG2 Module (REQRPYFLG) of SYS$LIBRARY:LCLPASDEF.TLB.B REQRPYFLG defines the symbolic names for PASCAL of the bit masksE for the Request and Reply option flags used in the NET_SEND_REQUEST. and NET_SEND_REPLY network service routines.  The options are: 2 ENDMULT;  Mask for the end-multiple-reply bit in the reply options.? Used to terminate a multiple-reply request from the replier's end. Also known as EMR. 2 FCPASTB Mask for the enable first-packet-AST bit in the request options.B Used to enable delivery of a reply AST whenever the first packet= (in the chronological sense) has been moved into the user's reply buffer. 2 LOCKED> Mask for the buffer-remains-locked bit in the reply options.8 Used to override the receive buffer unlock done in the= NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 2 MULTRPY9 Mask for the multiple reply bit in the request options.A Used to indicate a request to which more than one reply message( is to be returned. Also known as MLT. 2 NOBSYWT7 Mask for the no-busy-wait bit in the request options.: Used to fail a request (return status-only reply) if the< destination task is busy with another message. Also known as NBW. 3 $RMSDEF.Module ( $RMSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.5Defines symbols for the RMS status values (RMS$_...). 3 $RSC_DEF1 Module ($RSC_DEF) of SYS$LIBRARY:LCLPASDEF.TLB.E $RSC_DEF defines symbolic names for the reply status codes returnedC in the reply message header and the reply status byte of the User Ast Block. 3 $SCRDEF.Module ($SCRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.DDefines constant used by the terminal independent screen positioningAroutines, particularly returned information from LIB$SCREEN_INFO. 3 $SECDEF.Module ($SECDEF) of SYS$LIBRARY:LCLPASDEF.TLB..Defines constants and bit masks for global and private section system services.3 $SFDEF-Module ($SFDEF) of SYS$LIBRARY:LCLPASDEF.TLB.1Defines offset constants and bits in stack frame. 3 $SHRDEFC SYS$LIBRARY:LCLPASDEF($SHRDEF) defines symbols for shared message codes. E These message codes should not be used directly by a facility sinceE they do not contain a subsystem (facility) identifier or a severity? code. Use the following formula to calculate actual facility message codes: 2 facility-message-code = common-message-code +2 facility-id * 65536 +* severity-code 3 $SMRDEF.Module ($SMRDEF) of SYS$LIBRARY:LCLPASDEF.TLB.BDefines the symbiont manager request and option codes for use with>the $SNDSMB system service. Also defines offset constants forthe request message buffer.3 $SSDEF/ Module ($SSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.= Defines symbolic constants (SS$_...) system condition codes and completion status values. 3 $STATEDEF0Module ($STATEDEF) of SYS$LIBRARY:LCLPASDEF.TLB."Defines process scheduling states. 3 $STSDEF.Module ($STSDEF) of SYS$LIBRARY:LCLPASDEF.TLB.=Defines offsets of the condition code fields and the severitycode constants. 3 $SYIDEF.Module ($SYIDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines item codes for the $GETSYI system service.3 $TTDEF-Module ($TTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.4Defines symbolic names for terminal characteristics. 3 UABFLGDEF2 Module (UABFLGDEF) of SYS$LIBRARY:LCLPASDEF.TLB.B UABFLGDEF defines the symbolic names (for PASCAL) of the bit andC field masks, bit offsets, and field sizes of the UAB_B_FLAGS byte8 and the request_flags and reply_flags arguments of the: NET_CHECK_xxx and NET_WAIT_xxx network service routines. E The UAB_V_name symbols give the bit offsets (bit number relative toB bit 0 of UAB_B_FLA GS) of the bit or field named. The UAB_M_nameG symbols give the masks for the bits or fields (used in bit-wise .AND.C operations) for the named bits or fields. The UAB_S_name symbolsA give the sizes, in bits, of the named fields. The UAB_K_LENGTH; symbol gives the length, in bytes, of the user AST block. 2 FieldsD MSGTYPE is the message type code field. Only used with requests.  2 Bits@ 1STPKT bit indicates that this reply AST is the first packet= AST (de clared after the first chronological packet= of the message has been stored in the user's reply0 buffer). Only used with reply AST's.> CANCEL bit indicates that the outstanding request has been= cancelled and no more replies should be generated. Only used with requests.% MULTRPY is the multiple reply bit.@ TOOLONG bit indicates that the message ws truncated to fit in the specified buffer. 3 $XABALLDEF1Module ($XABALLDEF) of SYS$LIBRARY:LCLPASDEF.TLB.;Defines offset constants and other values of the VAX-11 RMS-allocation extended attribute block (XABALL). 3 $XABDATDEF1Module ($XABDATDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS0date and time extended attribute block (XABDAT). 3 $XABDEF.Module ($XABDEF) of SYS$LIBRARY:LCLPASDEF.TLB.5Defines offset constants common to all the VAX-11 RMS extended attribute (XAB) blocks. 3 $XABFHCDEF1Module ($XABFHCDEF) of  SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS?file header characteristics extended attributes block (XABFHC). 3 $XABKEYDEF1Module ($XABKEYDEF) of SYS$LIBRARY:LCLPASDEF.TLB.8Defines offset constants and other values for VAX-11 RMS0key definition extended attribute (XABKEY) block 3 $XABPRODEF1Module ($XABPRODEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS@file protection and ownership extended att ribute (XABPRO) block. 3 $XABRDTDEF1Module ($XABRDTDEF) of SYS$LIBRARY:LCLPASDEF.TLB.2Defines constants for the VAX-11 RMS revision date*and time extended attribute block (XABRDT) 3 $XABSUMDEF1Module ($XABSUMDEF) of SYS$LIBRARY:LCLPASDEF.TLB.<Defines offset constants and other values for the VAX-11 RMS7indexed file summary extended attribute (XABSUM) block.ww