GETPEERNAME

Section: Linux Programmer's Manual (2)
Updated: 1993-07-30
Index JM Home Page roff page
 

名前

getpeername - 接続している相手ソケットの名前を取得する  

書式

#include <sys/socket.h>

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

説明

getpeername() はソケット(socket) s に接続している相手の名前を返す。 namelen パラメータは、 name で指定した領域のサイズに初期化しておかなければならない。 関数が返る時には、 namelen には実際に返された名前のサイズが (バイト単位で) 格納される。 提供されたバッファが小さすぎた場合には、名前は切り詰められる。  

返り値

成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno を適切に設定する。  

エラー

EBADF
引き数 s が有効なディスクリプタでない。
EFAULT
name パラメータの指しているメモリが有効なプロセスのアドレス空間の 一部でない。
EINVAL
namelen が不正である (例えば、負で場合など)。
ENOBUFS
この操作を行なうのに十分な資源がシステムに存在しない。
ENOTCONN
ソケットが接続していない。
ENOTSOCK
引き数 s がソケットでなくてファイルである。
 

準拠

SVr4, 4.4BSD (getpeername() 関数は 4.2BSD で登場した), POSIX.1-2001.  

注意

getpeername() の三番目の引き数は実際には `int *' である (4.x BSD, libc4, libc5 では このようになっている)。 POSIX では紆余曲折を経て現在の socklen_t になっており、 glibc でも socklen_t を使っている。 accept(2) も参照のこと。  

関連項目

accept(2), bind(2), getsockname(2)


 

Index

名前
書式
説明
返り値
エラー
準拠
注意
関連項目

This document was created by man2html, using the manual pages.
Time: 04:31:43 GMT, November 19, 2007