スポンサーリンク

GETPEERNAME(2) FreeBSD システムコールマニュアル GETPEERNAME(2)

名称

getpeername − 接続されたピア (通信相手) の名前の取得

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <sys/types.h>
#include <sys/socket.h>

int

getpeername(int s, struct sockaddr * restrict name, socklen_t * restrict namelen);

解説

getpeername() システムコールは、ソケット s に接続されたピア (通信相手) の 名前を返します。 namelen 引数には、 name が指す空間の大きさを示す値を入れ ておく必要があります。戻る時に、これには返された名前の実際のサイズ (バイ ト単位) が入れられます。準備されたバッファが小さすぎる場合、名前は切り捨 てられます。

戻り値

関数 getpeername() は、処理が成功すると値 0 を返します。そうでない場合、 値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

以降の場合を除いて呼び出しは処理に成功します:

       [EBADF]

引数 s が有効な記述子ではありません。

[ECONNRESET]
接続がピアによってリセットされました。

[ENOTSOCK]
引数 s はソケットではなくファイルです。

[ENOTCONN]
ソケットが接続されていません。

[ENOBUFS]
操作を実行するための十分なリソースがシステムにありませ ん。

[EFAULT]
name
パラメータは、プロセスのアドレス空間の有効な領域 の範囲外を指しています。

関連項目

accept(2), bind(2), getsockname(2), socket(2)

歴史

getpeername() システムコールは 4.2BSD で登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク