• Robert Pluim's avatar
    Extend network-interface-list to return IPv6 and network info · 650a514e
    Robert Pluim authored
    Bug#38218
    
    * src/process.c (Fnetwork_interface_list): Extend argument list to
    allow requesting full network info and/or IPv4/IPv6 info.
    (network_interface_list) [HAVE_GETIFADDRS]: Use getifaddrs to retrieve
    interface IP addresses.
    
    * src/process.h: Update prototype of network_interface_list.
    
    * src/w32.c (g_b_init_get_adapters_addresses): New init flag.
    (globals_of_w32): Initialize it.
    (GetAdaptersAddresses_Proc): New function typedef.
    (get_adapters_addresses): New wrapper function.
    (init_winsock): Load htonl and ntohl.
    (sys_htonl, sys_ntohl): New wrapper functions.
    (network_interface_list): Implement in terms of
    get_adapters_addresses.
    
    * nt/inc/sys/socket.h: Add sys_htonl and sys_ntohl prototypes.
    
    * etc/NEWS: Announce IPv4/IPv6 changes in network-interface-list.
    
    * doc/lispref/processes.texi (Misc Network): Document updated arglist
    and return values for network-interface-list.
    650a514e
w32.c 286 KB