mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-10 07:20:02 +00:00
cebeba7bd7
* Makefile.am: Add examples/dominfo examples/domsuspend examples/python as SUBDIRS * configure.in: Update AC_OUTPUT for new/old Makefiles * docs/Makefile.am: Remove examples from SUBDIRS * docs/examples/info1.c: Move to examples/dominfo/info1.c * docs/examples/suspend.c: Move to examples/domsuspend/suspend.c * docs/examples: Remove all remaining files * docs/examples/python: Moved to examples/python/ * examples/dominfo/Makefile.am, examples/domsuspend/Makefile.am: New build files * libvirt.spec.in: Update to take account of moved examples
64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
/**
|
|
* section: Informations
|
|
* synopsis: Extract information about Xen domain 0
|
|
* purpose: Demonstrate the basic use of the library to connect to the
|
|
* hypervisor and extract domain information.
|
|
* usage: info1
|
|
* test: info1
|
|
* author: Daniel Veillard
|
|
* copy: see Copyright for the status of this software.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <libvirt/libvirt.h>
|
|
|
|
/**
|
|
* getDomainInfo:
|
|
* @id: the id of the domain
|
|
*
|
|
* extract the domain 0 information
|
|
*/
|
|
static void
|
|
getDomainInfo(int id) {
|
|
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);
|
|
if (conn == NULL) {
|
|
fprintf(stderr, "Failed to connect to hypervisor\n");
|
|
goto error;
|
|
}
|
|
|
|
/* Find the domain of the given id */
|
|
dom = virDomainLookupByID(conn, id);
|
|
if (dom == NULL) {
|
|
fprintf(stderr, "Failed to find Domain %d\n", id);
|
|
goto error;
|
|
}
|
|
|
|
/* Get the information */
|
|
ret = virDomainGetInfo(dom, &info);
|
|
if (ret < 0) {
|
|
fprintf(stderr, "Failed to get information for Domain %d\n", id);
|
|
goto error;
|
|
}
|
|
|
|
printf("Domains %d: %d CPUs\n", id, info.nrVirtCpu);
|
|
|
|
error:
|
|
if (dom != NULL)
|
|
virDomainFree(dom);
|
|
if (conn != NULL)
|
|
virConnectClose(conn);
|
|
}
|
|
|
|
int main() {
|
|
|
|
getDomainInfo(0);
|
|
|
|
return(0);
|
|
}
|