1 (* Simple demo program showing how to list out domains.
2 Usage: list_domains [URI]
3 (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc.
9 module C = Libvirt.Connect
10 module D = Libvirt.Domain
11 module N = Libvirt.Network
16 if Array.length Sys.argv >= 2 then
20 let conn = C.connect_readonly ?name () in
22 (* List running domains. *)
24 fst (Libvirt.get_domains conn ~want_info:false [D.ListActive]) in
27 printf "%8d %s\n%!" (D.get_id dom) (D.get_name dom)
30 (* List inactive domains. *)
32 fst (Libvirt.get_domains conn ~want_info:false [D.ListInactive]) in
35 printf "inactive %s\n%!" (D.get_name dom)
38 Libvirt.Virterror err ->
39 eprintf "error: %s\n" (Libvirt.Virterror.to_string err)
42 (* Run the garbage collector which is a good way to check for
43 * memory corruption errors and reference counting issues in libvirt.