From nobody Mon Feb 9 01:20:00 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1498723759353169.2375380598836; Thu, 29 Jun 2017 01:09:19 -0700 (PDT) Received: from localhost ([::1]:37536 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQUVo-0007WA-TB for importer@patchew.org; Thu, 29 Jun 2017 04:09:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQURh-0003px-KP for qemu-devel@nongnu.org; Thu, 29 Jun 2017 04:05:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQURg-0003Fv-L5 for qemu-devel@nongnu.org; Thu, 29 Jun 2017 04:05:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42222) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dQURg-0003FW-CD for qemu-devel@nongnu.org; Thu, 29 Jun 2017 04:05:00 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2369490907; Thu, 29 Jun 2017 08:04:59 +0000 (UTC) Received: from lemon.redhat.com (ovpn-12-36.pek2.redhat.com [10.72.12.36]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0419F89C95; Thu, 29 Jun 2017 08:04:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2369490907 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=famz@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2369490907 From: Fam Zheng To: qemu-devel@nongnu.org Date: Thu, 29 Jun 2017 16:04:46 +0800 Message-Id: <20170629080452.26470-2-famz@redhat.com> In-Reply-To: <20170629080452.26470-1-famz@redhat.com> References: <20170629080452.26470-1-famz@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 29 Jun 2017 08:04:59 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 1/7] qom: Make link property API public X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , "Dr . David Alan Gilbert" , Markus Armbruster , =?UTF-8?q?Andreas=20F=C3=A4rber?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The get/set pair and the struct will be reused by qdev link prop, make them public. Signed-off-by: Fam Zheng --- include/qom/link-property.h | 31 +++++++++++++++++++++++++++++++ qom/object.c | 19 +++++++------------ 2 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 include/qom/link-property.h diff --git a/include/qom/link-property.h b/include/qom/link-property.h new file mode 100644 index 0000000..f3c3816 --- /dev/null +++ b/include/qom/link-property.h @@ -0,0 +1,31 @@ +/* + * QOM link property + * + * Copyright IBM, Corp. 2011 + * + * Authors: + * Anthony Liguori + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + * + */ + +#ifndef QOM_LINK_PROPERTY_H +#define QOM_LINK_PROPERTY_H + +#include "qom/object.h" + +typedef struct { + Object **child; + void (*check)(Object *, const char *, Object *, Error **); + ObjectPropertyLinkFlags flags; +} LinkProperty; + +void object_get_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp); +void object_set_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp); +#endif diff --git a/qom/object.c b/qom/object.c index 5f6fdfa..fdb8f0d 100644 --- a/qom/object.c +++ b/qom/object.c @@ -28,6 +28,7 @@ #include "qapi/qmp/qobject.h" #include "qapi/qmp/qbool.h" #include "qapi/qmp/qstring.h" +#include "qom/link-property.h" =20 #define MAX_INTERFACES 32 =20 @@ -1434,15 +1435,9 @@ void object_property_allow_set_link(Object *obj, con= st char *name, /* Allow the link to be set, always */ } =20 -typedef struct { - Object **child; - void (*check)(Object *, const char *, Object *, Error **); - ObjectPropertyLinkFlags flags; -} LinkProperty; - -static void object_get_link_property(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) +void object_get_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) { LinkProperty *lprop =3D opaque; Object **child =3D lprop->child; @@ -1498,9 +1493,9 @@ static Object *object_resolve_link(Object *obj, const= char *name, return target; } =20 -static void object_set_link_property(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) +void object_set_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) { Error *local_err =3D NULL; LinkProperty *prop =3D opaque; --=20 2.9.4