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

  1. |##########|
  2. |#MAGIC   #|CLABLLEP
  3. |#PROJECT #|"ImportHelp"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|-x---x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE Levels;
  11.  
  12. FROM System IMPORT PROC;
  13.  
  14. VAR
  15.   ActLevel  : INTEGER; (* Aktuelle Aktions Ebene *)
  16.  
  17. (*----------------------------------------------------------------------------*)
  18. (* Funktion  : Alloziert ein Speicherstück, in der Größe des Typs von p.      *)
  19. (* Parameter : p  -> Zeigervariable, der die Adresse des allozierten          *)
  20. (*                   Speicherstücks zugewießen wird.                          *)
  21. (* Bemerkung : p darf kein offener Typ sein, war Allozierung nicht möglich,   *)
  22. (*             wird ein Laufzeitfehler ausgelößt                              *)
  23. (*----------------------------------------------------------------------------*)
  24.  
  25. PROCEDURE New(VAR p : ANYPTR);
  26.  
  27.  
  28. (*----------------------------------------------------------------------------*)
  29. (* Funktion  : Wie New, jedoch erhält man einen Boolean-Wert zurück, ob die-  *)
  30. (*             Allozierung möglich war, oder nicht.                           *)
  31. (*----------------------------------------------------------------------------*)
  32.  
  33.  PROCEDURE CheckNew(VAR p : ANYPTR):BOOLEAN;
  34.  
  35.  
  36. (*----------------------------------------------------------------------------*)
  37. (* Funktion  : Gibt ein Speicherstück wieder frei.                            *)
  38. (* Parameter : p <- Zieger auf das Speicherstück, das Freigegeben werden soll.*)
  39. (*----------------------------------------------------------------------------*)
  40.  
  41. PROCEDURE Dispose(VAR p : ANYPTR);
  42.  
  43.  
  44. (*----------------------------------------------------------------------------*)
  45. (* Funktion  : Gibt alle mit Levels allozierten Speicherstück wieder frei.    *)
  46. (* Parameter : p <- Zeiger auf das Speicherstück, das Freigegeben werden soll.*)
  47. (*----------------------------------------------------------------------------*)
  48. PROCEDURE DisposeAll;
  49.  
  50.  
  51. (*----------------------------------------------------------------------------*)
  52. (* Funktion  : Alloziert ein Speicherstück der Länge Size.                    *)
  53. (* Parameter : p       -> Zeiger auf allozierte Speicherstück.                *)
  54. (*             Size    <- Anzahl Bytes, die alloziert werden sollen.          *)
  55. (*----------------------------------------------------------------------------*)
  56.  
  57. PROCEDURE Allocate(VAR p : ANYPTR;Size : LONGINT);
  58.  
  59.  
  60. (*----------------------------------------------------------------------------*)
  61. (* Funktion  : Wie Allocate, jedoch mit Rückgabewert ob ein Fehler auftrat.   *)
  62. (*----------------------------------------------------------------------------*)
  63.  
  64. PROCEDURE CheckAllocate(VAR p : ANYPTR;Size : LONGINT):BOOLEAN;
  65.  
  66.  
  67. (*----------------------------------------------------------------------------*)
  68. (* Funktion  : Wie Allocate, jedoch muß das allozierte Speicherstück im       *)
  69. (*             Chipmem liegen.                                                *)
  70. (*----------------------------------------------------------------------------*)
  71. PROCEDURE AllocChip(VAR p : ANYPTR;Size : LONGINT);
  72.  
  73.  
  74. (*----------------------------------------------------------------------------*)
  75. (* Funktion  : Wie AllocChip, jedoch mit Rückgabewert ob ein Fehler auftrat.  *)
  76. (*----------------------------------------------------------------------------*)
  77.  
  78. PROCEDURE CheckAllocChip(VAR p : ANYPTR;Size : LONGINT):BOOLEAN;
  79.  
  80.  
  81. (*----------------------------------------------------------------------------*)
  82. (* Funktion  : Ruft eine neue Aktionstufe auf.                                *)
  83. (* Parameter : Begin    <- Procedure, die als Aktionsstufe aufgerufen werden  *)
  84. (*                         soll.                                              *)
  85. (*             Close    <- Abschlußprozedur                                   *)
  86. (*----------------------------------------------------------------------------*)
  87.  
  88. PROCEDURE Call(Begin,Close : PROC);
  89.  
  90. (*----------------------------------------------------------------------------*)
  91. (* Funktion  : Terminiert eine oder mehrere Aktionsebenen.                    *)
  92. (*----------------------------------------------------------------------------*)
  93.  
  94. PROCEDURE Terminate(Level : INTEGER);
  95.  
  96.  
  97. GROUP
  98.   MemGrp    = New,Dispose,DisposeAll,CheckNew,Allocate,CheckAllocate,AllocChip,
  99.               CheckAllocChip;
  100.  
  101.  
  102.   LevelGrp  = ActLevel,Call,Terminate;
  103.  
  104.   All       = MemGrp,LevelGrp;
  105.  
  106. END Levels.
  107.  
  108.  
  109.