GETSOCKNAME(2)

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

書式
int getsockname(int s , struct sockaddr * name , int * namelen )

説明
getsockname は指定したソケットの現在の name を返す。 namelen には name によって指されている領域の大きさを指定しておく必要がある。 関数が終わる時には namelen には返される name の実際の大きさが(バイト数で)格納される。

返り値
成功した場合 0 が返る。失敗した場合 -1 が返り、 errno がエラーの内容に従って設定される。

エラー

EBADF
    引数 s が有効なディスクリプター(descriptor)ではない。

ENOTSOCK
    引数 s がソケットではなくファイルである。

ENOBUFS
    処理をするだけの十分なリソースがシステムに無い。

EFAULT
    引数 name の指しているメモリがプロセスのアドレス空間の有効部分ではない。

準拠
SVr4, 4.4BSD ( getsockname 関数は 4.2BSD で追加された)。SVr4 には他に ENOMEM と ENOSR のエラーコー ドについての記述がある。

バグ
UNIX ドメインのソケットに結びつけられている名前がアクセスできない時、 getsockname は長さ 0 の name を返す。

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