char *libvirtGetDefaultEmulator(char *uri, char *type) { char *caps = NULL; char *ret = NULL; char xp[1024] = { 0 }; if (type == NULL) return NULL; if (cp == NULL) { cp = libvirtConnect(uri); if (cp == NULL) { DPRINTF("Connection to %s failed\n", uri); return NULL; } } if ((caps = virConnectGetCapabilities(cp)) == NULL) return NULL; snprintf(xp, sizeof(xp), "//capabilities/guest/arch/domain[@type='%s']/emulator", type); ret = xml_query(caps, xp); free(caps); return ret; }
int main(int argc, char *argv[]) { virConnectPtr conn; char *caps; conn = virConnectOpen("lxc+unix://"); if (conn == NULL) { fprintf(stderr, "Failed to open connection to lxc+unix://\n"); return 1; } caps = virConnectGetCapabilities(conn); fprintf(stdout, "Capabilities:\n%s\n", caps); free(caps); virConnectClose(conn); return 0; }
char *libvirtGetHostArchitecture(char *uri) { char *caps = NULL; char *ret = NULL; if (cp == NULL) { cp = libvirtConnect(uri); if (cp == NULL) { DPRINTF("Connection to %s failed\n", uri); return NULL; } } if ((caps = virConnectGetCapabilities(cp)) == NULL) return NULL; ret = xml_query(caps, "//capabilities/host/cpu/arch"); free(caps); return ret; }
int get_capabilities(virConnectPtr conn, struct capabilities **caps) { char *caps_xml = NULL; int ret = 0; if (conn == NULL) { CU_DEBUG("Unable to connect to libvirt."); return 0; } caps_xml = virConnectGetCapabilities(conn); if (caps_xml == NULL) { CU_DEBUG("Unable to get capabilities xml."); return 0; } ret = get_caps_from_xml(caps_xml, caps); free(caps_xml); return ret; }
int main(int argvc, char *argv[]){ static virConnectPtr conn = NULL; static virDomainPtr dom = NULL; char * Sysinfo; char* Capabilities; char* Hostname; int Vcpunum ; const char* ConnectType; unsigned long * hvVer; int IsAlive; conn = virConnectOpen("xen:///"); if(conn == NULL){ fprintf(stderr,"Failed to open connection to xen"); return -1; } dom = virDomainLookupByID(conn,1); if(dom == NULL){ fprintf(stderr,"Failed to create a dom"); return -1; } Capabilities = virConnectGetCapabilities(conn);//get capabilities if(Capabilities == NULL){ fprintf(stdout,"failed to GetCapabilities"); return -1; } fprintf(stdout,"ConnectCapabilities %s\n",Capabilities); free(Capabilities); Sysinfo = virConnectGetSysinfo(conn,0);//Get Sysinfo if(Sysinfo ==NULL){ fprintf(stdout,"failed to getinfo"); return -1; } fprintf(stdout,"Sysinfo:%s\n",Sysinfo); free(Sysinfo); Hostname = virConnectGetHostname(conn);//get hostname if(Hostname == NULL){ fprintf(stderr,"failed to get hostname"); return -1; } fprintf(stdout,"Hostname:%s\n",Hostname); free(Hostname); Vcpunum = virConnectGetMaxVcpus(conn,"xen");//Get Vcpunum if(Vcpunum <0){ fprintf(stdout,"failed to GetCpunum"); return -1; } fprintf(stdout,"Vcpunum: %d\n",Vcpunum); ConnectType = virConnectGetType(conn);//Connect Type if(ConnectType ==NULL){ fprintf(stdout,"failed to GetConnectType"); return -1; } fprintf(stdout,"ConnectType is that :%s\n",ConnectType); if(virConnectGetVersion(conn,hvVer)<0){ fprintf(stderr,"Failed to Get Version"); return -1; } fprintf(stdout,"ConnectVersion: %lu\n",*hvVer); IsAlive = virConnectIsAlive(conn); if(IsAlive == 1 ){ fprintf(stdout,"alive\n"); } else if(IsAlive == 0){ fprintf(stdout,"dead\n"); } else fprintf(stdout,"Failed to get Connect Status\n"); free(dom); virConnectClose(conn); return 0; }