GETSOCKNAME

Section: Linux Programmer's Manual (2)
Updated: 2008-12-03
Index JM Home Page roff page
 

名前

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

書式

#include <sys/socket.h>

int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
 

説明

getsockname() は、ソケット sockfd に結び付けられている現在のアドレスを、 addr が指すバッファーに格納して返す。 addrlen 引き数は、 addr が指している領域のサイズ (バイト単位) に初期化しておかなければならない。 関数が返る時には、 addrlen にはソケットアドレスの実際のサイズ (バイト単位) が格納される。

渡されたバッファーが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 addrlen には、呼び出し時に指定された値よりも大きな値が格納される。  

返り値

成功した場合にはゼロが返される。エラー時には -1 が返され、 errno が適切に設定される。  

エラー

EBADF
引き数 sockfd は有効なディスクリプターでない。
EFAULT
引き数 addr の指しているメモリーがプロセスのアドレス空間の有効な部分ではない。
EINVAL
addrlen が不正である (例えば、負で場合など)。
ENOBUFS
処理をするだけの十分なリソースがシステムに無い。
ENOTSOCK
引き数 sockfd がソケットではなくファイルである。
 

準拠

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)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。


 

Index

名前
書式
説明
返り値
エラー
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 03:33:23 GMT, March 14, 2018