unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 getsockname(2)						      getsockname(2)




 NAME
      getsockname - get socket address

 SYNOPSIS
      #include <&lt&lt&lt;sys/socket.h>&gt&gt&gt;

    AF_CCITT only:
      #include <&lt&lt&lt;x25/x25addrstr.h>&gt&gt&gt;

      int getsockname(int s, void *addr, int *addrlen);

    _XOPEN_SOURCE_EXTENDED only (UNIX 98)
      int getsockname(int s, struct sockaddr *addr, socklen_t *addrlen);

    Obsolescent _XOPEN_SOURCE_EXTENDED only (UNIX 95)
      int getsockname(int s, struct sockaddr *addr, size_t *addrlen);

 DESCRIPTION
      getsockname() returns the local address of the socket indicated by s,
      where s is a socket descriptor.  addr points to a socket address
      structure in which this address is returned.  addrlen points to a
      variable that should be initialized to indicate the size of the
      address structure.  On return it contains the actual size of the
      address returned (in bytes).  If addr does not point to enough space
      to contain the whole address of the socket, only the first addrlen
      bytes of the address are returned.

    AF_CCITT only:
      The x25_host[] field of the addr struct returns the X.25 addressing
      information of the local socket s.  The x25ifname[] field of the addr
      struct contains the name of the local X.25 interface through which the
      call arrived.

 RETURN VALUE
      Upon successful completion, getsockname() returns 0; otherwise, it
      returns -1 and sets errno to indicate the error.

 ERRORS
      getsockname() fails if any of the following conditions are
      encountered:

	   [EBADF]	       s is not a valid file descriptor.

	   [ENOTSOCK]	       s is a valid file descriptor, but it is not a
			       socket.

	   [ENOBUFS]	       No buffer space is available to perform the
			       operation.

	   [EFAULT]	       addr or addrlen are not valid pointers.




 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 getsockname(2)						      getsockname(2)




	   [EINVAL]	       The socket has been shut down.

	   [EOPNOTSUPP]	       Operation not supported for AF_UNIX sockets.

 OBSOLESCENCE
      Currently, the socklen_t and size_t types are the same size.  This is
      compatible with both the UNIX 95 and UNIX 98 profiles.  However, in a
      future release, socklen_t might be a different size.  In that case,
      passing a size_t pointer will evoke compile-time warnings, which must
      be corrected in order for the application to behave correctly.
      Applications that use socklen_t now, where appropriate, will avoid
      such migration problems.	On the other hand, applications that need to
      be portable to the UNIX 95 profile should follow the X/Open
      specification (see xopen_networking(7)).

 FUTURE DIRECTION
      Currently, the default behavior is the HP-UX BSD Sockets; however, it
      might be changed to X/Open Sockets in a future release.  At that time,
      any HP-UX BSD Sockets behavior that is incompatible with X/Open
      Sockets might be obsoleted.  Applications that conform to the X/Open
      specification now will avoid migration problems (see
      xopen_networking(7)).

 MULTITHREAD USAGE
      The getsockname() system call is thread-safe.  It has a cancellation
      point; and it is async-cancel safe, async-signal safe, and fork-safe.

 AUTHOR
      getsockname() was developed by HP and the University of California,
      Berkeley.

 SEE ALSO
      bind(2), socket(2), getpeername(2), inet(7F), af_ccitt(7F),
      xopen_networking(7).

 STANDARDS CONFORMANCE
      getsockname(): XPG4

















 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000