VMS Help  —  TCPIP Services, Programming Interfaces, Socket API Functions, getsockname()
    Returns the name associated with a socket.
    The $QIO equivalent is the IO$_SENSEMODE function with the p3
    argument.
    Format
      #include  <types.h>
      #include  <socket.h>
      int getsockname  ( int s, struct sockaddr *name, int *namelen
                       ); (_DECC_V4_SOURCE)
      int getsockname  ( int s, struct sockaddr *name, size_t
                       *namelen ); (not_DECC_V4_SOURCE)

1  –  Arguments

 s
    A socket descriptor created with the socket() function and bound
    to the socket name with the bind() function.
 name
    A pointer to the buffer in which getsockname() should return the
    socket name.
 namelen
    A pointer to an integer containing the size of the buffer pointed
    to by name. On return, the integer indicates the actual size, in
    bytes, of the name returned.

2  –  Description

    This function returns the current name for the specified socket
    descriptor. The name is in a format specific to the address
    family assigned to the socket (AF_INET, or AF_INET6 with BSD
    4.4 when _SOCKADDR_LEN is defined).
    The bind() function, not the getsockname()  function, makes the
    association of the name to the socket.
    Related Functions
    See also bind() and socket().

3  –  Return Values

    0                  Successful completion.
    -1                 Error; errno is set to indicate the error.

4  –  Errors

    EBADF              The descriptor is invalid.
    EFAULT             The name argument is not a valid part of the
                       user address space.
    ENOBUFS            The system has insufficient resources to
                       complete the call.
    ENOTSOCK           The socket descriptor is invalid.
    EOPNOTSUPP         The operation is not supported for this
                       socket's protocol.
Close Help