*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> getpeername (2)              
Title
Content
Arch
Section
 

GETPEERNAME(2)

Contents


NAME    [Toc]    [Back]

     getpeername - get name of connected peer

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <sys/socket.h>

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

DESCRIPTION    [Toc]    [Back]

     getpeername()  returns  the  address information of the peer
connected to
     socket s.  One common use occurs when a process inherits  an
open socket,
     such as TCP servers forked from inetd(8).  In this scenario,
     getpeername() is used to determine the  connecting  client's
IP address.

     getpeername() takes three parameters:

     s  contains  the  file  descriptor  of the socket whose peer
should be looked
     up.

     name points to a sockaddr structure that will hold  the  address information
 for the connected peer.  Normal use requires one to use
a structure
     specific to the protocol family in use, such as  sockaddr_in
(IPv4) or
     sockaddr_in6 (IPv6), cast to a (struct sockaddr *).

     For  greater portability, especially with the newer protocol
families, the
     new struct sockaddr_storage should be used.   sockaddr_storage is large
     enough to hold any of the other sockaddr_* variants.  On return, it can
     be cast to the correct sockaddr type, based on the  protocol
family contained
 in its ss_family field.

     namelen indicates the amount of space pointed to by name, in
bytes.

     If address information for the local end of  the  socket  is
required, the
     getsockname(2) function should be used instead.

     If  name  does  not point to enough space to hold the entire
socket address,
     the result will be truncated to namelen bytes.

RETURN VALUES    [Toc]    [Back]

     If the call succeeds, a 0 is returned and namelen is set  to
the actual
     size  of  the  socket  address returned in name.  Otherwise,
errno is set and
     a value of -1 is returned.

ERRORS    [Toc]    [Back]

     On failure, errno is set to one of the following:

     [EBADF]       The argument s is not a valid descriptor.

     [ENOTSOCK]    The argument s is a file, not a socket.

     [ENOTCONN]    The socket is not connected.

     [ENOBUFS]     Insufficient resources were available  in  the
system to perform
 the operation.

     [EFAULT]       The  name parameter points to memory not in a
valid part of
                   the process address space.

SEE ALSO    [Toc]    [Back]

      
      
     accept(2), bind(2), getpeereid(2), getsockname(2), socket(2)

HISTORY    [Toc]    [Back]

     The getpeername() function call appeared in 4.2BSD.

OpenBSD      3.6                           July      17,     1999
[ Back ]
 Similar pages
Name OS Title
getpeername HP-UX get address of connected peer
datapipe IRIX peer-to-peer data transfer between hardware devices.
recv Tru64 Receive messages from connected sockets
socketpair Tru64 Create a pair of connected sockets
socketpair OpenBSD create a pair of connected sockets
usbdevs OpenBSD show USB devices connected to the system
socketpair HP-UX create a pair of connected sockets
socketpair NetBSD create a pair of connected sockets
device_get_children FreeBSD get a list of devices connected to a device
usbdevs FreeBSD show USB devices connected to the system
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service