この関数は、指定されたアクセス権 perm を使用してリモートノード node_id 上にある セグメント segment_id に接続します。セグメントに接続した後、この関数はセグメントハンドルを返します。
引数 perm は、当該接続のインポータによって要求されるアクセスモードを指定します。接続を確立するとき、エクスポータが指定したアクセス権とインポータが使用するアクセスモード、ユーザー要求されるアクセスモードが無効な場合、接続要求は拒否されます。なお、perm 引数は次の 8 進数値に制限されます。
読み取りモード
書き込みモード
読み取りおよび書き込みモード
指定されたコントローラは、セグメントのエクスポートに使用されるコントローラと物理的に接続されている必要があります。
戻り値:成功した場合、0 を返します。そうでない場合、エラー値を返します。
コントローラハンドルが無効です。
コントローラが存在しません。
セグメントハンドルが無効です。
アクセス権がありません。
セグメントがノードに公開されていません。
セグメントが公開されていません。
リモートノードに到達できません。
接続が割り込まれました。
メモリーが不足しています。
リソースが不足しています。
アドレスが不正です。
この関数はセグメントを切断します。セグメントを切断した後、この関数はセグメントのリソースを解放します。切断されたセグメントへの既存のマッピングはすべて削除されます。ハンドル im_memseg は解放されます。
戻り値:成功した場合、0 を返します。そうでない場合、エラー値を返します。
セグメントハンドルが無効です。
セグメントがマッピングされたままになっています。
pollfd は使用中です。