(*************************************************************************

:Program.    EdErrors.mod
:Contents.   Error-Code definitions for AmokEd
:Author.     Hartmut Goebel
:Language.   Oberon
:Translator. Amiga Oberon Compiler V2.00
:History.    V1.0, 1.Jan 91, Hartmut Goebel
:History.    V1.1, 5.Jan 91, Hartmut Goebel: Abort-/FailLevel added

*************************************************************************)

MODULE EdErrors;

(* $Implementation- *)

(*
 *  Error Level Definitions   [ PRELIMINARY - SUBJECT TO CHANGE ]
 *
 *  Definitions for internal  (dme)  error reporting begin with cmd
 *  Definitions for external (ARexx) error reporting begin with rx
 *
 *
 *      0 - command execution successful [normal]     (i.e., title = OK)
 *      1 - command execution successful [alternate]  (i.e., title = OK)
 *      2 - command execution successful [normal]     (don't alter title)
 *      3 - command execution successful [alternate]  (don't alter title)
 *      4 - reserved
 *      5 - command could not complete requested function
 *     10 - command was unable to process correctly
 *     15 - server failture
 *     20 - command failure detected - data integrity in question
 *     50 - internal error detected by  dme  or  ARexx
 *
 *  Only levels 0 and 1 allow the ARexx interface code to explicitly
 *  set title.
 *
 *  Eg: 0 - the normal case (redisplay Title)
 *      1 - a secondary succeeful result (redisplay Title)
 *      2 - normal, but may have put up an informational message
 *      3 - secondary normal, but may have informational message
 *      4 -
 *      5 - "find" didn't find, "file not found", "block not marked", etc.
 *     10 - "command not found", "syntax error", "bad argument" etc.
 *     15 - "write failed", "unable to open file", "no memory", etc.
 *     20 - maybe a sequence of commands that failed; may have modified data
 *     50 - dunno, but definitely bad shit
 *)

CONST
  cmdValid0 *      = 0;
  cmdValid1 *      = 1;
  cmdValid2 *      = 2;
  cmdValid3 *      = 3;
  cmdValid4 *      = 4;
  cmdFailed5 *     = 5;
  cmdFailed *      = 6;
  cmdError *       = 10;
  cmdSevere *      = 15;
  cmdAbort *       = 20;
  cmdMalfunction * = 50;

(*  Similar to the internal command error levels above, for the moment. *)

  rxValid0 *      = 0;
  rxValid1 *      = 1;
  rxValid2 *      = 2;
  rxValid3 *      = 3;
  rxValid4 *      = 4;
  rxFailed *      = 5;
  rxError *       = 10;
  rxSevere *      = 15;
  rxAbort *       = 20;
  rxMalfunction * = 50;

  cmdInitial *      = 0;
  titleThreshhold * = cmdValid1;
  abortLevel *      = cmdFailed5;
  failLevel *       = cmdFailed;


  (* ErrorCodes for Applikation-Commands *)
  noError * = 0;
  cmdNotFound * = 1;
  invalidArgument * = 3;

  (* XPingPong *)
  noXPPField * = 20;
  XPPPosNotDefined * = 21;
  XPPPosOutOfRange * = 22;

END EdErrors.

