From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53466 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pwasb-0003Bf-H5 for qemu-devel@nongnu.org; Mon, 07 Mar 2011 08:53:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pwasa-0002g9-FA for qemu-devel@nongnu.org; Mon, 07 Mar 2011 08:53:45 -0500 Received: from mail-gw0-f46.google.com ([74.125.83.46]:39375) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pwasa-0002fw-Ci for qemu-devel@nongnu.org; Mon, 07 Mar 2011 08:53:44 -0500 Received: by gwj20 with SMTP id 20so2553005gwj.33 for ; Mon, 07 Mar 2011 05:53:43 -0800 (PST) Message-ID: <4D74E364.6010301@codemonkey.ws> Date: Mon, 07 Mar 2011 07:53:40 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 11/22] qapi: add signal support to core QMP server References: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> <1299460984-15849-12-git-send-email-aliguori@us.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: qemu-devel@nongnu.org, Adam Litke , Anthony Liguori , Markus Armbruster , Luiz Capitulino On 03/07/2011 07:21 AM, Stefan Hajnoczi wrote: > On Mon, Mar 7, 2011 at 1:22 AM, Anthony Liguori wrote: > >> diff --git a/qmp-core.h b/qmp-core.h >> index e3235ec..5ce02f7 100644 >> --- a/qmp-core.h >> +++ b/qmp-core.h >> @@ -21,10 +21,65 @@ typedef struct QmpState QmpState; >> typedef void (QmpCommandFunc)(const QDict *, QObject **, Error **); >> typedef void (QmpStatefulCommandFunc)(QmpState *qmp__sess, const QDict *, QObject **, Error **); >> >> +typedef struct QmpSlot >> +{ >> + int handle; >> + void *func; >> > This should be a void (*func)() Technically void (*)() is an obsolete type in standard C. I can switch to void (*)(void) but it requires casting and requires a typeof() :-/ Regards, Anthony Liguori > pointer for architectures where > function pointers don't fit into void * (e.g. ppc and itanium). > > >> +QmpSignal *qmp_signal_init(void); >> +void qmp_signal_ref(QmpSignal *obj); >> +void qmp_signal_unref(QmpSignal *obj); >> +int qmp_signal_connect(QmpSignal *obj, void *func, void *opaque); >> > Same function pointer issue here. > > Stefan > >