1 03/17/86  heap_manager_
  2 
  3 
  4 To obtain information on a particular entry point use the "ep" request
  5 
  6 
  7 Entry points in heap_manager_:
  8    (List is generated by the help command)
  9 
 10 
 11 :Entry:  push_heap_level: 03/17/86  heap_manager_$push_heap_level
 12 
 13 
 14 Function: This entry point creates a new heap level, allocates
 15 the heap header and chains the previous heap to the current
 16 heap. If the stack_header_ptr is null an error of
 17 error_table_$null_info_ptr is returned.
 18 
 19 
 20 Syntax:
 21 declare heap_manager_$push_heap_level entry (pointer, fixed
 22   bin(17), fixed bin(35));
 23 call heap_manager_$push_heap_level (stack_header_ptr, exe_level,
 24   code);
 25 
 26 
 27 Arguments:
 28 stack_header_ptr
 29    is a pointer to the stack header.  This can be obtained via
 30    the PL/1 builtin stackbaseptr().  (Input)
 31 exe_level
 32    is the new execution level after the new heap is created.
 33    (Output)
 34 code
 35    is a standard status code.  (Output)
 36 
 37 
 38 :Entry:  pop_heap_level: 03/17/86  heap_manager_$pop_heap_level
 39 
 40 
 41 Function: This entry point resets the heap to the previous level
 42 freeing the old heap and any variables allocated therein.
 43 
 44 
 45 Syntax:
 46 declare heap_manager_$pop_heap_level entry (pointer, fixed
 47   bin(35));
 48 call heap_manager_$pop_heap_level (stack_header_ptr, code);
 49 
 50 
 51 Arguments:
 52 stack_header_ptr
 53    is a pointer to the stack header.  This can be obtained via
 54    the PL/1 builtin stackbaseptr().  (Input)
 55 code
 56    is a standard status code.  (Output)
 57 
 58 
 59 :Entry:  get_heap_header: 03/17/86  heap_manager_$get_heap_header
 60 
 61 
 62 Function: This entry point returns a pointer to the heap header
 63 for the specified execution level.  If the execution level does
 64 not exist an error of error_table_$no_heap_defined is returned.
 65 
 66 
 67 Syntax:
 68 declare heap_manager_$get_heap_header entry (pointer, fixed
 69   bin(17), pointer, fixed bin(35));
 70 call heap_manager_$get_heap_header (stack_header_ptr, exe_level,
 71   heap_header_ptr, code);
 72 
 73 
 74 Arguments:
 75 exe_level
 76    is the execution level of the heap required. If a -1 is passed
 77    then the current execution level is used.  (Input)
 78 stack_header_ptr
 79    is a pointer to the stack header.  This can be obtained via
 80    the PL/1 builtin stackbaseptr().  (Input)
 81 heap_header_ptr
 82    is a pointer to the heap header for the passed execution
 83    level. (Output).
 84 code
 85    is a standard status code.  (Output)
 86 
 87 
 88 :Entry:  get_heap_level: 03/17/86  heap_manager_$get_heap_level
 89 
 90 
 91 Function: This entry point returns the current execution level
 92 from the current heap header.  If the heap does not exist an execution
 93 level of -1 is returned.
 94 
 95 
 96 Syntax:
 97 declare heap_manager_$get_heap_level entry (pointer)
 98   returns (fixed bin(17));
 99 exe_level =  heap_manager_$get_heap_level (stack_header_ptr);
100 
101 
102 Arguments:
103 stack_header_ptr
104    is a pointer to the stack header.  This can be obtained via
105    the PL/1 builtin stackbaseptr().  (Input)
106 
107 
108 :Entry:  get_heap_area: 03/17/86  heap_manager_$get_heap_area
109 
110 
111 Function: This entry point returns a pointer to the heap area
112 for the specified level.  The area is max_segsize - 50 words.
113 If the heap level specified does not exist an error of
114 error_table_$no_heap_defined is returned.
115 
116 
117 Syntax:
118 declare heap_manager_$get_heap_area entry (pointer, fixed
119   bin(17), pointer, fixed bin(35));
120 call heap_manager_$get_heap_area (stack_header_ptr, exe_level,
121   heap_area_ptr, code);
122 
123 
124 Arguments:
125 exe_level
126    is the execution level of the heap area required. If a -1 is
127    passed then the current execution level is used.  (Input)
128 stack_header_ptr
129    is a pointer to the stack header.  This can be obtained via
130    the PL/1 builtin stackbaseptr().  (Input)
131 heap_area_ptr
132    is pointer to the heap area for the passed level. (Output)
133 code
134    is a standard status code.  (Output)
135