]> xenbits.xensource.com Git - libvirt.git/commitdiff
dominfo: make example more useful
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 2 Apr 2019 09:58:33 +0000 (10:58 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 5 Apr 2019 14:33:33 +0000 (15:33 +0100)
The example currently assumes that a NULL URI will open Xen and thus
also assumes that a domain with ID 0 exists. Change it to require the
URI and a domain name as command line arguments.

Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
examples/dominfo/info1.c

index 09f20358f1e56832790c257002ea006aae83458c..f0ea9b9f08d14d708106b44b093a44dc10d8c255 100644 (file)
 
 /**
  * getDomainInfo:
- * @id: the id of the domain
+ * @name: the name of the domain
  *
  * extract the domain 0 information
  */
 static void
-getDomainInfo(int id)
+getDomainInfo(const char *uri, const char *name)
 {
     virConnectPtr conn = NULL; /* the hypervisor connection */
     virDomainPtr dom = NULL;   /* the domain being checked */
     virDomainInfo info;        /* the information being fetched */
     int ret;
 
-    /* NULL means connect to local Xen hypervisor */
-    conn = virConnectOpenReadOnly(NULL);
+    conn = virConnectOpenReadOnly(uri);
     if (conn == NULL) {
         fprintf(stderr, "Failed to connect to hypervisor\n");
         goto error;
     }
 
-    /* Find the domain of the given id */
-    dom = virDomainLookupByID(conn, id);
+    /* Find the domain of the given name */
+    dom = virDomainLookupByName(conn, name);
     if (dom == NULL) {
-        fprintf(stderr, "Failed to find Domain %d\n", id);
+        fprintf(stderr, "Failed to find Domain %s\n", name);
         goto error;
     }
 
     /* Get the information */
     ret = virDomainGetInfo(dom, &info);
     if (ret < 0) {
-        fprintf(stderr, "Failed to get information for Domain %d\n", id);
+        fprintf(stderr, "Failed to get information for Domain %s\n", name);
         goto error;
     }
 
-    printf("Domains %d: %d CPUs\n", id, info.nrVirtCpu);
+    printf("Domain %s: %d CPUs\n", name, info.nrVirtCpu);
 
  error:
     if (dom != NULL)
@@ -55,9 +54,13 @@ getDomainInfo(int id)
         virConnectClose(conn);
 }
 
-int main()
+int main(int argc, char **argv)
 {
-    getDomainInfo(0);
+    if (argc != 3) {
+        fprintf(stderr, "syntax: %s: URI NAME\n", argv[0]);
+        return 1;
+    }
+    getDomainInfo(argv[1], argv[2]);
 
     return 0;
 }