From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:39264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UfnmA-0005VM-4H for qemu-devel@nongnu.org; Fri, 24 May 2013 04:55:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ufnm7-00005Q-Q9 for qemu-devel@nongnu.org; Fri, 24 May 2013 04:55:02 -0400 Received: from mail-wg0-x22b.google.com ([2a00:1450:400c:c00::22b]:33719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ufnm7-00005F-IU for qemu-devel@nongnu.org; Fri, 24 May 2013 04:54:59 -0400 Received: by mail-wg0-f43.google.com with SMTP id x12so319304wgg.34 for ; Fri, 24 May 2013 01:54:58 -0700 (PDT) Date: Fri, 24 May 2013 10:54:56 +0200 From: Stefan Hajnoczi Message-ID: <20130524085456.GC21639@stefanha-thinkpad.redhat.com> References: <20130523122221.GL9093@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [RFC PATCH v3 05/11] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tomoki Sekiyama Cc: "mdroth@linux.vnet.ibm.com" , "qemu-devel@nongnu.org" , "lcapitulino@redhat.com" , "vrozenfe@redhat.com" , "pbonzini@redhat.com" , Seiji Aguchi , "areis@redhat.com" On Thu, May 23, 2013 at 06:36:35PM +0000, Tomoki Sekiyama wrote: > On 5/23/13 8:22 , "Stefan Hajnoczi" wrote: > > >On Tue, May 21, 2013 at 11:33:52AM -0400, Tomoki Sekiyama wrote: > >> diff --git a/qga/vss-win32.h b/qga/vss-win32.h > >> new file mode 100644 > >> index 0000000..7600087 > >> --- /dev/null > >> +++ b/qga/vss-win32.h > >> @@ -0,0 +1,85 @@ > >> +/* > >> + * QEMU Guest Agent win32 VSS common declarations > >> + * > >> + * Copyright Hitachi Data Systems Corp. 2013 > >> + * > >> + * Authors: > >> + * Tomoki Sekiyama > >> + * > >> + * This work is licensed under the terms of the GNU GPL, version 2 or > >>later. > >> + * See the COPYING file in the top-level directory. > >> + */ > >> + > >> +#ifndef VSS_WIN32_H > >> +#define VSS_WIN32_H > >> + > >> +#define __MIDL_user_allocate_free_DEFINED__ > >> +#include "config-host.h" > >> +#include > >> +#include > >> + > >> +/* Reduce warnings to include vss.h */ > >> +#define __in IN > >> +#define __out OUT > >> +#define __RPC_unique_pointer > >> +#define __RPC_string > >> +#define __RPC__deref_inout_opt > >> +#define __RPC__out > >> +#ifndef __RPC__out_ecount_part > >> +#define __RPC__out_ecount_part(x, y) > >> +#endif > >> +#define _declspec(x) > >> +#undef uuid > >> +#define uuid(x) > > > >This looks hacky. Why are you stubbing out macros that vss.h uses? > > Because these macros are internally defined/used by windows SDK's > headers and not fully covered by mingw (some of them is only > meaningful with Microsoft IDE), so it don't compile without > these define's. > > This could be better if mingw supports these VSS headers, but > I have no idea how to achieve that... Please add a comment explaining this. BTW, did you look at the macro definitions to see if they define anything important? In other words, is there a difference when compiled using Visual C++ where the macros actually have meaning? Stefan