ルネサス
ref_mem 概要 メモリ・オブジェクトの詳細情報の参照 C言語形式 ER ref_mem ( VP base, T_RMEM *pk_rmem ); パラメータ I/O パラメータ 説明 I VP base; メモリ・オブジェクトの先頭アドレス O T_RMEM *pk_rmem; メモリ・オブジェクト詳細情報を格納する領域へのポインタ 【 アクセス許可ベクタACVCTの構造 】 typedef struct acvct { ACPTN acptn1; /*オペランド・リード・アクセス許可パターン*/ ACPTN acptn2; /*オペランド・ライト・アクセス許可パターン*/ ACPTN acptn3; /*実行アクセス許可パターン*/ } ACVCT; 【 メモリ・オブジェクト詳細情報T_RMEMの構造 】 typedef struct t_rmem { ACVCT acvct; /*アクセス許可ベクタ*/ } T_RMEM; 機能 先頭アドレスがbaseのメモリ・オブジェクトの状態をpk_rmemで指定された領域に格納します。 アクセス許可パターンは,ビットN-1がドメインID#Nからのアクセス許可を示し,1が許可,0が禁止を示します。 戻り値 マクロ 数値 意味 E_OK 0 正常終了 E_PAR -17 パラメータ・エラー - pk_rmem == NULL E_CTX -25 コンテキスト・エラー - CPUロック状態から本サービス・コールを発行した。 - 非タスクから本サービス・コールを発行した。 - 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。 E_MACV -26 メモリ・アクセス違反 - スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。 - 呼び出しタスクからのpk_rmemが示す領域に対するオペランド・ライト・アクセス許可がない。 E_NOEXS -42 オブジェクト未生成 - 先頭アドレスがbaseのメモリ・オブジェクトが存在しない。
ER ref_mem ( VP base, T_RMEM *pk_rmem );
VP base;
T_RMEM *pk_rmem;
typedef struct acvct {
ACPTN acptn1; /*オペランド・リード・アクセス許可パターン*/
ACPTN acptn2; /*オペランド・ライト・アクセス許可パターン*/
ACPTN acptn3; /*実行アクセス許可パターン*/
} ACVCT;
typedef struct t_rmem {
ACVCT acvct; /*アクセス許可ベクタ*/
} T_RMEM;