/* This file is a part of Amitory */ l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit if AddLibrary("rexxsupport.library","rxsocket.library")~=0 then exit address AMITORY 'text ID STAT label Refreshing user...' parse arg iptil if left(iptil,1) = 0 then iptil = right(iptil,2) if left(iptil,1) = 0 then iptil = right(iptil,1) open(FIF,'env:amitory/amitor.bcast',read) broadcastaddr = readln(FIF) close(FIF) open(FIE,'env:amitory/amitor.port',read) Udpport = readln(FIE) close(FIE) aaa = broadcastaddr aab = pos('.',aaa) aac = pos('.',aaa,aab+1) aad = pos('.',aaa,aac+1) aae = left(aaa,aad) eksternaddr = ''aae''iptil'' remote.addrFamily = "INET" remote.addrAddr = eksternaddr remote.addrport = udpport local.addrport = 0 local.addrFamily = "INET" local.addrAddr = 0 sock = socket("INET","DGRAM","IP") res = setsockopt(sock,"SOCKET","BROADCAST",1) bind(sock,"LOCAL") meld = hei socketaddr_in = eksternaddr sin.addrfamily = "INET" sin.addrport = udpport sin.addraddr = eksternaddr se.serverport = udpport data = 'r' ipnr = 0 if iptil = 'nystart' then do address AMITORY 'list id USERS string ' iptil = 'start' end if iptil = 'start' then do address AMITORY 'text ID STAT label Searching for users...' delay(50) do forever delay(7) if exists('t:amitor.log') then call venting() address AMITORY 'text ID STAT label Searching IP 'ipnr'/254' ipnr = ipnr + 1 if ipnr >= 255 then do closesocket(sock) delay(20) address command 'copy env:amitory/Amitory#? envarc:amitory/ >nil:' address AMITORY 'text ID STAT label Amitory running' exit end remote.addraddr = ''aae''ipnr'' SendTo(sock,data,0,"REMOTE") end address AMITORY 'text ID STAT label Amitory running' end else do delay(30) remote.addraddr = eksternaddr say eksternaddr SendTo(sock,data,0,"REMOTE") closesocket(sock) address AMITORY 'text ID STAT label Amitory running' exit end exit venting: delay(60) do forever if exists('t:amitor.log') then do delay(60) end else do return end end return