Copyright 1996-2000, Critical Mass, Inc. All rights reserved.
See file COPYRIGHT-CMASS for details.
MODULE IPError;
IMPORT Atom, AtomList, Fmt, IP, TCP;
PROCEDURE Raise (a: Atom.T; info: INTEGER := 0) RAISES {IP.Error} =
BEGIN
IF (info = 0) THEN
RAISE IP.Error (AtomList.List1 (a));
ELSE
RAISE IP.Error (AtomList.List2 (a, Atom.FromText (Fmt.Int (info))));
END;
END Raise;
PROCEDURE RaiseUnexpected () RAISES {IP.Error} =
BEGIN
RaiseOS (Unexpected);
END RaiseUnexpected;
EXCEPTION FatalError;
PROCEDURE Die () =
<*FATAL FatalError*>
BEGIN
RAISE FatalError;
END Die;
BEGIN
IP.LookupFailure := Atom.FromText("IP.LookupFailure");
IP.Unreachable := Atom.FromText("IP.Unreachable");
IP.PortBusy := Atom.FromText("IP.PortBusy");
IP.NoResources := Atom.FromText("IP.NoResources");
TCP.Refused := Atom.FromText("TCP.Refused");
TCP.Closed := Atom.FromText("TCP.Closed");
TCP.Timeout := Atom.FromText("TCP.Timeout");
TCP.ConnLost := Atom.FromText("TCP.ConnLost");
Unexpected := Atom.FromText("TCP.Unexpected");
ClosedErr := AtomList.List1(TCP.Closed);
END IPError.