您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ virConnectClose函数代码示例

51自学网 2021-06-03 09:41:47
  C++
这篇教程C++ virConnectClose函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中virConnectClose函数的典型用法代码示例。如果您正苦于以下问题:C++ virConnectClose函数的具体用法?C++ virConnectClose怎么用?C++ virConnectClose使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了virConnectClose函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: mymain

static intmymain(void){    struct metadataTest test;    int ret = EXIT_SUCCESS;    if (!(test.conn = virConnectOpen("test:///default")))        return EXIT_FAILURE;    if (!(test.dom = virDomainLookupByName(test.conn, "test"))) {        virConnectClose(test.conn);        return EXIT_FAILURE;    }    virtTestQuiesceLibvirtErrors(false);    if (virtTestRun("Assign metadata ", testAssignMetadata, &test) < 0)        ret = EXIT_FAILURE;    if (virtTestRun("Rewrite Metadata ", testRewriteMetadata, &test) < 0)        ret = EXIT_FAILURE;    if (virtTestRun("Erase metadata ", testEraseMetadata, &test) < 0)        ret = EXIT_FAILURE;    virDomainFree(test.dom);    virConnectClose(test.conn);    return ret;}
开发者ID:CLisa,项目名称:libvirt,代码行数:28,


示例2: main

