プログラミングインタフェース

メモリーセグメントの再バインド

再バインド操作は、エクスポートセグメントの現在のバッキングストアを解放します。現在のバッキングストアを解放したあと、再バインド操作は、新しいバッキングストアを割り当てます。まず始めにアプリケーションは、セグメント用の新しい仮想メモリー割り当てを取得する必要があります。この操作はセグメントのインポータに透過的です。


注 –

アプリケーションは、再バインド操作が完了するまで、セグメントデータへアクセスしてはいけません。再バインド中にセグメントからデータを取得しようとしてもシステムエラーにはなりませんが、このような操作の結果は定義されていません。


セグメントの再バインド

int rsm_memseg_export_rebind(rsm_memseg_export_handle_t memseg, void *vaddr, offset_t off, size_t size);

戻り値: 成功した場合、0 を返します。そうでない場合、エラー値を返します。

RSMERR_BAD_SEG_HNDL

セグメントハンドルが無効です

RSMERR_BAD_LENGTH

長さが無効です

RSMERR_BAD_ADDR

アドレスが無効です

RSMERR_REBIND_NOT_ALLOWED

再バインドは許可されていません

RSMERR_NOT_CREATOR

セグメントの作成者ではありません

RSMERR_PERM_DENIED

Permission denied

RSMERR_INSUFFICIENT_MEM

メモリーが不足しています

RSMERR_INSUFFICIENT_RESOURCES

資源が不足しています

RSMERR_INTERRUPTED

シグナルによって操作が割り込まれました