]> git.eshelyaron.com Git - emacs.git/commit
Extend network-interface-list to return IPv6 and network info
authorRobert Pluim <rpluim@gmail.com>
Fri, 15 Nov 2019 10:11:30 +0000 (11:11 +0100)
committerRobert Pluim <rpluim@gmail.com>
Tue, 26 Nov 2019 07:46:13 +0000 (08:46 +0100)
commit650a514e996287106f9a9525b6f27068ec2a0cbf
tree188170aae76f32d894d8df1baa7f435fbfe99d88
parent5c3d0cf7910afa6b3fbdba24ac5c5817f268eb0e
Extend network-interface-list to return IPv6 and network info

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.
doc/lispref/processes.texi
etc/NEWS
lisp/net/nsm.el
nt/inc/sys/socket.h
src/process.c
src/process.h
src/w32.c