void main(int argc, char *argv[]) {	char *myIP;	if (argc<2)		printf("arg1=myip/n"),exit(-128);	myIP = argv[1];	if (fork() == 0) {		// Child		virConnectPtr localhost = virConnectOpen("qemu:///system");		while(1) {			int alive = virConnectIsAlive(localhost);			if (alive == 0) {				printf("Connection lost, reopening./n");				virConnectClose(localhost);				localhost = virConnectOpen("qemu:///system");			} else if (alive == -1) {				printf("Connection dead./n");				virConnectClose(localhost);				localhost = virConnectOpen("qemu:///system");				sleep(3);				continue;			}			printf("*** connected/n");			run(myIP, localhost);			sleep(1);		}		virConnectClose(localhost);	}	exit(0);}
开发者ID:pojoba02,项目名称:cherrypop,代码行数:30,


示例3: mymain

static intmymain(void){    int id = 0;    int ro = 0;    virConnectPtr conn;    virDomainPtr dom;    int status;    virCommandPtr cmd;    struct utsname ut;    /* Skip test if xend is not running.  Calling xend on a non-xen       kernel causes some versions of xend to issue a crash report, so       we first probe uname results.  */    uname(&ut);    if (strstr(ut.release, "xen") == NULL)        return EXIT_AM_SKIP;    cmd = virCommandNewArgList("/usr/sbin/xend", "status", NULL);    if (virCommandRun(cmd, &status) != 0 || status != 0) {        virCommandFree(cmd);        return EXIT_AM_SKIP;    }    virCommandFree(cmd);    virSetErrorFunc(NULL, errorHandler);    conn = virConnectOpen(NULL);    if (conn == NULL) {        ro = 1;        conn = virConnectOpenReadOnly(NULL);    }    if (conn == NULL) {        fprintf(stderr, "First virConnectOpen() failed/n");        return EXIT_FAILURE;    }    dom = virDomainLookupByID(conn, id);    if (dom == NULL) {        fprintf(stderr, "First lookup for domain %d failed/n", id);        return EXIT_FAILURE;    }    virDomainFree(dom);    virConnectClose(conn);    if (ro == 1)        conn = virConnectOpenReadOnly(NULL);    else        conn = virConnectOpen(NULL);    if (conn == NULL) {        fprintf(stderr, "Second virConnectOpen() failed/n");        return EXIT_FAILURE;    }    dom = virDomainLookupByID(conn, id);    if (dom == NULL) {        fprintf(stderr, "Second lookup for domain %d failed/n", id);        return EXIT_FAILURE;    }    virDomainFree(dom);    virConnectClose(conn);    return EXIT_SUCCESS;}
开发者ID:ansisatteka,项目名称:libvirt-ovs,代码行数:60,


示例4: network_op

static int network_op(char * name, int op){	virNetworkPtr net;	virConnectPtr conn;	int ret;		conn = virConnectOpen("qemu:///system");	if (conn == NULL) 	{		fprintf(stderr, "Failed to open connection to qemu:///system/n");		return -1;	}		net = virNetworkLookupByName(conn, name);	if (net == NULL) 	{		printf("network is not found/n");		virConnectClose(conn);		return -1;	}	if (op == NETWORK_DESTROY)		ret = virNetworkDestroy(net);	else if (op == NETWORK_SET_AUTOSTART)		ret = virNetworkSetAutostart(net, 1);	else if (op == NETWORK_UNSET_AUTOSTART)		ret = virNetworkSetAutostart(net, 0);	else		ret = -1;			virNetworkFree(net);	virConnectClose(conn);		return ret;}
开发者ID:exuuwen,项目名称:study,代码行数:35,


示例5: cpg_virt_init_libvirt

static voidcpg_virt_init_libvirt(struct cpg_info *info) {	config_object_t *config = info->config;	int i = 0;	if (info->vp) {		dbg_printf(2, "Lost libvirtd connection. Reinitializing./n");		for (i = 0 ; i < info->vp_count ; i++)			virConnectClose(info->vp[i]);		free(info->vp);		info->vp = NULL;	}	info->vp_count = 0;	do {		virConnectPtr vp;		virConnectPtr *vpl = NULL;		char conf_attr[256];		char value[1024];		char *uri;		if (i != 0) {			snprintf(conf_attr, sizeof(conf_attr),				"backends/cpg/@uri%d", i);		} else			snprintf(conf_attr, sizeof(conf_attr), "backends/cpg/@uri");		++i;		if (sc_get(config, conf_attr, value, sizeof(value)) != 0)			break;		uri = value;		vp = virConnectOpen(uri);		if (!vp) {			dbg_printf(1, "[cpg-virt:INIT] Failed to connect to URI: %s/n", uri);			continue;		}		vpl = realloc(info->vp, sizeof(*info->vp) * (info->vp_count + 1));		if (!vpl) {			dbg_printf(1, "[cpg-virt:INIT] Out of memory allocating URI: %s/n",				uri);			virConnectClose(vp);			continue;		}		info->vp = vpl;		info->vp[info->vp_count++] = vp;		if (i > 1)			dbg_printf(1, "[cpg-virt:INIT] Added URI%d %s/n", i - 1, uri);		else			dbg_printf(1, "[cpg_virt:INIT] Added URI %s/n", uri);	} while (1);}
开发者ID:ClusterLabs,项目名称:fence-virt,代码行数:55,


示例6: virDomainLookupByName

timearg GetVirtInfo::GetCpuTime(QString VM_name){    virDomainPtr vm_ptr = virDomainLookupByName(conn, qPrintable(VM_name));    if(vm_ptr == NULL) {        printf("error finding domain/n");        virConnectClose(conn);        exit(1);    }    virDomainInfo info_s;    struct timeval real_time_s;    timearg return_arg;    if(virDomainGetInfo(vm_ptr, &info_s) != 0) {        printf("error get domain info/n");        virDomainFree(vm_ptr);        virConnectClose(conn);        exit(1);    }    if(gettimeofday(&real_time_s, NULL) == -1) {        printf("error get time of day/n");        virDomainFree(vm_ptr);        virConnectClose(conn);        exit(1);    }    return_arg.info = info_s;    return_arg.real_time = real_time_s;    virDomainFree(vm_ptr);    return return_arg;    /* sleep(1);     if(virDomainGetInfo(vm_ptr, &info_e) !=0) {         printf("error get domain info/n");         virDomainFree(vm_ptr);         virConnectClose(conn);         exit(1);     }     if(gettimeofday(&real_time_e, NULL) == -1) {         printf("error get time of day/n");         virDomainFree(vm_ptr);         virConnectClose(conn);         exit(1);     }     cpu_diff = (info_e.cpuTime - info_s.cpuTime) / 1000;     real_diff = 1000000 * (real_time_e.tv_sec - real_time_s.tv_sec) +(real_time_e.tv_usec - real_time_s.tv_usec);     virDomainFree(vm_ptr);     usage = cpu_diff / (float) (real_diff);     return usage*100;*/}
开发者ID:ecular,项目名称:VmManager,代码行数:51,


示例7: libvirt_domain_save

int libvirt_domain_save(char * name, int idonweb){    virDomainPtr domain;    domain = virDomainLookupByName(g_conn, name);    if (domain == NULL) {        logerror(_("%s: connect domain by name(%s) error./n"),                   __func__, name);        return -1;    }    virDomainInfo info;    if (virDomainGetInfo(dom, &info) < 0) {        logprintfl(SCERROR, "Cannot check guest state/n");        return -3;    }    if (info.state == VIR_DOMAIN_SHUTOFF) {        logprintfl(SCERROR, "Not saving guest that isn't running/n");        return -4;    }    const char *filename = "";    if (virDomainSave(dom, filename) < 0) {        fprintf(stderr, "Unable to save guest to %s/n", filename);    }    fprintf(stdout, "Guest state saved to %s/n", filename);    virConnectClose(conn);    return 0;}
开发者ID:woerwin,项目名称:LuoYunCloud,代码行数:32,


示例8: libvirt_check

int libvirt_check(int driver){    virSetErrorFunc(NULL, __customErrorFunc);    const char * URI;    if (driver == HYPERVISOR_IS_KVM)        URI = HYPERVISOR_URI_KVM;    else if (driver == HYPERVISOR_IS_XEN)        URI = HYPERVISOR_URI_XEN;    else {        logerror(_("unrecognized hypervisor driver(%d)./n"), driver);        return -1;    }    virConnectPtr conn = virConnectOpen(URI);    if (conn == NULL) {        logerror(_("Connect to %s error./n"), URI);        return -1;    }    int numDomains = virConnectNumOfDomains(conn);    if (numDomains < 0) {        logerror(_("Connect to %s error./n"), URI);        return -1;    }    virConnectClose(conn);    return 0;}
开发者ID:woerwin,项目名称:LuoYunCloud,代码行数:30,


示例9: getDomainInfo

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);}
开发者ID:seshagiriprabhu,项目名称:libvirt-assignment,代码行数:35,


