• 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
..
cdrom.c Loading commit data...
debug.c Loading commit data...
dwarf.h Loading commit data...
env.c Loading commit data...
file.c Loading commit data...
loader.c Loading commit data...
loadorder.c Loading commit data...
process.c Loading commit data...
registry.c Loading commit data...
security.c Loading commit data...
serial.c Loading commit data...
server.c Loading commit data...
signal_arm.c Loading commit data...
signal_arm64.c Loading commit data...
signal_i386.c Loading commit data...
signal_x86_64.c Loading commit data...
socket.c Loading commit data...
sync.c Loading commit data...
system.c Loading commit data...
tape.c Loading commit data...
thread.c Loading commit data...
unix_private.h Loading commit data...
virtual.c Loading commit data...