/* 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 Joining...'*/ open(FIF,'env:amitory/amitor.bcast',read) broadcastaddr = readln(FIF) close(FIF) open(FIE,'env:amitory/amitor.port',read) Udpport = readln(FIE) close(FIE) remote.addrFamily = "INET" remote.addrAddr = broadcastaddr 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") socketaddr_in = broadcastaddr sin.addrfamily = "INET" sin.addrport = udpport sin.addraddr = broadcastaddr se.serverport = udpport open(FIA,'env:amitory/amitor.nick',read) Jnick = readln(FIA) close(FIA) open(FIB,'env:amitory/amitor.name',read) Jname = readln(FIB) close(FIB) open(FIC,'env:amitory/amitor.join',read) Jjoin = readln(FIC) close(FIC) open(FID,'env:amitory/amitor.status',read) Jstatus = readln(FID) close(FID) open(FIJ,'t:amitor.current',read) Jcurrent = readln(FIJ) close(FIJ) joina = '02 00 00'x joinlen = d2c(length(Jnick)) JNick = left(Jnick,20,'00'x) joinb = ''joinlen''Jnick'' joinlen = d2c(length(Jname)) Jname = left(Jname,40,'00'x) joinc = ''joinlen''Jname'' joinlen = d2c(length(Jjoin)) Jjoin = left(Jjoin,90,'00'x) joind = ''joinlen''Jjoin'' joinlen = d2c(length(Jstatus)) Jstatus = left(Jstatus,249,'00'x) joine = ''joinlen''Jstatus'' joinf = Jcurrent joing = '00 00 00 00 00 00 00'x joinh = '00'x joinh = left(joinh,261,'00'x) joinm = 'J'joina''joinb''joinc''joind''joine''joinf''joing''joinh'' data = joinm SendTo(sock,data,0,"REMOTE") delay(200) a = '00'x b = 'G' data = ''b''a'' /*address AMITORY 'text ID STAT label Amitory running'*/ do forever open(SJE,'t:amitor.sjekk',read) a = readln(sje) close(sje) if a = '5' then do portami = Openport(AMITORY) if portami ~= 0 then do closeport(AMITORY) address command 'run <>nil: rx amitory:data/amitory_leave.rx' closesocket(sock) EXIT end else do sendto(sock,data,0,"REMOTE") delay(300) end end else do closesocket(sock) exit end end