From 9b4bab1fe618affd0e69666ec6467b414cee325e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 8 Jan 2008 13:26:23 +0000 Subject: Move programming information to libvirt generated doc. * README, libvirt/libvirt.mli: Moved programming information to libvirt generated documentation, greatly expanded examples and other issues. * examples/Makefile.in, examples/node_info.ml, examples/.depend: Added node_info example program. * .hgignore, Makefile.in: Ignore, clean up node_info binary. * examples/list_domains.ml: Make a read-only connection. --- examples/node_info.ml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 examples/node_info.ml (limited to 'examples/node_info.ml') diff --git a/examples/node_info.ml b/examples/node_info.ml new file mode 100644 index 0000000..c52615e --- /dev/null +++ b/examples/node_info.ml @@ -0,0 +1,48 @@ +(* Simple demo program showing node info. + Usage: node_info [URI] + (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. + http://libvirt.org/ + *) + +open Printf + +module C = Libvirt.Connect + +let () = + try + let name = + if Array.length Sys.argv >= 2 then + Some (Sys.argv.(1)) + else + None in + let conn = C.connect_readonly ?name () in + + (* Get node_info, hostname, etc. *) + let node_info = C.get_node_info conn in + + printf "model = %s\n" node_info.C.model; + printf "memory = %Ld K\n" node_info.C.memory; + printf "cpus = %d\n" node_info.C.cpus; + printf "mhz = %d\n" node_info.C.mhz; + printf "nodes = %d\n" node_info.C.nodes; + printf "sockets = %d\n" node_info.C.sockets; + printf "cores = %d\n" node_info.C.cores; + printf "threads = %d\n%!" node_info.C.threads; + + let hostname = C.get_hostname conn in + + printf "hostname = %s\n%!" hostname; + + let uri = C.get_uri conn in + + printf "uri = %s\n%!" uri + + with + Libvirt.Virterror err -> + eprintf "error: %s\n" (Libvirt.Virterror.to_string err) + +let () = + (* Run the garbage collector which is a good way to check for + * memory corruption errors and reference counting issues in libvirt. + *) + Gc.compact () -- cgit