-- 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 <<ArpaRouter>> = ArpaTypes.InternetAddress;
unknown: InternetAddress = [0, 0];
myHostAddr, myGateWayAddr, mySubnetMask, myNameServer:
InternetAddress ← unknown;
GetArpaInitInfo: PUBLIC <<ArpaInit>> PROCEDURE RETURNS
[hostAddr, gateWayAddr, subnetMask, nameServer: InternetAddress] =
{RETURN[myHostAddr, myGateWayAddr, mySubnetMask, myNameServer]};
SetArpaInitInfo: PUBLIC <<ArpaInit>> 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.