ref_mem

Outline

Reference memory object state.

C format

 ER      ref_mem (VP base, T_RMEM *pk_rmem);
Parameter(s)

I/O

Parameter

Description

I

 VP      base;
Memory object start address.

O

 T_RMEM  *pk_rmem;
Pointer to the packet returning the mutex state.



[Access permission vector : ACVCT]

 typedef struct  acvct {
     ACPTN   acptn1;         /*Access permission pattern for operand-read*/
     ACPTN   acptn2;         /*Access permission pattern for operand-write*/
     ACPTN   acptn3;         /*Access permission pattern for execution*/
 } ACVCT;


[Memory object state packet: T_RMEM]

 typedef struct  t_rmem {
     ACVCT   acvct;          /*Access permission vector*/
 } T_RMEM;


Explanation

This service call stores the information of the memory object started from the address specified by parameter base into the area specified by parameter pk_rmem.

The bit N-1 in the access permission pattern shows whether tasks belonging to the domain ID #N can access the memory object. The bit value 1 means "permitted" and 0 means "not permitted".

Return value

Macro

Value

Description

E_OK

0

Normal completion.

E_PAR

-17

parameter error.

- pk_rmem == NULL

E_CTX

-25

Context error.

- This service call was issued in the CPU locked state.

- This service call was issued from non-task.

- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".

E_MACV

-26

Memory access violation.

- Stack pointer points out of user stack for invoking task.

- The operand-write access to the area indicated by pk_rmem has not been permitted to the invoking task

E_NOEXS

-42

Non-existent object.

- The memory object started from the address specified by base has already been registered.