summaryrefslogtreecommitdiff
path: root/nt
diff options
context:
space:
mode:
authorRobert Pluim <rpluim@gmail.com>2019-11-15 11:11:30 +0100
committerRobert Pluim <rpluim@gmail.com>2019-11-26 08:46:13 +0100
commit650a514e996287106f9a9525b6f27068ec2a0cbf (patch)
tree188170aae76f32d894d8df1baa7f435fbfe99d88 /nt
parent5c3d0cf7910afa6b3fbdba24ac5c5817f268eb0e (diff)
downloademacs-650a514e996287106f9a9525b6f27068ec2a0cbf.tar.gz
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.
Diffstat (limited to 'nt')
-rw-r--r--nt/inc/sys/socket.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/nt/inc/sys/socket.h b/nt/inc/sys/socket.h
index 6d26ff907e6..0f3943b453a 100644
--- a/nt/inc/sys/socket.h
+++ b/nt/inc/sys/socket.h
@@ -92,6 +92,8 @@ typedef unsigned short uint16_t;
#define connect sys_connect
#define htons sys_htons
#define ntohs sys_ntohs
+#define htonl sys_htonl
+#define ntohl sys_ntohl
#define inet_addr sys_inet_addr
#define gethostname sys_gethostname
#define gethostbyname sys_gethostbyname
@@ -112,6 +114,8 @@ int sys_bind (int s, const struct sockaddr *addr, int namelen);
int sys_connect (int s, const struct sockaddr *addr, int namelen);
u_short sys_htons (u_short hostshort);
u_short sys_ntohs (u_short netshort);
+u_long sys_htonl (u_long hostlong);
+u_long sys_ntohl (u_long netlong);
unsigned long sys_inet_addr (const char * cp);
int sys_gethostname (char * name, int namelen);
struct hostent * sys_gethostbyname (const char * name);