Mercurial > gnulib
view doc/posix-functions/getsockopt.texi @ 39231:05af34a75041
Fix malfunction of socket functions on HP-UX in 64-bit mode.
* m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
_HPUX_ALT_XOPEN_SOCKET_API.
* modules/accept (Depends-on): Add 'extensions'.
* modules/getpeername (Depends-on): Likewise.
* modules/getsockname (Depends-on): Likewise.
* modules/getsockopt (Depends-on): Likewise.
* modules/recvfrom (Depends-on): Likewise.
* doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
* doc/posix-functions/getpeername.texi: Likewise.
* doc/posix-functions/getsockname.texi: Likewise.
* doc/posix-functions/getsockopt.texi: Likewise.
* doc/posix-functions/recvfrom.texi: Likewise.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 27 Jan 2018 10:57:59 +0100 |
parents | a9320246370f |
children |
line wrap: on
line source
@node getsockopt @section @code{getsockopt} @findex getsockopt POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/getsockopt.html} Gnulib module: getsockopt Portability problems fixed by Gnulib: @itemize @item On Windows platforms (excluding Cygwin), error codes from this function are not placed in @code{errno}, and @code{WSAGetLastError} must be used instead. @item On HP-UX 11, in 64-bit mode, when the macro @code{_HPUX_ALT_XOPEN_SOCKET_API} is not defined, this function behaves incorrectly because it is declared to take a pointer to a 64-bit wide @code{socklen_t} entity but in fact considers it as a pointer to a 32-bit wide @code{unsigned int} entity. @end itemize Portability problems not fixed by Gnulib: @itemize @item This function is missing on some platforms: BeOS. @item Some platforms don't have a @code{socklen_t} type; in this case this function's fifth argument type is @samp{int *}. @item Many socket options are not available on all platforms. @item BeOS has the @code{setsockopt} function, but not the @code{getsockopt} function. @end itemize