Documentation Archive Developer
ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages


This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).

GETSOCKNAME(2)              BSD System Calls Manual             GETSOCKNAME(2)

     getsockname -- get socket name

     #include <sys/socket.h>

     getsockname(int socket, struct sockaddr *restrict address,
         socklen_t *restrict address_len);

     Getsockname() returns the current address for the specified socket.  The
     address_len parameter should be initialized to indicate the amount of
     space pointed to by address.  On return it contains the actual size of
     the name returned (in bytes).

     The getsockname() function returns the value 0 if successful; otherwise
     the value -1 is returned and the global variable errno is set to indicate
     the error.

     The getsockname() system call will succeed unless:

     [EBADF]            The argument socket is not a valid file descriptor.

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

     [EINVAL]           socket has been shut down.

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

     [ENOTSOCK]         The argument socket is not a socket (e.g., a plain

     [EOPNOTSUPP]       getsockname() is not supported for the protocol in use
                        by socket.

     bind(2), socket(2)

     Names bound to sockets in the UNIX domain are inaccessible; getsockname()
     returns a zero-length name.

     The getsockname() call appeared in 4.2BSD.

4.2 Berkeley Distribution        June 4, 1993        4.2 Berkeley Distribution