示例10: main

int main(int argc, char **argv) {    int id = 0;    conn = virConnectOpenReadOnly(NULL);    if (conn == NULL) {        fprintf(stderr, "Failed to connect to hypervisor/n");        goto error;    }    if (argc > 1) {        id = atoi(argv[1]);    }    if (id == 0) {        int i, j, ids[10];        i = virConnectListDomains(conn, &ids[0], 10);        if (i<0) {            fprintf(stderr, "Failed to list the domains/n");            goto error;        }        for (j = 0;j < i;j++) {            if (ids[j] != 0) {                id = ids[j];                break;            }        }    }    if (id == 0) {        fprintf(stderr, "Failed find a running guest domain/n");        goto error;   }error:    if (conn != NULL)        virConnectClose(conn);    return(0);}
开发者ID:AlanRelax,项目名称:openstack,代码行数:35,


示例11: ptrIsNull

void spice_graphHlpThread::run(){    if ( NULL==ptr_ConnPtr || NULL==*ptr_ConnPtr ) {        emit ptrIsNull();        return;    };    if ( virConnectRef(*ptr_ConnPtr)<0 ) {        sendConnErrors();        return;    };    QStringList nets;    virNetworkPtr *networks = NULL;    unsigned int flags = VIR_CONNECT_LIST_NETWORKS_ACTIVE |                         VIR_CONNECT_LIST_NETWORKS_INACTIVE;    int ret = virConnectListAllNetworks(*ptr_ConnPtr, &networks, flags);    if ( ret<0 ) {        sendConnErrors();    } else {        // therefore correctly to use for() command, because networks[0] can not exist.        for (int i = 0; i < ret; i++) {            nets.append( virNetworkGetName(networks[i]) );            virNetworkFree(networks[i]);        };        if (networks) free(networks);    };    //int devs = virNodeNumOfDevices(ptr_ConnPtr, NULL, 0);    if ( virConnectClose(*ptr_ConnPtr)<0 ) {        sendConnErrors();    };    emit result(nets);}
开发者ID:Dravigon,项目名称:qt-virt-manager,代码行数:31,


示例12: libvirt_disconnect

void libvirt_disconnect() {    free(activeDomains);    virConnectClose(conn);    // directly exit from here    exit(0);}
开发者ID:kimmoahokas,项目名称:slicetime,代码行数:7,


示例13: unregisterConnEvents

void ConnAliveThread::closeConnection(){    //qDebug()<<"closeConnection0"<<*ptr_ConnPtr<<URI;    if ( keep_alive ) {        keep_alive = false;        return;    };    //qDebug()<<"closeConnection1"<<*ptr_ConnPtr<<URI;    CONN_STATE state;    if ( *ptr_ConnPtr!=NULL ) {        //qDebug()<<"closeConnection2"<<*ptr_ConnPtr<<URI;        unregisterConnEvents();        //qDebug()<<"closeConnection3"<<*ptr_ConnPtr<<URI;        int ret = virConnectClose(*ptr_ConnPtr);        //qDebug()<<"virConnectRef -1"<<"ConnAliveThread"<<URI<<(ret+1>0);        if ( ret<0 ) {            state = FAILED;            sendConnErrors();        } else {            emit connMsg( QString("close exit code: %1").arg(ret) );            state = CLOSED;            emit connClosed(onView);        };        *ptr_ConnPtr = NULL;    } else {        emit connMsg( QString("connect is NULL") );        state = FAILED;    };    emit changeConnState(state);}
开发者ID:Dravigon,项目名称:qt-virt-manager,代码行数:30,


示例14: main

int main(int argc, char *argv[]){	virConnectPtr conn;	int id;	char *vm_name;	if (argc < 2){		printf("Usage/n%s <virtual machine name/n", argv[0]);		exit(1);	} else {		vm_name = argv[1];	}	conn = connect_to_hypervisor();	id = find_a_domain(conn, vm_name);	virConnectClose(conn);	if (id > 0){		printf("Domain %s is running/n", vm_name);	} else if (id < 0){		printf("Domain %s is NOT running/n", vm_name);	} else { 		// If ID is 0, it means that the virtual machine does not exist		// on the hypervisor		printf("Domain %s not found on this hypervisor/n", vm_name);	}	return 0;}
开发者ID:jrziviani,项目名称:kvmsdk,代码行数:29,


示例15: dominfo_from_dom

static int dominfo_from_dom(const char *uri,                            const char *domain,                            struct domain **d){        virConnectPtr conn = NULL;        virDomainPtr dom = NULL;        int ret = 0;        conn = virConnectOpen(uri);        if (conn == NULL) {                printf("Unable to connect to libvirt/n");                goto out;        }        dom = virDomainLookupByName(conn, domain);        if (dom == NULL) {                printf("Unable to find domain `%s'/n", domain);                goto out;        }        ret = get_dominfo(dom, d); out:        virDomainFree(dom);        virConnectClose(conn);        return ret;}
开发者ID:libvirt,项目名称:libvirt-cim,代码行数:28,


示例16: foreach

 //qDebug()<<URIs; foreach (QString uri, URIs) {     virConnect *connPtr =             virConnectOpenReadOnly(uri.toUtf8().data());     if ( Q_NULLPTR!=connPtr ) {         // don't work for VBox         // int num = virConnectNumOfDefinedDomains(connPtr);         virDomainPtr *domains;         int ret = virConnectListAllDomains(                     connPtr, &domains, 0);         if ( ret+1 ) {             for (int i = 0; i < ret; i++) {                  if ( virDomainFree(domains[i]) <0 )                      sendConnErrors();             };             if (domains) free(domains);         } else {             sendConnErrors();         };         virConnectClose(connPtr);         if ( ret ) {             emit localConnFound(uri);         };     } else {         sendConnErrors();     };     //msleep(333); };
开发者ID:F1ash,项目名称:qt-virt-manager,代码行数:28,


示例17: nwfilterDriverReload

/** * virNWFilterReload: * * Function to restart the nwfilter driver, it will recheck the configuration * files and update its state */static intnwfilterDriverReload(void) {    virConnectPtr conn;    if (!driverState) {        return -1;    }    conn = virConnectOpen("qemu:///system");    if (conn) {        /* shut down all threads -- they will be restarted if necessary */        virNWFilterLearnThreadsTerminate(true);        nwfilterDriverLock(driverState);        virNWFilterCallbackDriversLock();        virNWFilterLoadAllConfigs(conn,                                  &driverState->nwfilters,                                  driverState->configDir);        virNWFilterCallbackDriversUnlock();        nwfilterDriverUnlock(driverState);        virConnectClose(conn);    }    return 0;}
开发者ID:hw-claudio,项目名称:libvirt,代码行数:35,


示例18: main

int main(int argc, char *argv[]){virConnectPtr conn;int i;int numDomains;int *activeDomains;virDomainPtr dom;conn = virConnectOpen("qemu:///system");if (conn == NULL) {fprintf(stderr, "Failed to open connection to qemu:///system/n");}numDomains = virConnectNumOfDomains(conn);activeDomains = malloc(sizeof(int) * numDomains);numDomains = virConnectListDomains(conn, activeDomains, numDomains);printf("Active domain IDs:/n");for (i = 0 ; i < numDomains ; i++) {printf(" %d/n", activeDomains[i]);}printf("Terminating Domain/n");free(activeDomains);int domainName = "sudip";dom = virDomainLookupByName(conn,domainName);virDomainDestroy(dom);virDomainFree(dom);printf("Domain sudip terminated successfully/n");if (conn != NULL)virConnectClose(conn);return 0;}
开发者ID:hazrasudip9,项目名称:Mytest,代码行数:30,


示例19: main

int main (int argc, char **argv) {    /* Local Vars */    virConnectPtr   conn;    const char      *hvType;    unsigned long libVer, libMajor, libMinor, libRelease;    unsigned long hvVer, hvMajor, hvMinor, hvRelease;    /* Set signal handling and alarm */    if (signal(SIGALRM, timeout_alarm_handler) == SIG_ERR)        critical("Setup SIGALRM trap failed!");    /* Process check arguments */    if (process_arguments(argc, argv) != OK)        unknown("Parsing arguments failed!");    /* Start plugin timeout */    alarm(mp_timeout);    // PLUGIN CODE    conn = virt_connect();    hvType = virConnectGetType(conn);    if (hvType == NULL) {        if (mp_verbose > 0) {            virt_showError(conn);        }        critical("Failed to get hypervisor type.");    }    if (virConnectGetVersion(conn, &hvVer) != 0) {        if (mp_verbose > 0) {            virt_showError(conn);        }        critical("Failed to get hypervisor version.");    }    if (virConnectGetLibVersion(conn, &libVer) != 0) {        if (mp_verbose > 0) {            virt_showError(conn);        }        critical("Failed to get library version.");    }    virConnectClose(conn);    hvMajor = hvVer / 1000000;    hvVer %= 1000000;    hvMinor = hvVer / 1000;    hvRelease = hvVer % 1000;    libMajor = libVer / 1000000;    libVer %= 1000000;    libMinor = libVer / 1000;    libRelease = libVer % 1000;    /* Output and return */    ok("libvirtd: v.%lu.%lu.%lu Hypervisor: %s (v.%lu.%lu.%lu)",             libMajor, libMinor, libRelease,            hvType, hvMajor, hvMinor, hvRelease);}
开发者ID:rjuju,项目名称:monitoringplug,代码行数:60,


示例20: enum_profiles

CMPIStatus enum_profiles(const CMPIBroker *broker,                         const CMPIObjectPath *reference,                         const char **properties,                         struct inst_list *list){        CMPIStatus s = {CMPI_RC_OK, NULL};        virConnectPtr conn = NULL;        int i;        conn = connect_by_classname(broker, CLASSNAME(reference), &s);        if (conn == NULL)                goto out;        for (i = 0; profiles[i] != NULL; i++) {                CMPIInstance *inst = NULL;                s = get_profile(broker,                                reference,                                 properties,                                pfx_from_conn(conn),                                profiles[i],                                &inst);                if (s.rc != CMPI_RC_OK)                        continue;                inst_list_add(list, inst);        } out:        virConnectClose(conn);        return s;}
开发者ID:libvirt,项目名称:libvirt-cim,代码行数:34,


示例21: ptrIsNull

void pci_hostHlpThread::run(){    if ( NULL==ptr_ConnPtr || NULL==*ptr_ConnPtr ) {        emit ptrIsNull();        return;    };    if ( virConnectRef(*ptr_ConnPtr)<0 ) {        sendConnErrors();        return;    };    QStringList      devices;    virNodeDevice  **nodeDevices = NULL;    unsigned int flags =            VIR_CONNECT_LIST_NODE_DEVICES_CAP_PCI_DEV;    int ret = virConnectListAllNodeDevices(*ptr_ConnPtr, &nodeDevices, flags);    if ( ret<0 ) {        sendConnErrors();    } else {        // therefore correctly to use for() command, because networks[0] can not exist.        for (int i = 0; i < ret; i++) {            devices.append( QString("%1/n")                            // flags: extra flags; not used yet,                            // so callers should always pass 0                            .arg(virNodeDeviceGetXMLDesc(nodeDevices[i], 0)));            virNodeDeviceFree(nodeDevices[i]);        };        if (nodeDevices) free(nodeDevices);    };    //int devs = virNodeNumOfDevices(ptr_ConnPtr, NULL, 0);    if ( virConnectClose(*ptr_ConnPtr)<0 )        sendConnErrors();    emit result(devices);}
开发者ID:Dravigon,项目名称:qt-virt-manager,代码行数:33,


示例22: libvirt_close

int libvirt_close(void) {	free_block_devices();	free_interface_devices();	free_domains();	if(conn != NULL)		virConnectClose(conn);	conn = NULL;}
开发者ID:imaxxs,项目名称:cyton,代码行数:8,


示例23: main

int main(int argc, char *argv[]){	virConnectPtr conn;	virDomainPtr dom;	char *xmlconfig = NULL;	if(argc != 2)	{			printf("usage: ./define_domain domain.xml/n");		return -1;	}		if ((xmlconfig = GetXml(argv[1])) == NULL)	{		fprintf(stderr, "Failed to get xml/n");		return -1;	}		conn = virConnectOpen("qemu:///system");	if (conn == NULL) 	{		fprintf(stderr, "Failed to open connection to qemu:///system/n");		free(xmlconfig);		return -1;	}			dom = virDomainDefineXML(conn, xmlconfig);	if (!dom) 	{		printf("Domain is not found/n");		free(xmlconfig);		virConnectClose(conn);		return -1;	}	fprintf(stderr, "Guest %s is defined/n", virDomainGetName(dom));	free(xmlconfig);	virDomainFree(dom);	virConnectClose(conn);		return 0;}
开发者ID:exuuwen,项目名称:study,代码行数:44,


示例24: main

int main(int argc, char *argv[]){	virConnectPtr conn;	int i;	int numDomains;	int *activeDomains;	char **inactiveDomains;		conn = virConnectOpen("qemu:///system");	if (conn == NULL) 	{		fprintf(stderr, "Failed to open connection to qemu:///system/n");		return -1;	}	numDomains = virConnectNumOfDomains(conn);	if (numDomains == -1) 	{		fprintf(stderr, "Failed to get domian num of qemu/n");		return -1;	}		activeDomains = malloc(sizeof(int) * numDomains);	numDomains = virConnectListDomains(conn, activeDomains, numDomains);		printf("%d Active domain list:/n", numDomains);	for (i = 0 ; i < numDomains ; i++) 	{		printf("ID = %d, Name = %s/n", activeDomains[i], virDomainGetName(virDomainLookupByID(conn, activeDomains[i])));	}	free(activeDomains);		printf("----------------------------/n");	numDomains = virConnectNumOfDefinedDomains(conn);		if (numDomains == -1) 	{		fprintf(stderr, "Failed to get defined domian num of qemu/n");		return -1;	}		inactiveDomains = malloc(sizeof(char *) * numDomains);	numDomains = virConnectListDefinedDomains(conn, inactiveDomains, numDomains);	printf("%d Inactive domain list:/n", numDomains);	for (i = 0 ; i < numDomains ; i++) 	{		/*All inactive domains's id should be 0*/		printf("ID = %d, Name = %s/n", virDomainGetID(virDomainLookupByName(conn, inactiveDomains[i])), inactiveDomains[i]);		free(inactiveDomains[i]);	}	free(inactiveDomains);		virConnectClose(conn);	return 0;}
开发者ID:exuuwen,项目名称:study,代码行数:55,


示例25: main

intmain(int argc, char *argv[]){    int ret = 0;    virConnectPtr conn;    char *uri;    printf("Attempting to connect to hypervisor/n");    uri = (argc > 0 ? argv[1] : NULL);    /* virConnectOpenAuth is called here with all default parameters,     * except, possibly, the URI of the hypervisor. */    conn = virConnectOpenAuth(uri, virConnectAuthPtrDefault, 0);    if (!conn) {        ret = 1;        printf("No connection to hypervisor/n");        showError(conn);        goto out;    }    uri = virConnectGetURI(conn);    if (!uri) {        ret = 1;        printf("Failed to get URI for hypervisor connection/n");        showError(conn);        goto disconnect;    }    printf("Connected to hypervisor at /"%s/"/n", uri);    free(uri);    if (0 != showHypervisorInfo(conn)) {        ret = 1;        goto disconnect;    }    if (0 != showDomains(conn)) {        ret = 1;        goto disconnect;    }disconnect:    if (0 != virConnectClose(conn)) {        printf("Failed to disconnect from hypervisor/n");        showError(conn);        ret = 1;    } else {        printf("Disconnected from hypervisor/n");    }out:    return ret;}
开发者ID:avdv,项目名称:libvirt,代码行数:55,


示例26: mymain

static intmymain(void){    struct metadataTest test;    int ret = EXIT_SUCCESS;    if (!(test.conn = virConnectOpen("test:///default")))        return EXIT_FAILURE;    if (!(test.dom = virDomainLookupByName(test.conn, "test"))) {        virConnectClose(test.conn);        return EXIT_FAILURE;    }    virtTestQuiesceLibvirtErrors(false);    if (virtTestRun("Assign metadata ", testAssignMetadata, &test) < 0)        ret = EXIT_FAILURE;    if (virtTestRun("Rewrite Metadata ", testRewriteMetadata, &test) < 0)        ret = EXIT_FAILURE;    if (virtTestRun("Erase metadata ", testEraseMetadata, &test) < 0)        ret = EXIT_FAILURE;    TEST_TITLE("1", "qwert");    TEST_TITLE("2", NULL);    TEST_TITLE("3", "blah");    TEST_TITLE_FAIL("4", "qwe/nrt");    TEST_TITLE("5", "");    TEST_TITLE_FAIL("6", "qwert/n");    TEST_TITLE_FAIL("7", "/n");    TEST_DESCR("1", "qwert/nqwert");    TEST_DESCR("2", NULL);    TEST_DESCR("3", "qwert");    TEST_DESCR("4", "/n");    TEST_DESCR("5", "");    virDomainFree(test.dom);    virConnectClose(test.conn);    return ret;}
开发者ID:6WIND,项目名称:libvirt,代码行数:42,


示例27: virshReconnect

/* * virshReconnect: * * Reconnect after a disconnect from libvirtd * */static intvirshReconnect(vshControl *ctl, const char *name, bool readonly, bool force){    bool connected = false;    virshControlPtr priv = ctl->privData;    /* If the flag was not specified, then it depends on whether we are     * reconnecting to the current URI (in which case we want to keep the     * readonly flag as it was) or to a specified URI in which case it     * should stay false */    if (!readonly && !name)        readonly = priv->readonly;    if (priv->conn) {        int ret;        connected = true;        virConnectUnregisterCloseCallback(priv->conn, virshCatchDisconnect);        ret = virConnectClose(priv->conn);        if (ret < 0)            vshError(ctl, "%s", _("Failed to disconnect from the hypervisor"));        else if (ret > 0)            vshError(ctl, "%s", _("One or more references were leaked after "                                  "disconnect from the hypervisor"));    }    priv->conn = virshConnect(ctl, name ? name : ctl->connname, readonly);    if (!priv->conn) {        if (disconnected)            vshError(ctl, "%s", _("Failed to reconnect to the hypervisor"));        else            vshError(ctl, "%s", _("failed to connect to the hypervisor"));        return -1;    } else {        if (name) {            VIR_FREE(ctl->connname);            ctl->connname = vshStrdup(ctl, name);        }        priv->readonly = readonly;        if (virConnectRegisterCloseCallback(priv->conn, virshCatchDisconnect,                                            ctl, NULL) < 0)            vshError(ctl, "%s", _("Unable to register disconnect callback"));        if (connected && !force)            vshError(ctl, "%s", _("Reconnected to the hypervisor"));    }    disconnected = 0;    priv->useGetInfo = false;    priv->useSnapshotOld = false;    priv->blockJobNoBytes = false;    return 0;}
开发者ID:libvirt,项目名称:libvirt,代码行数:60,


示例28: libvirt_close

void libvirt_close(void){    if (g_conn == NULL)        return;    virConnectClose(g_conn);    __this_lock();    g_conn = NULL;    __this_unlock();    return;}
开发者ID:woerwin,项目名称:LuoYunCloud,代码行数:11,


示例29: main

int main(int argc, char **argv){	if(argc < 4)	{		exit(1); 	//error	}		user_id=atoi(argv[1]);	clust_id=atoi(argv[2]);	node_id=atoi(argv[3]);		clusterCfgRead();			//virSetErrorFunc(NULL, customGlobalErrorFunc);		virConnectPtr conn;		if (virInitialize() < 0) {         fprintf(stderr, "Failed to initialize libvirt");         return 12;     }	//virEventRegisterDefaultImpl();	    conn = virConnectOpen("qemu:///system"); //xen+unix:///    if (!conn) {        printf("error opening/n");        return 13;    }				/* coming here we have to  restore the snapshot of the vm  */		// Build the path to restore the  saved snapshot snap$.img [$=node_id]	char path[512];	memset(path,0,512);	sprintf(path,"%s/%d/%d/snap%d.img",clusterHomeDir,user_id,clust_id,node_id);		if( virDomainRestore(conn,path)!=0)	{		exit(21);	}				/*----------------------------------------------------------	*/	if (conn && virConnectClose(conn) < 0){        printf("error closing/n");        return 16;    }    return 0;}
开发者ID:shrikantnjagtap,项目名称:Implementation-of-cloud-environment,代码行数:53,


示例30: main

int main(int argc, char *argv[]){	virConnectPtr conn;	virNetworkPtr net;		if(argc != 2)	{			printf("usage: ./start_network domain_network/n");		return -1;	}	conn = virConnectOpen("qemu:///system");	if (conn == NULL) 	{		fprintf(stderr, "Failed to open connection to qemu:///system/n");		return -1;	}		net = virNetworkLookupByName(conn, argv[1]);	if (!net) 	{		fprintf(stderr, "Network is not found/n");		virConnectClose(conn);		return -1;	}		if (virNetworkCreate(net) < 0) 	{		virNetworkFree(net);		virConnectClose(conn);		fprintf(stderr, "Cannot start network/n");		return -1;	}		fprintf(stderr, "Network %s has started/n", argv[1]);		virNetworkFree(net);	virConnectClose(conn);		return 0;}
开发者ID:exuuwen,项目名称:study,代码行数:40,



注:本文中的virConnectClose函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ virDomainDefFormat函数代码示例
C++ virConfGetValue函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。