.IDENT SHELL MACRO ROUTINES FOR THE SHELL .SBTTL GETPID RETURN CURRENT PID $JPIDEF ; GETJPI symbols .PSECT DATA,RD,WRT,NOEXE ITMLST: .WORD 4 .WORD JPI$_PID .LONG PID .LONG 0 .LONG 0 PID: .BLKL 1 .PSECT CODE,RD,NOWRT,EXE .ENTRY GETPID,^M<> $GETJPI_S ITMLST=ITMLST ; Get PID MOVL PID,@4(AP) ; Return it to user RET ; Return to caller .SBTTL USEROPEN FORTRAN USER OPEN $FABDEF ; FAB fields $XABDEF ; XAB fields $XABPRODEF ; XABPRO fields .PSECT DATA,RD,WRT,NOEXE XABPRO: $XABPRO,PRO= .PSECT CODE,RD,NOWRT,EXE .ENTRY USEROPEN,^M<> MOVL 4(AP),R0 ; FAB address MOVL FAB$L_XAB(R0),R0 ; XAB address MOVAL XABPRO,R1 ; New XAB address MOVL XAB$L_NXT(R0),- XAB$L_NXT(R1) ; Chain in MOVL R1,XAB$L_NXT(R0) ; new XAB $CREATE FAB=@4(AP) ; Create file BLBC R0,10$ ; Branch if error $CONNECT RAB=@8(AP) ; Connect RAB 10$: RET ; Return to caller .END