-
pget_mpl
ipget_mpl
-
Acquire variable-sized memory block (polling).
ER pget_mpl (ID mplid, UINT blksz, VP *p_blk);
ER ipget_mpl (ID mplid, UINT blksz, VP *p_blk);
|
|
|
|
ID mplid;
|
ID number of the variable-sized memory pool.
|
|
UINT blksz;
|
Memory block size to be acquired (in bytes).
|
|
VP *p_blk;
|
Start address of the acquired memory block.
|
This service call acquires a variable-size memory block of the size specified by parameter
blksz from the variable-size memory pool specified by parameter
mplid, and stores its start address into the area specified by parameter
p_blk.
If no variable-size memory blocks could be acquired from the target variable-size memory pool (no successive areas equivalent to the requested size were available) when this service call is issued, this service call does not acquire variable-size memory block but returns "E_TMOUT".
Note 2 The contents of the block are undefined.
Note 3 The alignment number of memory blocks changes with creation method of the variable-sized memory pool.
|
|
|
|
|
|
|
|
- blksz exceeds the maximum size that can be acquired.
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
Note When the ipget_mpl is issued from task or the pget_mpl is issued from non-task, the context error is not detected and normal operation of the system is not guaranteed.
|
|
|
Memory access violation. (only for pget_mpl)
- 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 variable-sized memory pool specified by mplid does not exist.
|
|
|
|