Metropoli BBS
VIEWER: ntp.cmd MODE: TEXT (ASCII)
/* REXX NTP Client
   (C) 1993 by Steve Luzynski

   Revision history:
   V.1 - Initial Release

   This program requires the rxSock dll function library, available
   anywhere IBM EWS is found.
*/

trace on

/* setup socket package */
if RxFuncQuery("SockLoadFuncs") then
do
  rc = RxFuncAdd("SockLoadFuncs", "RxSock", "SockLoadFuncs")
  rc = SockLoadFuncs()
end

/* get ntp server address */
rc = SockGetHostByName("slc13.ins.cwru.edu", "host.!")
if (rc = 0) then
do
  say "Unable to resolve name of ntp server."
  exit
end

server = host.!addr

/* open a socket to the server */
sock = SockSocket("AF_INET", "SOCK_STREAM", "IPPROTO_TCP")
if (sock = -1) then
do
  say "Error opening socket: " errno
  exit
end

/* connect to server */
server.!family = "AF_INET"
server.!port   = 13
server.!addr   = server

rc = SockConnect(sock, "server.!")
if (sock = -1) then
do
  say "Error connecting socket: " errno
  exit
end

rc = SockRecv(sock, "data", 8000)

parse var data d1 d2 d3 d4 d5

say "Time set to" d4

time d4

rc = SockSend(sock, "quit")
rc = SockSoClose(sock)
exit




[ RETURN TO DIRECTORY ]