From nobody Sun Feb 8 05:26:57 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1554482062853921.0566855367497; Fri, 5 Apr 2019 09:34:22 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9EAF4307D84B; Fri, 5 Apr 2019 16:34:20 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 74D6D26547; Fri, 5 Apr 2019 16:34:20 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 210BF3FA4A; Fri, 5 Apr 2019 16:34:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x35GY6gt008701 for ; Fri, 5 Apr 2019 12:34:06 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4C921173D9; Fri, 5 Apr 2019 16:34:06 +0000 (UTC) Received: from thyrus.usersys.redhat.com (unknown [10.43.2.31]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A0D455F9A6; Fri, 5 Apr 2019 16:34:05 +0000 (UTC) From: Pino Toscano To: libvir-list@redhat.com Date: Fri, 5 Apr 2019 18:33:54 +0200 Message-Id: <20190405163355.20522-3-ptoscano@redhat.com> In-Reply-To: <20190405163355.20522-1-ptoscano@redhat.com> References: <20190405163355.20522-1-ptoscano@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [ocaml PATCH 2/3] Implement Connect.get_domain_capabilities X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Fri, 05 Apr 2019 16:34:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Wrap the virConnectGetDomainCapabilities C API. Signed-off-by: Pino Toscano --- libvirt/libvirt.ml | 2 ++ libvirt/libvirt.mli | 16 ++++++++++++++++ libvirt/libvirt_c_oneoffs.c | 16 ++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml index 49ccc3e..c7c5ffc 100644 --- a/libvirt/libvirt.ml +++ b/libvirt/libvirt.ml @@ -138,6 +138,8 @@ struct cb =3D _call_auth_default_callback; } =20 + external get_domain_capabilities : ?emulatorbin:string -> ?arch:string -= > ?machine:string -> ?virttype:string -> [>`R] t -> string =3D "ocaml_libvi= rt_connect_get_domain_capabilities" + external const : [>`R] t -> ro t =3D "%identity" end =20 diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli index 0bd3d05..7448722 100644 --- a/libvirt/libvirt.mli +++ b/libvirt/libvirt.mli @@ -456,6 +456,22 @@ sig of libvirt. *) =20 + val get_domain_capabilities : ?emulatorbin:string -> ?arch:string -> ?ma= chine:string -> ?virttype:string -> [>`R] t -> string + (** [get_domain_capabilities ()] returns the XML with the + available capabilities of the emulator or libvirt for domains. + + The optional flag [?emulatorbin] is used to specify a different + emulator. + + The optional flag [?arch] is used to specify a different + architecture. + + The optional flag [?machine] is used to specify a different + machine type. + + The optional flag [?virttype] is used to specify a different + type of virtualization. *) + external const : [>`R] t -> ro t =3D "%identity" (** [const conn] turns a read/write connection into a read-only connection. Note that the opposite operation is impossible. diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c index 71ca78e..0a9e485 100644 --- a/libvirt/libvirt_c_oneoffs.c +++ b/libvirt/libvirt_c_oneoffs.c @@ -419,6 +419,22 @@ ocaml_libvirt_connect_call_auth_default_callback (valu= e listv) CAMLreturn (retv); } =20 +CAMLprim value +ocaml_libvirt_connect_get_domain_capabilities (value emulatorbinv, value a= rchv, value machinev, value virttypev, value connv) +{ + CAMLparam5 (emulatorbinv, archv, machinev, virttypev, connv); + CAMLlocal1 (rv); + virConnectPtr conn =3D Connect_val (connv); + char *r; + + NONBLOCKING (r =3D virConnectGetDomainCapabilities (conn, Optstring_val = (emulatorbinv), Optstring_val (archv), Optstring_val (machinev), Optstring_= val (virttypev), 0)); + CHECK_ERROR (r =3D=3D NULL, "virConnectGetDomainCapabilities"); + + rv =3D caml_copy_string (r); + free (r); + CAMLreturn (rv); +} + CAMLprim value ocaml_libvirt_domain_get_id (value domv) { --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list