• Jinoh Kang's avatar
    ntdll: Avoid relying on linux/ipx.h to define SOL_IPX. · 14d4a896
    Jinoh Kang authored
    musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
    macro.  However, it still provides linux/ipx.h from Linux uAPI header
    files if it exists.
    
    Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
    although IPX support has already been marked obsolete since 2018.
    
    Fix this by not defining HAS_IPX if linux/ipx.h has been included but
    nothing defines the SOL_IPX macro.
    
    Status of IPX support from other libcs are noted below:
    
    - bionic: netipx/ipx.h does not exist.  linux/ipx.h may or may not
      exist.  Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
      missing.
    
    - glibc: netipx/ipx.h exists.  In this case, Wine assumes IPX support
      even if the operating system does not support it in runtime.
    
    - BSD variants: netipx/ipx.h may or may not exist.  linux/ipx.h does not
      exist.  Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.
    
    Fixes: 954bf9e0
    14d4a896
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...