other sections
GETSOCKNAME(2) | Linux Programmer's Manual | GETSOCKNAME(2) |
名前¶
getsockname - ソケットの名前を取得する
書式¶
#include <sys/socket.h> int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
説明¶
getsockname() は、ソケット sockfd に結び付けられている現在のアドレスを、 addr が指すバッファに格納して返す。 addrlen 引き数は、 addr が指している領域のサイズ (バイト単位) に初期化しておかなければならない。 関数が返る時には、 addrlen にはソケットアドレスの実際のサイズ (バイト単位) が格納される。
渡されたバッファが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 addrlen には、呼び出し時に指定された値よりも大きな値が格納される。
返り値¶
成功した場合 0 を返す。失敗した場合 -1 を返し、 errno をエラーの内容に従って設定する。
エラー¶
準拠¶
SVr4, 4.4BSD (getsockname() 関数は 4.2BSD で追加された), POSIX.1-2001.
注意¶
getsockname() の三番目の引き数は (4.x BSD や libc4, libc5 と同様に) 実際には int * である。 glibc でも使われている現在の socklen_t に関して、 POSIX には少し混乱がある。 詳しくは accept(2) を参照のこと。
関連項目¶
bind(2), socket(2), getifaddrs(3), ip(7), socket(7), unix(7)
2008-12-03 | Linux |