GETSOCKNAME(2)

名称
getsockname - ソケットの名前を得る

ライブラリ
libc

書式
<sys/types.h> <sys/socket.h> int getsockname(int s, struct sockaddr *name, socklen_t *namelen)

解説
getsockname() は指定のソケットについて現在の name を返します。 namelen パラメータは、 name が指す空間の量を示すように初期化しておく必要があります。 戻る時には返された名前の実際のサイズ (バイト単位) が入ります。

戻り値

エラー
呼び出しは、次の場合を除いて正常に完了します。

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

[ECONNRESET]
    接続が通信相手によってリセットされました。

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

[ENOBUFS]
    操作を実行するためにシステム内で利用できるリソースが不足しています。

[EFAULT]
    name パラメータが、プロセスアドレス空間の有効な部分内でないメモリを 指しています。

関連項目
bind(2), getpeername(2), socket(2)

バグ
UNIX ドメイン内のソケットにバインドされた名前にはアクセスできません。 この場合 getsockname は、長さが 0 の名前を返します。

歴史
getsockname() 関数は 4.2BSD ではじめて登場しました。