-- File: ArpaInitImpl.mesa - last edit: -- AOF 12-Mar-87 18:38:01 -- JAV 26-Feb-87 11:20:59 -- Copyright (C) 1987 by Xerox Corporation. All rights reserved. DIRECTORY ArpaAddressTranslationPriv USING [StringToInternetAddressPriv], ArpaHostTable USING [ParseHostsFile], ArpaInit USING [], ArpaRouter USING [], ArpaTypes USING [InternetAddress], Stream USING [Handle]; ArpaInitImpl: PROGRAM IMPORTS ArpaAddressTranslationPriv, ArpaHostTable EXPORTS ArpaInit, ArpaRouter = BEGIN InternetAddress: PUBLIC TYPE <> = ArpaTypes.InternetAddress; unknown: InternetAddress = [0, 0]; myHostAddr, myGateWayAddr, mySubnetMask, myNameServer: InternetAddress ¬ unknown; GetArpaInitInfo: PUBLIC <> PROCEDURE RETURNS [hostAddr, gateWayAddr, subnetMask, nameServer: InternetAddress] = {RETURN[myHostAddr, myGateWayAddr, mySubnetMask, myNameServer]}; SetArpaInitInfo: PUBLIC <> PROCEDURE [hostFileStream: Stream.Handle, hostAddr, gateWayAddr, subnetMask, nameServer: LONG STRING] RETURNS[BOOLEAN ¬ TRUE] = BEGIN myHostAddr ¬ ArpaAddressTranslationPriv.StringToInternetAddressPriv[hostAddr]; myGateWayAddr ¬ ArpaAddressTranslationPriv.StringToInternetAddressPriv[gateWayAddr]; mySubnetMask ¬ ArpaAddressTranslationPriv.StringToInternetAddressPriv[subnetMask]; myNameServer ¬ ArpaAddressTranslationPriv.StringToInternetAddressPriv[nameServer]; IF hostFileStream # NIL THEN RETURN[ArpaHostTable.ParseHostsFile[hostFileStream]]; END; END.