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

:Program.       EdErrors.mod
:Contents.      Error-Code definitions for AmokEd
:Author.        Hartmut Goebel
:Copyright.     Copyright © 1987 by Kim DeVaughn (as part of DME)
:Copyright.     Oberon implementation: Copyright © 1990 by 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;
  cmdFailed* =        5;
  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* = cmdFailed;
  FailLevel* = cmdFailed;


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

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

END EdErrors.

