OSDN Git Service

(split) LDP: Update release pages based on LDP 3.54 release
[linuxjm/LDP_man-pages.git] / release / man2 / getpeername.2
index 417361b..784cc48 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (c) 1983, 1991 The Regents of the University of California.
 .\" All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -28,6 +29,7 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\"     @(#)getpeername.2      6.5 (Berkeley) 3/10/91
 .\"
 .\" Modified 17 Jul 2002, Michael Kerrisk <mtk.manpages@gmail.com>
 .\"    Added 'socket' to NAME, so that "man -k socket" will show this page.
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated Sat Apr  3 14:53:19 JST 1999
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated Tue Nov 26 JST 2002 by Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.\"WORD:       connect                 接続
-.\"WORD:       peer                    相手
-.\"WORD:       socket                  ソケット
-.\"WORD:       buffer                  バッファ
-.\"WORD:       descriptor              ディスクリプタ
-.\"WORD:       argument                引き数
-.\"
-.TH GETPEERNAME 2 2008-12-03 "Linux" "Linux Programmer's Manual"
+.TH GETPEERNAME 2 2013\-02\-12 Linux "Linux Programmer's Manual"
 .SH 名前
 getpeername \- 接続している相手ソケットの名前を取得する
 .SH 書式
-.B #include <sys/socket.h>
+\fB#include <sys/socket.h>\fP
 .sp
-.BI "int getpeername(int " sockfd ", struct sockaddr *" addr \
-", socklen_t *" addrlen );
+\fBint getpeername(int \fP\fIsockfd\fP\fB, struct sockaddr *\fP\fIaddr\fP\fB, socklen_t
+*\fP\fIaddrlen\fP\fB);\fP
 .SH 説明
-.BR getpeername ()
-は、ソケット(socket)
-.I sockfd
-に接続している相手のアドレスを、
-.I addr
-が指すバッファに格納して返す。
-.I addrlen
-引き数は、
-.I addr
-が指している領域のサイズに初期化しておかなければならない。
-関数が返る時には、
-.I addrlen
-には実際に返された名前のサイズが (バイト単位で) 格納される。
+\fBgetpeername\fP()  は、ソケット(socket)  \fIsockfd\fP に接続している相手のアドレスを、 \fIaddr\fP
+が指すバッファに格納して返す。 \fIaddrlen\fP 引き数は、 \fIaddr\fP が指している領域のサイズに初期化しておかなければならない。
+関数が返る時には、 \fIaddrlen\fP には実際に返された名前のサイズが (バイト単位で) 格納される。
 提供されたバッファが小さすぎた場合には、名前は切り詰められる。
 
-渡されたバッファが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。
-この場合には、
-.I addrlen
+渡されたバッファが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 \fIaddrlen\fP
 には、呼び出し時に指定された値よりも大きな値が格納される。
 .SH 返り値
-成功した場合は 0 が返される。エラーの場合は \-1 が返され、
-.I errno
-を適切に設定する。
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
-.TP
-.B EBADF
-引き数
-.I sockfd
-が有効なディスクリプタでない。
-.TP
-.B EFAULT
-.I addr
-引き数の指しているメモリが有効なプロセスのアドレス空間の
-一部でない。
-.TP
-.B EINVAL
-.I addrlen
-が不正である (例えば、負で場合など)。
-.TP
-.B ENOBUFS
+.TP 
+\fBEBADF\fP
+引き数 \fIsockfd\fP が有効なディスクリプタでない。
+.TP 
+\fBEFAULT\fP
+\fIaddr\fP 引き数の指しているメモリが有効なプロセスのアドレス空間の 一部でない。
+.TP 
+\fBEINVAL\fP
+\fIaddrlen\fP が不正である (例えば、負で場合など)。
+.TP 
+\fBENOBUFS\fP
 この操作を行なうのに十分な資源がシステムに存在しない。
-.TP
-.B ENOTCONN
+.TP 
+\fBENOTCONN\fP
 ソケットが接続していない。
-.TP
-.B ENOTSOCK
-引き数
-.I sockfd
-がソケットでなくてファイルである。
+.TP 
+\fBENOTSOCK\fP
+引き数 \fIsockfd\fP がソケットでなくてファイルである。
 .SH 準拠
-SVr4, 4.4BSD
-.RB ( getpeername ()
-関数は 4.2BSD で登場した), POSIX.1-2001.
+SVr4, 4.4BSD (\fBgetpeername\fP()  関数は 4.2BSD で登場した), POSIX.1\-2001.
 .SH 注意
-.BR getpeername ()
-の三番目の引き数は実際には
-.I `int *'
-である (4.x BSD, libc4, libc5 では
-このようになっている)。
-POSIX では紆余曲折を経て現在の
-.I socklen_t
-になっており、
-glibc でも
-.I socklen_t
-を使っている。
-.BR accept (2)
-も参照のこと。
+\fBgetpeername\fP()  の三番目の引き数は実際には \fI`int\ *'\fP である (4.x BSD, libc4, libc5 では
+このようになっている)。 POSIX では紆余曲折を経て現在の \fIsocklen_t\fP になっており、 glibc でも \fIsocklen_t\fP
+を使っている。 \fBaccept\fP(2)  も参照のこと。
+
+ストリームソケットでは、 いったん \fBconnect\fP(2) が実行されると、 どのソケットも \fBgetpeername\fP()
+を使って相手ソケットのアドレスを取得できる。 一方、データグラムソケットはコネクションレスである (接続がない)。 データグラムソケットに対する
+\fBconnect\fP(2) の呼び出しは、 \fBwrite\fP(2) や \fBrecv\fP(2)
+で送信される出力データグラムの相手アドレスを設定するだけである。
+\fBconnect\fP(2) の呼び出し元は、 \fBgetpeername\fP()
+を使って、それ以前にそのソケットに設定された相手アドレスを取得することができる。 しかし、相手ソケットはこの情報を知らないので、 相手ソケットで
+\fBgetpeername\fP() を呼び出しても、 役に立つ情報は得られない (相手側でも \fBconnect\fP(2) が呼び出されている場合を除く)。
+なお、データグラムの受信側では \fBrecvfrom\fP(2) を使って送信元アドレスを 取得できることも覚えておいてほしい。
 .SH 関連項目
-.BR accept (2),
-.BR bind (2),
-.BR getsockname (2),
-.BR ip (7),
-.BR socket (7),
-.BR unix (7)
+\fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBip\fP(7), \fBsocket\fP(7),
+\fBunix\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。