Everhart, Glenn From: LNUSSAT.JMALMBER@gmeds.com Sent: Thursday, February 18, 1999 11:52 AM To: Info-VAX@Mvb.Saic.Com Subject: Re: What UCX interface did I come in on ? Derek writes: >Or to put it another way, what IP address I connected to ? Something in the code below should give you the answer that you want. It assumes UCX and may not work with other TCP/IP programs. Feedback is welcomed. I use it for debugging command file problems. $ @WHATAMI The remote user is TELNET_945D5429 Access is INTERACTIVE The network transport used is: TCPIP The source node is: 189.168.40.28 The access type is: TELNET $ TYPE WHATAMI.COM $! File: WhatAmI.com $! $! This procedure attempts to determine what I am and where I came from $! and other usefull information $! $! 16-Aug-1994 J. Malmberg $! $!========================================================================= == $set noon $!SET VER $! $mode = f$mode() $dc_term = 66 $dc_mailbox = 160 $remote_user = "Unknown" $remote_node = "Unknown" $network = "unknown" $remote_type = "Unknown" $! $pid = f$getjpi("","pid") $temp_file = "WHATAMI_''PID'.TEMP" $! $! $if mode .eqs. "NETWORK" $then $! Am I TCP/IP or DECNET or Unknown $!------------------------------------- $ sys_net = f$trnlnm("SYS$NET") $ prefix_sys_net = f$element(0,":",sys_net) $ TT = f$trnlnm("TT") $ remote_user = f$trnlnm("SYS$REM_ID") $ len = f$length(prefix_sys_net) $ if f$extract(len,2,sys_net) .eqs. "::" $ then $! Decnet Parsing $!--------------------- $ network = "DECNET" $ remote_node = f$trnlnm("SYS$REM_NODE") $ remote_type = "OBJECT" $! $ else $! TCP/IP parsing $!-------------------- $ bg_dev = f$getdvi(prefix_sys_net,"devnam") - "_" $ bg_unit = f$getdvi(bg_dev,"unit") $ dev = bg_dev - "''bg_unit'" $ if dev .eqs. "BG:" $ then $! TCP/IP (UCX) Confirmed $!---------------------------------- $ network = "TCPIP" $ if f$search(temp_file) .nes. "" then delete 'temp_file';* $ def/user sys$output 'temp_file' $ UCX SHOW DEV 'BG_DEV' $ open/read/end=tcp_loop1_end tcp 'temp_file' $tcp_loop1: $ read/end=tcp_loop1_end tcp line_in $ line_in = f$edit(line_in,"COMPRESS,UPCASE,TRIM") $ dev = f$element(0," ",line_in) + ":" $ if dev .nes. bg_dev then goto tcp_loop1 $ remote_type = f$element(4," ",line_in) $ remote_node = f$element(5," ",line_in) $tcp_loop1_end: $ close tcp $ if f$search(temp_file) .nes. "" then delete 'temp_file';* $ endif $ endif $endif $! $! $if mode .eqs. "INTERACTIVE" $then $ if f$getdvi("tt","exists") $ then $ tt_accpornam = F$GETDVI("TT:","TT_ACCPORNAM") $ tt_disconnect = f$getdvi("tt","tt_disconnect") $ tt_phydevnam = f$getdvi("tt","tt_phydevnam") $ dev = f$extract(0,3,tt_phydevnam) - "_" $ if tt_accpornam .eqs. "" $ then $! $! I am local/X-TERM $!---------------------------- $ if dev .eqs. "FT" .or. dev .eqs. "TW" $ then $! $! I am a Decwindow $!-------------------------------- $ wsannn = f$trnlnm("DECW$DISPLAY") $ if wsannn .nes. "" $ then $ if dev .eqs. "FT" then remote_type = "MOTIF" $ if dev .eqs. "TW" then remote_type = "DECWINDOWS" $ if f$getdvi(wsannn,"exists") $ then $ define/user sys$output nl: $ show display/symbol $ remote_node = DECW$DISPLAY_NODE $ remote_screen = DECW$DISPLAY_SCREEN $ remote_server = DECW$DISPLAY_SERVER $ network = DECW$DISPLAY_TRANSPORT $! remote_user = f$trnlnm("SYS$REM_ID") $ endif $ endif $ else $! $! Local? $!-------------------- $ network = "LOCAL" $ if tt_disconnect $ then $ remote_node = tt_phydevnam $ remote_user = "" $ endif $ remote_type = "DIRECT" $ tt_modem = f$getdvi("tt","tt_modem") $ if tt_modem $ then $ remote_type = "SWITCHED" $ endif $ tt_dialup = f$getdvi("tt","tt_dialup") $ if tt_dialup $ then $ remote_type = "MODEM" $ endif $ endif $ else $! $! I am remote $!--------------------- $ if dev .eqs. "LT" $ then $ network = "LAT" $ node = f$element(0,"/",tt_accpornam) $ if node .nes. tt_accpornam $ then $ port = f$element(1,"/",tt_accpornam) $ remote_user = port $ if f$locate("UIC_",port) .eq. 0 $ then $ remote_type = "SET HOST/LAT" $ else $ remote_type = "DECSERVER" $ endif $ else $ remote_type = "Generic LAT" $ remote_user = tt_accpornam $ endif $ endif $ if dev .eqs. "TN" $ then $ network = "TCPIP" $ remote_user = f$trnlnm("SYS$REM_ID") $ temp = f$edit(tt_accpornam,"compress") $ remote_node = f$element(1," ",temp) $ port = f$element(3," ",temp) $ remote_type = "RLOGIN" $ if f$locate("TELNET_",remote_user) .eqs. 0 $ then $ remote_type = "TELNET" $ endif $ endif $ if dev .eqs. "RT" $ then $ network = "DECNET" $ remote_type = "SET HOST" $ remote_node = f$trnlnm("SYS$REM_NODE") $ remote_user = f$trnlnm("SYS$REM_ID") $ endif $ endif $ endif $! $endif $if mode .eqs. "OTHER" $then $ if f$trnlnm("SMI$NETMBX") .nes. "" $ then $ remote_type = "SYSMAN" $ endif $endif $! $! $! Write out the information $!--------------------------- $! $write sys$output "The remote user is ''remote_user'" $write sys$output "Access is ''mode'" $write sys$output "The network transport used is: ''network'" $write sys$output "The source node is: ''remote_node'" $write sys$output "The access type is: ''remote_type'" $!