home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL2.DMS / in.adf / INCLUDE / exec / memory.h < prev    next >
Encoding:
Text File  |  1994-07-25  |  1.7 KB  |  89 lines

  1. {$if not def EXEC_MEMORY_H} CONST EXEC_MEMORY_H=0;
  2.  
  3. { ***************************************************************
  4.   ** KickPascal-Include-Datei "exec/memory.h" zu Kickstart 3.0 **
  5.   *************************************************************** }
  6.  
  7. TYPE p_MemChunk = ^MemChunk;
  8. TYPE p_MemHeader = ^MemHeader;
  9. TYPE p_MemEntry = ^MemEntry;
  10. TYPE p_MemList = ^MemList;
  11. TYPE p_MemHandlerData = ^MemHandlerData;
  12.  
  13. {$if not def EXEC_NODES_H;incl "exec/nodes.h";endif}
  14.  
  15.  
  16. TYPE MemChunk = RECORD
  17.  mc_Next  : p_MemChunk;
  18.  mc_Bytes : Long;
  19. END;
  20.  
  21.  
  22. TYPE MemHeader = RECORD
  23.  mh_Node       : Node;
  24.  mh_Attributes : Word;
  25.  mh_First      : p_MemChunk;
  26.  mh_Lower      : Ptr;
  27.  mh_Upper      : Ptr;
  28.  mh_Free       : Long;
  29. END;
  30.  
  31.  
  32. TYPE MemEntry = RECORD
  33.  CASE boolean OF
  34.  false : (
  35.           meu_Reqs  : Long;
  36.           me_Length : Long;
  37.          );
  38.  true  : (
  39.           meu_Addr  : Ptr;
  40.           meu_Length: Long;
  41.          );
  42. END;
  43.  
  44. { Zur Information :
  45.   me_Reqs = me_Un.meu_Reqs
  46.   me_Addr = me_Un.meu_Addr
  47. }
  48.  
  49.  
  50. TYPE MemList = RECORD
  51.  ml_Node       : Node;
  52.  ml_NumEntries : Word;
  53.  ml_ME         : array[0..1] of MemEntry; { Müßte [0..0] sein, aber nicht möglich }
  54. END;
  55.  
  56. CONST
  57.  MEMF_ANY      = $0;
  58.  MEMF_PUBLIC   = $1;
  59.  MEMF_CHIP     = $2;
  60.  MEMF_FAST     = $4;
  61.  MEMF_LOCAL    = $100;
  62.  MEMF_24BITDMA = $200;
  63.  MEMF_KICK     = $400;
  64.  
  65.  MEMF_CLEAR    = $10000;
  66.  MEMF_LARGEST  = $20000;
  67.  MEMF_REVERSE  = $40000;
  68.  MEMF_TOTAL    = $80000;
  69.  
  70.  MEMF_NO_EXPUNGE= $80000000; 
  71.  
  72.  MEM_BLOCKSIZE = 8;
  73.  MEM_BLOCKMASK = (MEM_BLOCKSIZE-1);
  74.  
  75.  
  76. TYPE
  77.  MemHandlerData=RECORD
  78.   memh_RequestSize : Long;
  79.   memh_RequestFlags: Long;
  80.   memh_Flags       : Long;
  81.  end;
  82.  
  83. CONST
  84.  MEM_DID_NOTHING = 0;
  85.  MEM_ALL_DONE    =-1;
  86.  MEM_TRY_AGAIN   = 1;
  87.  
  88. {$endif}
  89.