[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 2/2] qga: win32 implementation of qmp_guest_n

From: Olga Krishtal
Subject: Re: [Qemu-devel] [PATCH v3 2/2] qga: win32 implementation of qmp_guest_network_get_interfaces
Date: Fri, 29 May 2015 12:59:25 +0300
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

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

In Windows Visa/2008 guests and newer, it is possible to use inet_ntop()

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,

the default approach will be taken.

Signed-off-by: Kirk Allan <address@hidden>
 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);
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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]