<> <> <<-- Facilities for translating between names and Internet addresses.>> <> <> <> <> <> DIRECTORY IPDefs USING [Address], Rope USING [ROPE]; IPName: CEDAR DEFINITIONS = BEGIN NameState: TYPE = {bogus, down, aliasOk, mxOk, nameOk}; AddressState: TYPE = {bogus, down, addressOk}; <> LoadCacheFromName: PROC [name: Rope.ROPE, takeOld, needAddress: BOOL _ FALSE] RETURNS [state: NameState]; <<>> <> <> LoadCacheFromAddress: PROC [address: IPDefs.Address, takeOld: BOOL _ FALSE] RETURNS [state: AddressState]; <> NameToAddress: PROC [name: Rope.ROPE, mail: BOOL _ FALSE] RETURNS [addresses: LIST OF IPDefs.Address]; <<>> <> <> NameToMXHostList: PROC [name: Rope.ROPE] RETURNS [hosts: LIST OF Rope.ROPE]; <<>> <> AddressToName: PROC [address: IPDefs.Address] RETURNS [Rope.ROPE]; <<>> <> AddressToRope: PROC [address: IPDefs.Address] RETURNS [Rope.ROPE]; NormalizeName: PROC [name: Rope.ROPE] RETURNS [Rope.ROPE]; <<>> <> <<>> <<>> <<>> ExternalSourceCache: TYPE = {nameCache, aliasCache, mxCache, bogusNameCache, addressCache, bogusAddressCache, zoneCache}; Source: PROC [name: Rope.ROPE, type: ExternalSourceCache] RETURNS [server: Rope.ROPE]; <> <<>> END.