From: labadie [labadie.gerard@wanadoo.fr] Sent: Tuesday, October 16, 2001 3:57 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: DECNET ping equivalent? Hello I had already posted (2000/07/12) this decnet ping with my account palm6174 May be it should go in the freeware Enjoy Gérard Labadie $!'f$ver(0) $ SET NOON $ SET CONTROL=Y $ ON CONTROL_Y THEN GOTO FIN $ NETNODE_REM = F$TRNLNM("NETNODE_REMOTE") $ IF NETNODE_REM .EQS. "" THEN NETNODE_REM :=SYS$SYSTEM:NETNODE_REMOTE.DAT $ DEBUT: $ FLAG_OK = 1 $ NAME = P1 $ IF NAME .eqs. "" THEN goto HELP_FIN $ IF F$LOCATE(".",P1) .NE. F$LENGTH(P1) $ THEN $ FLAG_ADDR = 1 $ AREA = F$INTEGER(F$ELEMENT(0,".",P1)) $ IF AREA .GT. 63 THEN GOTO ERREUR_ADDR $ NUM = F$INTEGER(F$ELEMENT(1,".",P1)) $ IF NUM .GT. 1023 THEN GOTO ERREUR_ADDR $ ADDR = AREA*1024+NUM $ ADDH=ADDR $ NAME = " Address ''AREA'.''NUM' or ''addr' (dec)"+f$fao("!XW",addh)+" (hex)" $ ELSE $ FLAG_ADDR = 0 $ IF F$CVUI(0,8,P1) .GT. %X39 $ THEN $ ADDR = F$EXTRAC(0,6,P1) $ ELSE $ ADDR = F$INTEGER(P1) $ IF ( ADDR .EQ. 0 ) .OR. ( ADDR .EQ. 1 ) $ THEN $ ADDR = F$INTEGER(%X'P1') $ IF ( ADDR .EQ. 0 ) .OR. ( ADDR .EQ. 1 ) $ THEN $ ADDR = F$EXTRAC (0,6,P1) $ ELSE $ IF ( ADDR .GT. 65535 ) .OR. ( ADDR .LT.1 ) $ THEN $ GOTO ERREUR_ADDR $ ELSE $ AREA = ADDR/1024 $ NUM = ADDR-(AREA*1024) $ P1 = "''AREA'.''NUM'" $ GOTO DEBUT $ ENDIF $ ENDIF $ ELSE $ AREA = ADDR/1024 $ NUM = ADDR-(AREA*1024) $ P1 = "''AREA'.''NUM'" $ GOTO DEBUT $ ENDIF $ ENDIF $ ENDIF $ IF FLAG_ADDR $ THEN $ OPEN/READ/SHARE NETNODE 'NETNODE_REM' $ READ/KEY="''ADDH'"/ERROR=ERR_LEC NETNODE RECORD $ NODE_NAME = F$EXTRACT(2,6,RECORD) $ NAME = NODE_NAME + " Address ''p1' or ''addr' (dec)"+f$fao("!XW",addr)+" (hex $ ERR_LEC: $ CLOSE NETNODE $ ELSE $ OPEN/READ/SHARE NETNODE 'NETNODE_REM' $ READ/KEY="''ADDR'"/INDEX=1/ERROR=ERR_LEC1 NETNODE RECORD $ ADDH = F$CVUI(0,16,F$EXTRACT(0,2,RECORD)) $ NODE_NAME = F$EXTRACT(2,6,RECORD) $ AREA = ADDH/1024 $ NUM = ADDH-(AREA*1024) $ NAME = p1 + " Address ''AREA'.''NUM' or ''addr' (dec)"+f$fao("!XW",addh)+" (h $ ERR_LEC1: $ CLOSE NETNODE $ ENDIF $ DEFINE SYS$OUTPUT NL: $ DEFINE SYS$ERROR NL: $ A=F$FILE_ATT("''ADDR'::""1=""","ORG") $ STATUS = $STATUS $ DEASSIGN SYS$OUTPUT $ DEASSIGN SYS$ERROR $ IF STATUS .EQ. %X0000206C !%SYSTEM-F-REMRSRC, insufficient systemresources at $ THEN WRITE SYS$OUTPUT " ''NAME' insufficient system resources atremote node" $ ELSE IF STATUS .EQ. %X00000294 !REJECT $ THEN WRITE SYS$OUTPUT " ''NAME' is alive,but DECNET rejectconnection " $ ELSE IF STATUS .EQ. %X000020A4 ! NOSUSHOBJ $ THEN WRITE SYS$OUTPUT " ''NAME' is alive on DECNET " $ ELSE IF STATUS .EQ. %X0000028C ! NOSUSHNODE $ THEN FLAG_OK = 0 $ WRITE SYS$OUTPUT "''NAME'''F$ELEMENT(1,",",F$MESSAGE (status))" $ ELSE IF STATUS .EQ. %X00002094 ! UNREACHABLE $ THEN FLAG_OK = 0 $ WRITE SYS$OUTPUT "''NAME'''F$ELEMENT(1,",",F$MESSAGE (status))" $ ELSE $ WRITE SYS$OUTPUT "''NAME'''F$ELEMENT(1,",",F$MESSAGE (status))" $ ENDIF $ ENDIF $ ENDIF $ ENDIF $ IF ( FLAG_OK .AND. (F$EXTRAC(0,1,F$EDIT (P2,"UPCASE")) .EQS. "F")) THEN MC NCP $FIN: $ IF F$TRNLNM("SYS$OUTPUT") .EQS. "NL:" THEN DEASSIGN SYS$OUTPUT $ IF F$TRNLNM("SYS$ERROR") .EQS. "NL:" THEN DEASSIGN SYS$ERROR $ EXIT $ERREUR_ADDR: $HELP_FIN: $ WRITE SYS$OUTPUT "Address Error." $ WRITE SYS$OUTPUT "Please enter an node address : x.xxx or decimal form xxxxx $ WRITE SYS$OUTPUT " or enter the name of the node." $exit Steve.Spires@yellgroup.com wrote: > Contact: Tel: 3063 - IS - Infrastructure, 1st Floor, Bridge Street Plaza > > $ MC NCP > NCP> LOOP NODE nodename > > should work for you. > > Cheers > > Steve Spires > > "frank brown" on 10/16/2001 03:49:17 PM > > To: Info-VAX@Mvb.Saic.Com > cc: (bcc: Steve Spires/YellowPages) > From: "frank brown" , 16 October 2001, 3:49 > p.m. > > DECNET ping equivalent? > > Is there an equivalent to the unix ping for DECNET phase IV to test > connectivity to a remote node without using TCP/IP? I'm using DIR > NODE::DUAn:[DIR] but wonder if there's a cheaper way. > > -Frank Brown > http://www.inwa.net/~frog/