mirror of https://github.com/mkerrisk/man-pages
91 lines
2.6 KiB
Plaintext
91 lines
2.6 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "GETPEERNAME" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" getpeername
|
|
.SH NAME
|
|
getpeername \- get the name of the peer socket
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <sys/socket.h>
|
|
.br
|
|
.sp
|
|
int getpeername(int\fP \fIsocket\fP\fB, struct sockaddr *restrict\fP
|
|
\fIaddress\fP\fB,
|
|
.br
|
|
\ \ \ \ \ \ socklen_t *restrict\fP \fIaddress_len\fP\fB);
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIgetpeername\fP() function shall retrieve the peer address of
|
|
the specified socket, store this address in the
|
|
\fBsockaddr\fP structure pointed to by the \fIaddress\fP argument,
|
|
and store the length of this address in the object pointed to
|
|
by the \fIaddress_len\fP argument.
|
|
.LP
|
|
If the actual length of the address is greater than the length of
|
|
the supplied \fBsockaddr\fP structure, the stored address
|
|
shall be truncated.
|
|
.LP
|
|
If the protocol permits connections by unbound clients, and the peer
|
|
is not bound, then the value stored in the object pointed
|
|
to by \fIaddress\fP is unspecified.
|
|
.SH RETURN VALUE
|
|
.LP
|
|
Upon successful completion, 0 shall be returned. Otherwise, -1 shall
|
|
be returned and \fIerrno\fP set to indicate the error.
|
|
.SH ERRORS
|
|
.LP
|
|
The \fIgetpeername\fP() function shall fail if:
|
|
.TP 7
|
|
.B EBADF
|
|
The \fIsocket\fP argument is not a valid file descriptor.
|
|
.TP 7
|
|
.B EINVAL
|
|
The socket has been shut down.
|
|
.TP 7
|
|
.B ENOTCONN
|
|
The socket is not connected or otherwise has not had the peer pre-specified.
|
|
.TP 7
|
|
.B ENOTSOCK
|
|
The \fIsocket\fP argument does not refer to a socket.
|
|
.TP 7
|
|
.B EOPNOTSUPP
|
|
The operation is not supported for the socket protocol.
|
|
.sp
|
|
.LP
|
|
The \fIgetpeername\fP() function may fail if:
|
|
.TP 7
|
|
.B ENOBUFS
|
|
Insufficient resources were available in the system to complete the
|
|
call.
|
|
.sp
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
None.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIaccept\fP() , \fIbind\fP() , \fIgetsockname\fP() , \fIsocket\fP()
|
|
, the Base Definitions volume of
|
|
IEEE\ Std\ 1003.1-2001, \fI<sys/socket.h>\fP
|
|
.SH COPYRIGHT
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
event of any discrepancy between this version and the original IEEE and
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
is the referee document. The original Standard can be obtained online at
|
|
http://www.opengroup.org/unix/online.html .
|