スポンサーリンク

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

名称

getsockname − ソケットの名前を得る

ライブラリ

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

書式

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

int

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

解説

getsockname() システムコールは指定のソケットについて現在の name を返しま す。 namelen 引数は、 name が指す空間の大きさを示すように初期化しておく必 要があります。戻る時には返された名前の実際のサイズ (バイト単位) が入りま す。

戻り値

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

エラー

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

       [EBADF]

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

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

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

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

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

関連項目

bind(2), getpeername(2), socket(2)

バグ

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

歴史

getsockname() システムコールは 4.2BSD ではじめて登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク