From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36424) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z05eW-0003nS-Kp for qemu-devel@nongnu.org; Wed, 03 Jun 2015 06:12:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z05eT-00039n-Db for qemu-devel@nongnu.org; Wed, 03 Jun 2015 06:12:04 -0400 Received: from mx2.parallels.com ([199.115.105.18]:35497) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z05eT-00036P-8P for qemu-devel@nongnu.org; Wed, 03 Jun 2015 06:12:01 -0400 Message-ID: <556ED2D6.3010002@parallels.com> Date: Wed, 3 Jun 2015 13:11:34 +0300 From: Olga Krishtal MIME-Version: 1.0 References: <1432838461-2637-1-git-send-email-kallan@suse.com> <1432838461-2637-3-git-send-email-kallan@suse.com> <55679D0F.8090804@redhat.com> <5568387D.4060808@parallels.com> In-Reply-To: <5568387D.4060808@parallels.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v3 2/2] qga: win32 implementation of qmp_guest_network_get_interfaces List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , Kirk Allan , qemu-devel@nongnu.org Cc: sw@weilnetz.de, mdroth@linux.vnet.ibm.com On 29/05/15 12:59, Olga Krishtal wrote: > On 29/05/15 01:56, Eric Blake wrote: >> On 05/28/2015 12:41 PM, Kirk Allan wrote: >>> By default, IP addresses and prefixes will be derived from information >>> obtained by various calls and structures. IPv4 prefixes can be found >>> by matching the address to those returned by GetAdaptersInfo. IPv6 >>> prefixes can not be matched this way due to the unpredictable order of >>> entries. >>> >>> In Windows Visa/2008 guests and newer, it is possible to use >>> inet_ntop() >> s/Visa/Vista/ >> >>> and OnLinkPrefixLength to get IPv4 and IPv6 addresses and prefixes. >> Why the double spacing? >> >>> Setting –extra-cflags in the build configuration to >> Again, Unicode mdash looks odd. >> >>> ”- D_WIN32_WINNT-0x600 -DWINVER=0x600” or greater enables this >>> functionality >>> for those guests. Setting –ectra-cflags is not required and if not >>> used, >> s/ectra/extra/ >> >>> the default approach will be taken. >>> >>> Signed-off-by: Kirk Allan >>> --- >>> qga/commands-win32.c | 292 >>> ++++++++++++++++++++++++++++++++++++++++++++++++++- >>> 1 file changed, 290 insertions(+), 2 deletions(-) >>> + >>> +static char *guest_inet_ntop(int af, void *cp, char *buf, size_t len) >>> +{ >>> +#if (_WIN32_WINNT >= 0x0600) && defined(ARCH_x86_64) >>> + /* If built for 64 bit Windows Vista/2008 or newer, inet_ntop() is >>> + * available for use. Otherwise, do our best to derive it. >>> + */ >>> + return (char *)InetNtop(af, cp, buf, len); >>> +#else >> Are you sure glib doesn't provide some sort of inet_ntop wrapper that >> you could crib, instead of rolling your own? And if you must roll your >> own, do it as a separate patch from the rest of this work, possibly by >> copying from glibc or other existing implementation (with proper credits >> to the upstream source), rather than writing it from scratch. > Agree. Moreover, there is separate functions for inet4 and inet6. > Pls, look here > https://developer.gnome.org/libnm/stable/libnm-nm-utils.html > Here you can find nm_utils_inet4/6_ntop() description. > >>> + u_char *p; >> u_char is not a standard typedef; uint8_t is more common. >> > > Eric, I have looked attentively at glib utils for nm_utils_inet4/6_ntop(). Header to use this function can be found in NetworkManager-libnm-devel.XXX.rpm. It would be difficult to support all its functionality. So, the only way, as I see it, to make out own realization (may be just look at how it was implemented in nm-utils.h )