GETSOCKNAME(2)

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

ライブラリ
libc

書式
<sys/types.h> <sys/socket.h> int getsockname(int s, struct sockaddr * restrict name, socklen_t * restrict 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 ではじめて登場しました。