home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #4 / amigamamagazinepolishissue1998.iso / airi / executive_v2.10 / data / developers.lha / ExecutiveAPI / Oberon / source / ExecutiveAPI.mod next >
Text File  |  1997-02-23  |  3KB  |  100 lines

  1. (*(*
  2. **      $VER: ExecutiveAPI.h 1.00 (03.09.96)
  3. **      ExecutiveAPI Release 1.00
  4. **
  5. **      ExecutiveAPI definitions
  6. **
  7. **      Copyright © 1996-97 Petri Nordlund. All rights reserved.
  8. **
  9. **      $Id: ExecutiveAPI.h 1.1 1996/10/01 23:08:16 petrin Exp petrin $
  10. **
  11. **      Oberon-Interface by Thomas Igracki (T.Igracki@Jana.berlinet.de)
  12. **
  13. *)*)
  14.  
  15. MODULE ExecutiveAPI;
  16. (* $StackChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $TypeChk- $NilChk- *)
  17. (* $Implementation- *)
  18. IMPORT
  19.    y: SYSTEM, e: Exec;
  20.  
  21. (*
  22.  * Public message port to send messages to
  23.  *
  24.  *)
  25. CONST
  26.   portname * = "Executive_server";
  27.  
  28.  
  29. (*
  30.  * ExecutiveMessage
  31.  *
  32.  *)
  33. TYPE
  34.   ExecutiveMessagePtr * = UNTRACED POINTER TO ExecutiveMessage;
  35.   ExecutiveMessage * = STRUCT (message *: e.Message)
  36.      ident    *: INTEGER;   (* WORD: This must always be 0  *)
  37.  
  38.      command  *: INTEGER;   (* WORD: Command to be sent, see below *)
  39.      task     *: e.TaskPtr; (* struct Task*: Task address *)
  40.      taskname *: e.STRPTR;  (* STRPTR: Task name *)
  41.      value1   *: LONGINT;   (* LONG: Depends on command *)
  42.      value2   *: LONGINT;   (* LONG: Depends on command *)
  43.      value3   *: LONGINT;   (* LONG: Depends on command *)
  44.      value4   *: LONGINT;   (* LONG: Depends on command *)
  45.      error    *: INTEGER;   (* WORD: Non-zero if error, see below  *)
  46.  
  47.      reserved  : ARRAY 4 OF LONGINT; (* LONG: Reserved for future use  *)
  48.   END;
  49.  
  50.  
  51. (*
  52.  * Commands
  53.  *
  54.  *)
  55. CONST
  56.   cmdAddClient   * = 0;    (* Add new client                *)
  57.   cmdRemClient   * = 1;    (* Remove client                *)
  58.  
  59.   cmdGetNice     * = 2;    (* Get nice-value                *)
  60.   cmdSetNice     * = 3;    (* Set nice-value                *)
  61.  
  62.   cmdGetPriority * = 4;    (* Get task's correct (not scheduling) priority    *)
  63.  
  64.   cmdWatch       * = 5;    (* Schedle, don't schedle etc. See below    *)
  65.  
  66.  
  67. (*
  68.  * These are used with cmdWatch
  69.  *
  70.  *)
  71.  
  72. (* --> value1 *)
  73.   whichTask       * = 0; (* Current task        *)
  74.   whichChildtasks * = 1; (* Childtasks of this task *)
  75.  
  76. (* --> value2 *)
  77.   typeSchedule   * = 0;    (* Schedule      this task / childtasks    *)
  78.   typeNoSchedule * = 1;    (* Don't schedule this task / childtasks    *)
  79.   typeRelative   * = 2;    (* Childtasks' priority relative to parent's    *)
  80.             (* priority.                    *)
  81. (* --> value3 *)
  82. (* These are only used with typeNoSchedule *)
  83.   priLeaveAlone * = 0; (* Ignore task priority                *)
  84.   priAbove      * = 1; (* Task's priority kept above scheduled tasks    *)
  85.   priBelow      * = 2; (* Task's priority kept below scheduled tasks    *)
  86.   priSet        * = 3; (* Set priority to given value (value4)        *)
  87.  
  88.  
  89. (*
  90.  * Errors
  91.  *
  92.  *)
  93.   errorOk             * = 0; (* No error                    *)
  94.   errorTaskNotFound   * = 1; (* Specified task wasn't found            *)
  95.   errorNoServer       * = 2; (* Server not available (quitting)         *)
  96.   errorInternal       * = 3; (* Misc. error (e.g. no memory)            *)
  97.   errorAlreadyWatched * = 4; (* Task is already being watched, meaning that    *)
  98.                  (* user has put the task to "Executive.prefs".    *)
  99. END ExecutiveAPI.
  100.