home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / System.def < prev    next >
Text File  |  1994-05-25  |  6KB  |  192 lines

  1. |##########|
  2. |#MAGIC   #|EGFFEDEL
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE System;
  11.  
  12. (* $A- *)
  13.  
  14. TYPE
  15.   SHORTSET    = SET OF [0..7];
  16.   BITSET      = SET OF [0..15];
  17.   LONGSET     = SET OF [0..31];
  18.   BPTR        = BCPLPTR TO SHORTINT;
  19.   STRINGPTR   = POINTER TO ARRAY OF CHAR;
  20.   PROC        = PROCEDURE;
  21.  
  22.   SysStringPtr= POINTER TO ARRAY OF CHAR;
  23.   SysWbMsg    = HIDDEN;
  24.   SysTask     = HIDDEN;
  25.   Register    = (D0,D1,D2,D3,D4,D5,D6,D7,
  26.                  A0,A1,A2,A3,A4,A5,A6,A7,
  27.                  FP0,FP1,FP2,FP3,FP4,FP5,FP6,FP7);
  28.   RegSet      = SET OF Register;
  29.   Equation    = (smaller,equal,greater);
  30.   SysInfo     = RECORD
  31.                   linkTime : RECORD
  32.                                days,
  33.                                minute,
  34.                                tick    : LONGINT;
  35.                              END;
  36.                   initA4   : ANYPTR
  37.                 END;
  38.  
  39. CONST
  40.   GlobalBase  = A4;
  41.   LibraryBase = A6;
  42.   StackPtr    = A7;
  43.  
  44. GROUP
  45.   Regs        = RegSet,Register,GlobalBase,LibraryBase,StackPtr;
  46.  
  47. VAR
  48.   CloseProc     : PROC;
  49.   OldGuru       : PROC;
  50.   StartStack    : ANYPTR;
  51.   GuruId        : LONGINT;
  52.   CLIParamPtr   : STRINGPTR;
  53.   CLIParamLen   : LONGINT;
  54.   WBStartupMsg  : SysWbMsg;
  55.   OwnTask       : SysTask;
  56.   GuruPosition  : ANYPTR;
  57.   OldExcept     : PROC;
  58.   OldSigs       : LONGSET;
  59.   CtrlC         : BOOLEAN;
  60.   HeapStart,
  61.   LastHeap      : ANYPTR;
  62.   HeapSize      : LONGINT;
  63.   HeapStackPtr  : RECORD
  64.                     pos  : ANYPTR;
  65.                     len  : INTEGER
  66.                   END;
  67.   LowerStack    : ANYPTR;
  68.   OldExceptData : ANYPTR;
  69.   OldTrapData   : ANYPTR;
  70.   LocalLength   : LONGINT;
  71.   CtrlCFlag     : BOOLEAN;
  72.   OwnLibBase    : RECORD
  73.                     succ,
  74.                     pred     : ANYPTR;
  75.                     type     : SHORTCARD;
  76.                     pri      : SHORTINT;
  77.             name     : SysStringPtr;
  78.  
  79.                     flags    : SHORTSET;
  80.                     pad      : SHORTCARD;
  81.                     negSize,
  82.                     posSize  : CARDINAL;
  83.                     version,
  84.                     revision : CARDINAL;
  85.                     idString : SysStringPtr;
  86.                     sum      : LONGINT;
  87.                     openCnt  : INTEGER
  88.                   END;
  89.    SegList      : ANYPTR;
  90.    CloseGuruPos : ANYPTR;
  91.    CloseGuruId  : LONGINT;
  92.    CallStack    : ANYPTR;
  93.    OwnStack    : ANYPTR;
  94.    LibInstalled    : BOOLEAN;
  95.  
  96. GROUP
  97.   All  = SHORTSET,BITSET,LONGSET,BPTR,STRINGPTR,PROC,SysStringPtr,
  98.          SysWbMsg,SysTask,Register,RegSet,GlobalBase,LibraryBase,
  99.          StackPtr,CloseProc,OldGuru,StartStack,GuruId,CLIParamPtr,
  100.          CLIParamLen,WBStartupMsg,OwnTask,GuruPosition,OldExcept,
  101.          OldSigs,CtrlC,HeapStart,LastHeap,HeapSize,HeapStackPtr,
  102.          LowerStack;
  103.  
  104. (* Nicht aufrufen, da Rückgabewert nicht stimmt !!! *)
  105.  
  106. PROCEDURE MULU32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 02 *)
  107. PROCEDURE MULS32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 03 *)
  108. PROCEDURE DIVU32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 04 *)
  109. PROCEDURE DIVS32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 05 *)
  110. PROCEDURE MODU32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 06 *)
  111. PROCEDURE MODS32(x IN D0,y IN D1 : LONGINT):LONGINT;        (* 07 *)
  112.  
  113. (* auf keinen Fall aufrufen, sicherer Tod !!! *)
  114.  
  115. PROCEDURE Guru;                                           (* 08 *)
  116.  
  117. (* Nicht aufrufen, da automatisch aufgerufen wird *)
  118.  
  119. PROCEDURE RealToLong(val IN D0 : REAL):LONGREAL;           (* 09 *)
  120. PROCEDURE LongToReal(high IN D0,low IN D1 : LONGINT):REAL   (* 10 *)
  121.  
  122. (* nicht aufrufen, sicherer Tod !!! *)
  123.  
  124. PROCEDURE SignalCtrlC;                                    (* 11 *)
  125.  
  126. (*  Bricht das Programm an der aktuellen Position ab,
  127.  *  Rückgabewert ist Err, bei negativem Err wird dieses als
  128.  *  Zeiger auf eine Fehlermeldung gedeutet.
  129.  *
  130.  *  Besser die Standartproceduren aufrufen !!!
  131.  *)
  132.  
  133. PROCEDURE HALT(Err IN D0 : LONGINT);                       (* 12 *)
  134.  
  135. PROCEDURE HALT_CALL(Err IN D0 : LONGINT);                  (* 13 *)
  136.  
  137. PROCEDURE HALT_CALL_LOCAL(Err IN D0 : LONGINT);            (* 14 *)
  138.  
  139. PROCEDURE HALT_CALL_ENTRY(Err IN D0 : LONGINT);            (* 15 *)
  140.  
  141. (* Proceduren zur Heapverwaltung, besser nicht aufrufen *)
  142.  
  143.  
  144. PROCEDURE InitHeap;                                       (* 16 *)
  145.  
  146. PROCEDURE DisposeHeap;                                    (* 17 *)
  147.  
  148. (* Procedure um Heapspeicher zu Allozieren *)
  149.  
  150. (* $P- *)
  151. PROCEDURE AllocHeap(Size IN D0 : LONGINT):ANYPTR;          (* 18 *)
  152.  
  153. (* Proceduren für die Cardinalität einer Menge, sollten nicht
  154.  * aufgerufen werden, da sie automatisch aufgerufen werden.
  155.  *)
  156.  
  157. PROCEDURE ShortCardinal(Set IN D0 : SHORTSET):LONGINT;     (* 19 *)
  158.  
  159. PROCEDURE WordCardinal(Set IN D0 : BITSET):LONGINT;        (* 20 *)
  160.  
  161. PROCEDURE LongCardinal(Set IN D0 : LONGSET):LONGINT;       (* 21 *)
  162.  
  163. PROCEDURE StackCheck(Need IN D0 : INTEGER);                (* 22 *)
  164.  
  165. PROCEDURE CheckBreak;                                      (* 23 *)
  166.  
  167. PROCEDURE EndBEGIN;                                        (* 24 *)
  168.  
  169. CONST SystemInfo = SysInfo;                                (* 25 *)
  170.  
  171. PROCEDURE AddExceptHandler(pos IN A0 : ANYPTR);            (* 26 *)
  172.  
  173. PROCEDURE RemExcept;                                       (* 27 *)
  174.  
  175. PROCEDURE RaiseAgain;                                      (* 28 *)
  176.  
  177. PROCEDURE ExceptHandler;                                   (* 29 *)
  178.  
  179. PROCEDURE DeferredMethod;                                  (* 30 *)
  180.  
  181. PROCEDURE PutTagData(tagList IN A0 : ANYPTR;               (* 31 *)
  182.                      value   IN D0 : LONGINT;
  183.                      tag     IN D1 : LONGINT);
  184.  
  185. PROCEDURE GetTagData(tagList IN A0 : ANYPTR;               (* 32 *)
  186.                      value   IN D0 : LONGINT;
  187.                      tag     IN D1 : LONGINT):LONGINT;
  188.  
  189. PROCEDURE IClose;                                          (* 33 *)
  190.  
  191. END  System.
  192.