-   
 
 tget_mpf
 
-   
 
 Acquire fixed-sized memory block (with time-out).
 
 ER      tget_mpf (ID mpfid, VP *p_blk, TMO tmout);
 
| 
 | 
 | 
 | 
| 
 | 
 ID      mpfid;
 
 | 
 ID number of the fixed-sized memory pool.
  
 | 
| 
 | 
 VP      *p_blk;
 
 | 
 Start address of the acquired memory block.
  
 | 
| 
 | 
 TMO     tmout;
 
 | 
 Specified time-out (in millisecond).
  
 Value:	Specified time-out.
  
 | 
 
 This service call acquires the fixed-sized memory block from the fixed-sized memory pool specified by parameter 
mpfid and stores the start address in the area specified by parameter 
p_blk.
 
 If no fixed-size memory blocks could be acquired from the target fixed-size memory pool (no available fixed-size memory blocks exist) when this service call is issued, this service call does not acquire the fixed-size memory block but queues the invoking task to the target fixed-size memory pool wait queue and moves it from the RUNNING state to the WAITING state with time-out (fixed-size memory block acquisition wait state).
 
 The WAITING state for a fixed-sized memory block is cancelled in the following cases.
 
 
 WAITING State for a Fixed-sized Memory Block Cancel Operation
  
 | 
 | 
 A fixed-sized memory block was returned to the target fixed-sized memory pool as a result of issuing  rel_mpf.
  
 | 
 | 
 A fixed-sized memory block was returned to the target fixed-sized memory pool as a result of issuing  irel_mpf.
  
 | 
 | 
 Forced release from waiting (accept  rel_wai while waiting).
  
 | 
 | 
 Forced release from waiting (accept  irel_wai while waiting).
  
 | 
 | 
 The fixed-sized memory pool is reset as a result of issuing  vrst_mpf.
  
 | 
 | 
 The time specified by  tmout has elapsed.
  
 | 
 | 
 Forced release from waiting (accept  del_mpf while waiting).
  
 | 
 | 
 
 Note 1	 Invoking tasks are queued to the target fixed-size memory pool wait queue in the order defined at creating the fixed-sized memory pool. (FIFO order or current priority order).
 
 Note 2	 The contents of the block are undefined.
 
 Note 3	 The alignment number of memory block is 1. Please perform the following, in order to enlarge the alignment number of memory blocks.
 
 -	 Specify the memory block size to a multiple of the desired alignment number at creating the fixed-sized memory pool.
 
 -	 Make the start address of the fixed-sized memory pool area into the address of the desired alignment number.
 
 Note 4	 
TMO_FEVR is specified for wait time 
tmout, processing equivalent to 
get_mpf will be executed. When 
TMO_POL is specified, processing equivalent to 
pget_mpf will be executed.
 
 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 -	 This service call was issued from a non-task.
  
 -	 This service call was issued in the CPU locked state.
  
 -	 This service call was issued in the dispatching disabled state.
  
 -	 This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
  
 | 
| 
 | 
 | 
 -	 Stack pointer points out of user stack for invoking task.
  
 -	 The operand-write access to the area indicated by  p_blk has not been permitted to the invoking task.
  
 | 
| 
 | 
 | 
 -	 The fixed-sized memory pool specified by  mpfid does not exist.
  
 | 
| 
 | 
 | 
 Forced release from the WAITING state.
  
 | 
| 
 | 
 | 
 Polling failure or specified time has elapsed.
  
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 Released from WAITING state by the object reset ( vrst_mpf)
  
 |