diff options
author | Adam Mitz <mitza@objectcomputing.com> | 2020-04-15 16:41:46 -0500 |
---|---|---|
committer | Adam Mitz <mitza@objectcomputing.com> | 2020-04-15 16:41:46 -0500 |
commit | 6bba4e6ab236c0357b76ed8f7e5e7792b608de22 (patch) | |
tree | f5738bee8c53013fb790729aedea0786566f2629 | |
parent | 336b5d7ddb8a0d306e62e80b31f7838a4e359b36 (diff) | |
download | ATCD-6bba4e6ab236c0357b76ed8f7e5e7792b608de22.tar.gz |
Support if_nametoindex on Windows - responded to review comments.
-rw-r--r-- | ACE/NEWS | 6 | ||||
-rw-r--r-- | ACE/ace/OS_NS_sys_socket.h | 4 | ||||
-rw-r--r-- | ACE/ace/OS_NS_sys_socket.inl | 16 | ||||
-rw-r--r-- | ACE/ace/config-face-safety.h | 3 | ||||
-rw-r--r-- | ACE/ace/config-win32-common.h | 9 | ||||
-rw-r--r-- | ACE/ace/os_include/net/os_if.h | 4 |
6 files changed, 24 insertions, 18 deletions
@@ -1,7 +1,11 @@ USER VISIBLE CHANGES BETWEEN ACE-6.5.8 and ACE-6.5.9 ==================================================== -. _WIN32_WINNT no longer defined but checked for at least 0x0600. +. On Windows, ACE no longer defines _WIN32_WINNT. ACE wrappers for + if_nametoindex and if_indextoname are available if the version of the + Windows SDK supports them. + +. IPv6 extended datagram receive info now supported on macOS. USER VISIBLE CHANGES BETWEEN ACE-6.5.7 and ACE-6.5.8 ==================================================== diff --git a/ACE/ace/OS_NS_sys_socket.h b/ACE/ace/OS_NS_sys_socket.h index 3c34e452902..faa6cd9bdfb 100644 --- a/ACE/ace/OS_NS_sys_socket.h +++ b/ACE/ace/OS_NS_sys_socket.h @@ -75,10 +75,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL class ACE_Accept_QoS_Params; class ACE_QoS_Params; -#if defined(ACE_WIN32) - struct if_nameindex {}; -#endif - namespace ACE_OS { diff --git a/ACE/ace/OS_NS_sys_socket.inl b/ACE/ace/OS_NS_sys_socket.inl index 5ff9ecae398..3da4104198e 100644 --- a/ACE/ace/OS_NS_sys_socket.inl +++ b/ACE/ace/OS_NS_sys_socket.inl @@ -1024,48 +1024,48 @@ ACE_INLINE unsigned int ACE_OS::if_nametoindex (const char *ifname) { ACE_OS_TRACE ("ACE_OS::if_nametoindex"); -#if defined (ACE_LACKS_IF_NAME_INDEX) +#ifdef ACE_LACKS_IF_NAMETOINDEX ACE_UNUSED_ARG (ifname); ACE_NOTSUP_RETURN (0); #else ACE_OSCALL_RETURN (::if_nametoindex (ifname), int, 0); -#endif /* ACE_LACKS_IF_NAME_INDEX */ +#endif /* ACE_LACKS_IF_NAMETOINDEX */ } ACE_INLINE char * ACE_OS::if_indextoname (unsigned int ifindex, char *ifname) { ACE_OS_TRACE ("ACE_OS::if_indextoname"); -#if defined (ACE_LACKS_IF_NAME_INDEX) +#ifdef ACE_LACKS_IF_NAMETOINDEX ACE_UNUSED_ARG (ifindex); ACE_UNUSED_ARG (ifname); ACE_NOTSUP_RETURN (0); #else ACE_OSCALL_RETURN (::if_indextoname (ifindex, ifname), char *, 0); -#endif /* ACE_LACKS_IF_NAME_INDEX */ +#endif /* ACE_LACKS_IF_NAMETOINDEX */ } ACE_INLINE struct if_nameindex * ACE_OS::if_nameindex (void) { ACE_OS_TRACE ("ACE_OS::if_nameindex"); -#if defined (ACE_LACKS_IF_NAME_INDEX) || defined(ACE_WIN32) +#ifdef ACE_LACKS_IF_NAMEINDEX ACE_NOTSUP_RETURN (0); #else ACE_OSCALL_RETURN (::if_nameindex (), struct if_nameindex *, 0); -#endif /* ACE_LACKS_IF_NAME_INDEX */ +#endif /* ACE_LACKS_IF_NAMEINDEX */ } ACE_INLINE void ACE_OS::if_freenameindex (struct if_nameindex *ptr) { ACE_OS_TRACE ("ACE_OS::if_freenameindex"); -#if defined (ACE_LACKS_IF_NAME_INDEX) || defined(ACE_WIN32) +#ifdef ACE_LACKS_IF_NAMEINDEX ACE_UNUSED_ARG (ptr); #else if (ptr != 0) ::if_freenameindex (ptr); -#endif /* ACE_LACKS_IF_NAME_INDEX */ +#endif /* ACE_LACKS_IF_NAMEINDEX */ } ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/config-face-safety.h b/ACE/ace/config-face-safety.h index adfb8ca6630..b06fed1e5b0 100644 --- a/ACE/ace/config-face-safety.h +++ b/ACE/ace/config-face-safety.h @@ -305,7 +305,8 @@ # define ACE_LACKS_FSETPOS # define ACE_LACKS_GETC # define ACE_LACKS_GETTIMEOFDAY -# define ACE_LACKS_IF_NAME_INDEX +# define ACE_LACKS_IF_NAMEINDEX +# define ACE_LACKS_IF_NAMETOINDEX # define ACE_LACKS_IOCTL # define ACE_LACKS_LOCALECONV # define ACE_LACKS_MUNMAP diff --git a/ACE/ace/config-win32-common.h b/ACE/ace/config-win32-common.h index 4dd4fa0413a..6a9b39310fa 100644 --- a/ACE/ace/config-win32-common.h +++ b/ACE/ace/config-win32-common.h @@ -55,10 +55,6 @@ # endif /* !_FILE_OFFSET_BITS */ #endif /* _WIN64 || WIN64 */ -#if !defined (_WIN32_WINNT) || _WIN32_WINNT < 0x0600 -# error _WIN32_WINNT must be at least 0x0600 -#endif - // If the invoking procedure turned off debugging by setting NDEBUG, then // also set ACE_NDEBUG, unless the user has already set it. #if defined (NDEBUG) @@ -566,6 +562,11 @@ # define ACE_WSOCK_VERSION 1, 1 #endif /* ACE_HAS_WINSOCK2 */ +#if _WIN32_WINNT < 0x600 +# define ACE_LACKS_IF_NAMETOINDEX +#endif +#define ACE_LACKS_IF_NAMEINDEX + // Platform supports IP multicast on Winsock 2 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) # define ACE_HAS_IP_MULTICAST diff --git a/ACE/ace/os_include/net/os_if.h b/ACE/ace/os_include/net/os_if.h index a0d815e2165..c7496926d80 100644 --- a/ACE/ace/os_include/net/os_if.h +++ b/ACE/ace/os_include/net/os_if.h @@ -102,6 +102,10 @@ struct ifconf { # define IFF_BROADCAST 0x2 #endif /* IFF_BROADCAST */ +#ifdef ACE_LACKS_IF_NAMEINDEX +struct if_nameindex {}; +#endif + #ifdef __cplusplus } #endif /* __cplusplus */ |