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

  1. |##########|
  2. |#MAGIC   #|CLABLMEL
  3. |#PROJECT #|"ImportHelp"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|-x---x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE Heap;
  11.  
  12. (* $A- *)
  13. FROM Resources IMPORT NotEnoughMemory,MemoryNotAllocated,
  14.                       NILDisposed;
  15.  
  16. (*----------------------------------------------------------------------------*)
  17. (* Funktion  : Alloziert ein Speicherstück, in der Größe des Typs von p.      *)
  18. (* Parameter : p  -> Zeigervariable, der die Adresse des allozierten          *)
  19. (*                   Speicherstücks zugewießen wird.                          *)
  20. (* Bemerkung : p darf kein offener Typ sein, war Allozierung nicht möglich,   *)
  21. (*             wird ein Laufzeitfehler ausgelößt                              *)
  22. (*----------------------------------------------------------------------------*)
  23.  
  24. PROCEDURE New(VAR p : ANYPTR);
  25.  
  26. (*----------------------------------------------------------------------------*)
  27. (* Funktion  : Wie New, jedoch erhält man einen Boolean-Wert zurück, ob die-  *)
  28. (*             Allozierung möglich war, oder nicht.                           *)
  29. (*----------------------------------------------------------------------------*)
  30.  
  31. PROCEDURE CheckNew(VAR p : ANYPTR):BOOLEAN;
  32.  
  33. (*----------------------------------------------------------------------------*)
  34. (* Funktion  : Gibt ein Speicherstück wieder frei.                            *)
  35. (* Parameter : p <- Zieger auf das Speicherstück, das Freigegeben werden soll.*)
  36. (*----------------------------------------------------------------------------*)
  37.  
  38. PROCEDURE Dispose(VAR p : ANYPTR);
  39.  
  40. (*----------------------------------------------------------------------------*)
  41. (* Funktion  : Gibt alle mit Heap allozierten Speicherstück wieder frei.      *)
  42. (* Parameter : p <- Zeiger auf das Speicherstück, das Freigegeben werden soll.*)
  43. (*----------------------------------------------------------------------------*)
  44.  
  45. PROCEDURE DisposeAll;
  46.  
  47. (*----------------------------------------------------------------------------*)
  48. (* Funktion  : Alloziert ein Speicherstück der Länge size.                    *)
  49. (* Parameter : p       -> Zeiger auf allozierte Speicherstück.                *)
  50. (*             size    <- Anzahl Bytes, die alloziert werden sollen.          *)
  51. (*----------------------------------------------------------------------------*)
  52.  
  53. PROCEDURE Allocate(VAR p : ANYPTR;size : LONGINT);
  54.  
  55. (*----------------------------------------------------------------------------*)
  56. (* Funktion  : Wie Allocate, jedoch mit Rückgabewert ob ein Fehler auftrat.   *)
  57. (*----------------------------------------------------------------------------*)
  58.  
  59. PROCEDURE CheckAllocate(VAR p : ANYPTR;size : LONGINT):BOOLEAN;
  60.  
  61. (*----------------------------------------------------------------------------*)
  62. (* Funktion  : Wie Allocate, jedoch muß das allozierte Speicherstück im       *)
  63. (*             Chipmem liegen.                                                *)
  64. (*----------------------------------------------------------------------------*)
  65.  
  66. PROCEDURE AllocChip(VAR p : ANYPTR;size : LONGINT);
  67.  
  68. (*----------------------------------------------------------------------------*)
  69. (* Funktion  : Wie AllocChip, jedoch mit Rückgabewert ob ein Fehler auftrat.  *)
  70. (*----------------------------------------------------------------------------*)
  71.  
  72. PROCEDURE CheckAllocChip(VAR p : ANYPTR;size : LONGINT):BOOLEAN;
  73.  
  74. (*----------------------------------------------------------------------------*)
  75. (* Funktion  : Ermittelt den noch freien Speicherplatz.                       *)
  76. (* Parameter : -> Freier Speicher in Bytes.                                   *)
  77. (*----------------------------------------------------------------------------*)
  78.  
  79. PROCEDURE Avail():LONGINT;
  80.  
  81.  
  82. GROUP
  83.   All  = New,CheckNew,Dispose,DisposeAll,Allocate,CheckAllocate,AllocChip,
  84.          CheckAllocChip,Avail;
  85.  
  86. END Heap.
  87.  
  88.