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