getsockname - get socket name


SYNOPSIS

       #include <sys/socket.h>

       int   getsockname(int   s  ,  struct  sockaddr  *  name  ,
       socklen_t * namelen )


DESCRIPTION

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


RETURN VALUE

       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.


ERRORS

       EBADF  The argument s is not a valid descriptor.

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

       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.


CONFORMING TO

       SVr4,  4.4BSD  (the  getsockname function call appeared in
       4.2BSD).  SVr4 documents additional ENOMEM and ENOSR error
       codes.


NOTE

       The third argument of getsockname is in reality an `int *'
       (and this is what BSD 4.* and libc4 and libc5 have).  Some
       POSIX  confusion  resulted  in the present socklen_t.  The
       draft standard  has  not  been  adopted  yet,  but  glibc2
       already  follows  it  and  also  has  socklen_t.  See also
       accept(2).


SEE ALSO

       bind(2), socket(2)