pvc              2837 arch/powerpc/kvm/book3s_hv.c static bool can_piggyback(struct kvmppc_vcore *pvc, struct core_info *cip,
pvc              2840 arch/powerpc/kvm/book3s_hv.c 	if (cip->total_threads + pvc->num_threads > target_threads)
pvc              2843 arch/powerpc/kvm/book3s_hv.c 	return can_dynamic_split(pvc, cip);
pvc              2868 arch/powerpc/kvm/book3s_hv.c 	struct kvmppc_vcore *pvc, *vcnext;
pvc              2871 arch/powerpc/kvm/book3s_hv.c 	list_for_each_entry_safe(pvc, vcnext, &lp->list, preempt_list) {
pvc              2872 arch/powerpc/kvm/book3s_hv.c 		if (!spin_trylock(&pvc->lock))
pvc              2874 arch/powerpc/kvm/book3s_hv.c 		prepare_threads(pvc);
pvc              2875 arch/powerpc/kvm/book3s_hv.c 		if (!pvc->n_runnable || !pvc->kvm->arch.mmu_ready) {
pvc              2876 arch/powerpc/kvm/book3s_hv.c 			list_del_init(&pvc->preempt_list);
pvc              2877 arch/powerpc/kvm/book3s_hv.c 			if (pvc->runner == NULL) {
pvc              2878 arch/powerpc/kvm/book3s_hv.c 				pvc->vcore_state = VCORE_INACTIVE;
pvc              2879 arch/powerpc/kvm/book3s_hv.c 				kvmppc_core_end_stolen(pvc);
pvc              2881 arch/powerpc/kvm/book3s_hv.c 			spin_unlock(&pvc->lock);
pvc              2884 arch/powerpc/kvm/book3s_hv.c 		if (!can_piggyback(pvc, cip, target_threads)) {
pvc              2885 arch/powerpc/kvm/book3s_hv.c 			spin_unlock(&pvc->lock);
pvc              2888 arch/powerpc/kvm/book3s_hv.c 		kvmppc_core_end_stolen(pvc);
pvc              2889 arch/powerpc/kvm/book3s_hv.c 		pvc->vcore_state = VCORE_PIGGYBACK;
pvc              3048 arch/powerpc/kvm/book3s_hv.c 	struct kvmppc_vcore *pvc;
pvc              3144 arch/powerpc/kvm/book3s_hv.c 			pvc = core_info.vc[sub];
pvc              3146 arch/powerpc/kvm/book3s_hv.c 			kvmppc_vcore_preempt(pvc);
pvc              3147 arch/powerpc/kvm/book3s_hv.c 			spin_unlock(&pvc->lock);
pvc              3248 arch/powerpc/kvm/book3s_hv.c 		pvc = core_info.vc[sub];
pvc              3249 arch/powerpc/kvm/book3s_hv.c 		pvc->pcpu = pcpu + thr;
pvc              3250 arch/powerpc/kvm/book3s_hv.c 		for_each_runnable_thread(i, vcpu, pvc) {
pvc              3251 arch/powerpc/kvm/book3s_hv.c 			kvmppc_start_thread(vcpu, pvc);
pvc              3252 arch/powerpc/kvm/book3s_hv.c 			kvmppc_create_dtl_entry(vcpu, pvc);
pvc              3263 arch/powerpc/kvm/book3s_hv.c 			kvmppc_start_thread(NULL, pvc);
pvc              3375 arch/powerpc/kvm/book3s_hv.c 		pvc = core_info.vc[sub];
pvc              3376 arch/powerpc/kvm/book3s_hv.c 		post_guest_process(pvc, pvc == vc);
pvc               177 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = state(hdlc)->first_pvc;
pvc               179 drivers/net/wan/hdlc_fr.c 	while (pvc) {
pvc               180 drivers/net/wan/hdlc_fr.c 		if (pvc->dlci == dlci)
pvc               181 drivers/net/wan/hdlc_fr.c 			return pvc;
pvc               182 drivers/net/wan/hdlc_fr.c 		if (pvc->dlci > dlci)
pvc               184 drivers/net/wan/hdlc_fr.c 		pvc = pvc->next;
pvc               194 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc, **pvc_p = &state(hdlc)->first_pvc;
pvc               204 drivers/net/wan/hdlc_fr.c 	pvc = kzalloc(sizeof(*pvc), GFP_ATOMIC);
pvc               206 drivers/net/wan/hdlc_fr.c 	printk(KERN_DEBUG "add_pvc: allocated pvc %p, frad %p\n", pvc, dev);
pvc               208 drivers/net/wan/hdlc_fr.c 	if (!pvc)
pvc               211 drivers/net/wan/hdlc_fr.c 	pvc->dlci = dlci;
pvc               212 drivers/net/wan/hdlc_fr.c 	pvc->frad = dev;
pvc               213 drivers/net/wan/hdlc_fr.c 	pvc->next = *pvc_p;	/* Put it in the chain */
pvc               214 drivers/net/wan/hdlc_fr.c 	*pvc_p = pvc;
pvc               215 drivers/net/wan/hdlc_fr.c 	return pvc;
pvc               219 drivers/net/wan/hdlc_fr.c static inline int pvc_is_used(struct pvc_device *pvc)
pvc               221 drivers/net/wan/hdlc_fr.c 	return pvc->main || pvc->ether;
pvc               225 drivers/net/wan/hdlc_fr.c static inline void pvc_carrier(int on, struct pvc_device *pvc)
pvc               228 drivers/net/wan/hdlc_fr.c 		if (pvc->main)
pvc               229 drivers/net/wan/hdlc_fr.c 			if (!netif_carrier_ok(pvc->main))
pvc               230 drivers/net/wan/hdlc_fr.c 				netif_carrier_on(pvc->main);
pvc               231 drivers/net/wan/hdlc_fr.c 		if (pvc->ether)
pvc               232 drivers/net/wan/hdlc_fr.c 			if (!netif_carrier_ok(pvc->ether))
pvc               233 drivers/net/wan/hdlc_fr.c 				netif_carrier_on(pvc->ether);
pvc               235 drivers/net/wan/hdlc_fr.c 		if (pvc->main)
pvc               236 drivers/net/wan/hdlc_fr.c 			if (netif_carrier_ok(pvc->main))
pvc               237 drivers/net/wan/hdlc_fr.c 				netif_carrier_off(pvc->main);
pvc               238 drivers/net/wan/hdlc_fr.c 		if (pvc->ether)
pvc               239 drivers/net/wan/hdlc_fr.c 			if (netif_carrier_ok(pvc->ether))
pvc               240 drivers/net/wan/hdlc_fr.c 				netif_carrier_off(pvc->ether);
pvc               251 drivers/net/wan/hdlc_fr.c 			struct pvc_device *pvc = *pvc_p;
pvc               253 drivers/net/wan/hdlc_fr.c 			printk(KERN_DEBUG "freeing unused pvc: %p\n", pvc);
pvc               255 drivers/net/wan/hdlc_fr.c 			*pvc_p = pvc->next;
pvc               256 drivers/net/wan/hdlc_fr.c 			kfree(pvc);
pvc               264 drivers/net/wan/hdlc_fr.c static inline struct net_device **get_dev_p(struct pvc_device *pvc,
pvc               268 drivers/net/wan/hdlc_fr.c 		return &pvc->ether;
pvc               270 drivers/net/wan/hdlc_fr.c 		return &pvc->main;
pvc               344 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = dev->ml_priv;
pvc               346 drivers/net/wan/hdlc_fr.c 	if ((pvc->frad->flags & IFF_UP) == 0)
pvc               349 drivers/net/wan/hdlc_fr.c 	if (pvc->open_count++ == 0) {
pvc               350 drivers/net/wan/hdlc_fr.c 		hdlc_device *hdlc = dev_to_hdlc(pvc->frad);
pvc               352 drivers/net/wan/hdlc_fr.c 			pvc->state.active = netif_carrier_ok(pvc->frad);
pvc               354 drivers/net/wan/hdlc_fr.c 		pvc_carrier(pvc->state.active, pvc);
pvc               364 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = dev->ml_priv;
pvc               366 drivers/net/wan/hdlc_fr.c 	if (--pvc->open_count == 0) {
pvc               367 drivers/net/wan/hdlc_fr.c 		hdlc_device *hdlc = dev_to_hdlc(pvc->frad);
pvc               369 drivers/net/wan/hdlc_fr.c 			pvc->state.active = 0;
pvc               373 drivers/net/wan/hdlc_fr.c 			pvc->state.active = 0;
pvc               383 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = dev->ml_priv;
pvc               398 drivers/net/wan/hdlc_fr.c 		info.dlci = pvc->dlci;
pvc               399 drivers/net/wan/hdlc_fr.c 		memcpy(info.master, pvc->frad->name, IFNAMSIZ);
pvc               411 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = dev->ml_priv;
pvc               413 drivers/net/wan/hdlc_fr.c 	if (pvc->state.active) {
pvc               430 drivers/net/wan/hdlc_fr.c 		if (!fr_hard_header(&skb, pvc->dlci)) {
pvc               433 drivers/net/wan/hdlc_fr.c 			if (pvc->state.fecn) /* TX Congestion counter */
pvc               435 drivers/net/wan/hdlc_fr.c 			skb->dev = pvc->frad;
pvc               446 drivers/net/wan/hdlc_fr.c static inline void fr_log_dlci_active(struct pvc_device *pvc)
pvc               448 drivers/net/wan/hdlc_fr.c 	netdev_info(pvc->frad, "DLCI %d [%s%s%s]%s %s\n",
pvc               449 drivers/net/wan/hdlc_fr.c 		    pvc->dlci,
pvc               450 drivers/net/wan/hdlc_fr.c 		    pvc->main ? pvc->main->name : "",
pvc               451 drivers/net/wan/hdlc_fr.c 		    pvc->main && pvc->ether ? " " : "",
pvc               452 drivers/net/wan/hdlc_fr.c 		    pvc->ether ? pvc->ether->name : "",
pvc               453 drivers/net/wan/hdlc_fr.c 		    pvc->state.new ? " new" : "",
pvc               454 drivers/net/wan/hdlc_fr.c 		    !pvc->state.exist ? "deleted" :
pvc               455 drivers/net/wan/hdlc_fr.c 		    pvc->state.active ? "active" : "inactive");
pvc               471 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = state(hdlc)->first_pvc;
pvc               517 drivers/net/wan/hdlc_fr.c 		while (pvc) {
pvc               523 drivers/net/wan/hdlc_fr.c 			if (state(hdlc)->reliable && !pvc->state.exist) {
pvc               524 drivers/net/wan/hdlc_fr.c 				pvc->state.exist = pvc->state.new = 1;
pvc               525 drivers/net/wan/hdlc_fr.c 				fr_log_dlci_active(pvc);
pvc               529 drivers/net/wan/hdlc_fr.c 			if (pvc->open_count && !pvc->state.active &&
pvc               530 drivers/net/wan/hdlc_fr.c 			    pvc->state.exist && !pvc->state.new) {
pvc               531 drivers/net/wan/hdlc_fr.c 				pvc_carrier(1, pvc);
pvc               532 drivers/net/wan/hdlc_fr.c 				pvc->state.active = 1;
pvc               533 drivers/net/wan/hdlc_fr.c 				fr_log_dlci_active(pvc);
pvc               537 drivers/net/wan/hdlc_fr.c 				data[i] = pvc->dlci >> 8;
pvc               538 drivers/net/wan/hdlc_fr.c 				data[i + 1] = pvc->dlci & 0xFF;
pvc               540 drivers/net/wan/hdlc_fr.c 				data[i] = (pvc->dlci >> 4) & 0x3F;
pvc               541 drivers/net/wan/hdlc_fr.c 				data[i + 1] = ((pvc->dlci << 3) & 0x78) | 0x80;
pvc               545 drivers/net/wan/hdlc_fr.c 			if (pvc->state.new)
pvc               547 drivers/net/wan/hdlc_fr.c 			else if (pvc->state.active)
pvc               551 drivers/net/wan/hdlc_fr.c 			pvc = pvc->next;
pvc               568 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = state(hdlc)->first_pvc;
pvc               577 drivers/net/wan/hdlc_fr.c 			while (pvc) {	/* Activate all PVCs */
pvc               578 drivers/net/wan/hdlc_fr.c 				pvc_carrier(1, pvc);
pvc               579 drivers/net/wan/hdlc_fr.c 				pvc->state.exist = pvc->state.active = 1;
pvc               580 drivers/net/wan/hdlc_fr.c 				pvc->state.new = 0;
pvc               581 drivers/net/wan/hdlc_fr.c 				pvc = pvc->next;
pvc               586 drivers/net/wan/hdlc_fr.c 		while (pvc) {		/* Deactivate all PVCs */
pvc               587 drivers/net/wan/hdlc_fr.c 			pvc_carrier(0, pvc);
pvc               588 drivers/net/wan/hdlc_fr.c 			pvc->state.exist = pvc->state.active = 0;
pvc               589 drivers/net/wan/hdlc_fr.c 			pvc->state.new = 0;
pvc               591 drivers/net/wan/hdlc_fr.c 				pvc->state.bandwidth = 0;
pvc               592 drivers/net/wan/hdlc_fr.c 			pvc = pvc->next;
pvc               653 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc;
pvc               748 drivers/net/wan/hdlc_fr.c 			pvc = state(hdlc)->first_pvc;
pvc               749 drivers/net/wan/hdlc_fr.c 			while (pvc) {
pvc               750 drivers/net/wan/hdlc_fr.c 				if (pvc->state.new) {
pvc               751 drivers/net/wan/hdlc_fr.c 					pvc->state.new = 0;
pvc               756 drivers/net/wan/hdlc_fr.c 				pvc = pvc->next;
pvc               781 drivers/net/wan/hdlc_fr.c 	pvc = state(hdlc)->first_pvc;
pvc               783 drivers/net/wan/hdlc_fr.c 	while (pvc) {
pvc               784 drivers/net/wan/hdlc_fr.c 		pvc->state.deleted = 1;
pvc               785 drivers/net/wan/hdlc_fr.c 		pvc = pvc->next;
pvc               821 drivers/net/wan/hdlc_fr.c 		pvc = add_pvc(dev, dlci);
pvc               823 drivers/net/wan/hdlc_fr.c 		if (!pvc && !no_ram) {
pvc               828 drivers/net/wan/hdlc_fr.c 		if (pvc) {
pvc               829 drivers/net/wan/hdlc_fr.c 			pvc->state.exist = 1;
pvc               830 drivers/net/wan/hdlc_fr.c 			pvc->state.deleted = 0;
pvc               831 drivers/net/wan/hdlc_fr.c 			if (active != pvc->state.active ||
pvc               832 drivers/net/wan/hdlc_fr.c 			    new != pvc->state.new ||
pvc               833 drivers/net/wan/hdlc_fr.c 			    bw != pvc->state.bandwidth ||
pvc               834 drivers/net/wan/hdlc_fr.c 			    !pvc->state.exist) {
pvc               835 drivers/net/wan/hdlc_fr.c 				pvc->state.new = new;
pvc               836 drivers/net/wan/hdlc_fr.c 				pvc->state.active = active;
pvc               837 drivers/net/wan/hdlc_fr.c 				pvc->state.bandwidth = bw;
pvc               838 drivers/net/wan/hdlc_fr.c 				pvc_carrier(active, pvc);
pvc               839 drivers/net/wan/hdlc_fr.c 				fr_log_dlci_active(pvc);
pvc               846 drivers/net/wan/hdlc_fr.c 	pvc = state(hdlc)->first_pvc;
pvc               848 drivers/net/wan/hdlc_fr.c 	while (pvc) {
pvc               849 drivers/net/wan/hdlc_fr.c 		if (pvc->state.deleted && pvc->state.exist) {
pvc               850 drivers/net/wan/hdlc_fr.c 			pvc_carrier(0, pvc);
pvc               851 drivers/net/wan/hdlc_fr.c 			pvc->state.active = pvc->state.new = 0;
pvc               852 drivers/net/wan/hdlc_fr.c 			pvc->state.exist = 0;
pvc               853 drivers/net/wan/hdlc_fr.c 			pvc->state.bandwidth = 0;
pvc               854 drivers/net/wan/hdlc_fr.c 			fr_log_dlci_active(pvc);
pvc               856 drivers/net/wan/hdlc_fr.c 		pvc = pvc->next;
pvc               873 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc;
pvc               892 drivers/net/wan/hdlc_fr.c 	pvc = find_pvc(hdlc, dlci);
pvc               893 drivers/net/wan/hdlc_fr.c 	if (!pvc) {
pvc               902 drivers/net/wan/hdlc_fr.c 	if (pvc->state.fecn != fh->fecn) {
pvc               907 drivers/net/wan/hdlc_fr.c 		pvc->state.fecn ^= 1;
pvc               910 drivers/net/wan/hdlc_fr.c 	if (pvc->state.becn != fh->becn) {
pvc               915 drivers/net/wan/hdlc_fr.c 		pvc->state.becn ^= 1;
pvc               926 drivers/net/wan/hdlc_fr.c 		dev = pvc->main;
pvc               931 drivers/net/wan/hdlc_fr.c 		dev = pvc->main;
pvc               945 drivers/net/wan/hdlc_fr.c 			dev = pvc->main;
pvc               950 drivers/net/wan/hdlc_fr.c 			if ((dev = pvc->ether) != NULL)
pvc               970 drivers/net/wan/hdlc_fr.c 		if (pvc->state.becn)
pvc              1028 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = state(hdlc)->first_pvc;
pvc              1030 drivers/net/wan/hdlc_fr.c 	while (pvc) {		/* Shutdown all PVCs for this FRAD */
pvc              1031 drivers/net/wan/hdlc_fr.c 		if (pvc->main)
pvc              1032 drivers/net/wan/hdlc_fr.c 			dev_close(pvc->main);
pvc              1033 drivers/net/wan/hdlc_fr.c 		if (pvc->ether)
pvc              1034 drivers/net/wan/hdlc_fr.c 			dev_close(pvc->ether);
pvc              1035 drivers/net/wan/hdlc_fr.c 		pvc = pvc->next;
pvc              1059 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc;
pvc              1063 drivers/net/wan/hdlc_fr.c 	if ((pvc = add_pvc(frad, dlci)) == NULL) {
pvc              1068 drivers/net/wan/hdlc_fr.c 	if (*get_dev_p(pvc, type))
pvc              1071 drivers/net/wan/hdlc_fr.c 	used = pvc_is_used(pvc);
pvc              1097 drivers/net/wan/hdlc_fr.c 	dev->ml_priv = pvc;
pvc              1106 drivers/net/wan/hdlc_fr.c 	*get_dev_p(pvc, type) = dev;
pvc              1118 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc;
pvc              1121 drivers/net/wan/hdlc_fr.c 	if ((pvc = find_pvc(hdlc, dlci)) == NULL)
pvc              1124 drivers/net/wan/hdlc_fr.c 	if ((dev = *get_dev_p(pvc, type)) == NULL)
pvc              1131 drivers/net/wan/hdlc_fr.c 	*get_dev_p(pvc, type) = NULL;
pvc              1133 drivers/net/wan/hdlc_fr.c 	if (!pvc_is_used(pvc)) {
pvc              1146 drivers/net/wan/hdlc_fr.c 	struct pvc_device *pvc = state(hdlc)->first_pvc;
pvc              1151 drivers/net/wan/hdlc_fr.c 	while (pvc) {
pvc              1152 drivers/net/wan/hdlc_fr.c 		struct pvc_device *next = pvc->next;
pvc              1154 drivers/net/wan/hdlc_fr.c 		if (pvc->main)
pvc              1155 drivers/net/wan/hdlc_fr.c 			unregister_netdevice(pvc->main);
pvc              1157 drivers/net/wan/hdlc_fr.c 		if (pvc->ether)
pvc              1158 drivers/net/wan/hdlc_fr.c 			unregister_netdevice(pvc->ether);
pvc              1160 drivers/net/wan/hdlc_fr.c 		kfree(pvc);
pvc              1161 drivers/net/wan/hdlc_fr.c 		pvc = next;
pvc              1183 drivers/net/wan/hdlc_fr.c 	fr_proto_pvc pvc;
pvc              1253 drivers/net/wan/hdlc_fr.c 		if (copy_from_user(&pvc, ifr->ifr_settings.ifs_ifsu.fr_pvc,
pvc              1257 drivers/net/wan/hdlc_fr.c 		if (pvc.dlci <= 0 || pvc.dlci >= 1024)
pvc              1268 drivers/net/wan/hdlc_fr.c 			return fr_add_pvc(dev, pvc.dlci, result);
pvc              1270 drivers/net/wan/hdlc_fr.c 			return fr_del_pvc(hdlc, pvc.dlci, result);
pvc                33 include/uapi/linux/atmsvc.h 	struct sockaddr_atmpvc pvc;	/* indicate, okay (connect) */
pvc                42 net/atm/addr.c 	struct sockaddr_atmpvc pvc;
pvc                44 net/atm/addr.c 	pvc.sap_addr.itf = dev->number;
pvc                45 net/atm/addr.c 	sigd_enq(NULL, as_itf_notify, NULL, &pvc, NULL);
pvc               817 net/atm/common.c 		struct sockaddr_atmpvc pvc;
pvc               821 net/atm/common.c 		memset(&pvc, 0, sizeof(pvc));
pvc               822 net/atm/common.c 		pvc.sap_family = AF_ATMPVC;
pvc               823 net/atm/common.c 		pvc.sap_addr.itf = vcc->dev->number;
pvc               824 net/atm/common.c 		pvc.sap_addr.vpi = vcc->vpi;
pvc               825 net/atm/common.c 		pvc.sap_addr.vci = vcc->vci;
pvc               826 net/atm/common.c 		return copy_to_user(optval, &pvc, sizeof(pvc)) ? -EFAULT : 0;
pvc                90 net/atm/signaling.c 		session_vcc->itf = msg->pvc.sap_addr.itf;
pvc                91 net/atm/signaling.c 		session_vcc->vpi = msg->pvc.sap_addr.vpi;
pvc                92 net/atm/signaling.c 		session_vcc->vci = msg->pvc.sap_addr.vci;
pvc               143 net/atm/signaling.c 	       struct atm_vcc *listen_vcc, const struct sockaddr_atmpvc *pvc,
pvc               167 net/atm/signaling.c 	if (pvc)
pvc               168 net/atm/signaling.c 		msg->pvc = *pvc;
pvc               180 net/atm/signaling.c 	      struct atm_vcc *listen_vcc, const struct sockaddr_atmpvc *pvc,
pvc               183 net/atm/signaling.c 	sigd_enq2(vcc, type, listen_vcc, pvc, svc, vcc ? &vcc->qos : NULL, 0);
pvc                24 net/atm/signaling.h     struct atm_vcc *listen_vcc,const struct sockaddr_atmpvc *pvc,
pvc                27 net/atm/signaling.h     struct atm_vcc *listen_vcc,const struct sockaddr_atmpvc *pvc,
pvc               380 net/atm/svc.c  		error = vcc_connect(newsock, msg->pvc.sap_addr.itf,
pvc               381 net/atm/svc.c  				    msg->pvc.sap_addr.vpi,
pvc               382 net/atm/svc.c  				    msg->pvc.sap_addr.vci);
pvc               621 net/sched/sch_atm.c 		struct sockaddr_atmpvc pvc;
pvc               624 net/sched/sch_atm.c 		memset(&pvc, 0, sizeof(pvc));
pvc               625 net/sched/sch_atm.c 		pvc.sap_family = AF_ATMPVC;
pvc               626 net/sched/sch_atm.c 		pvc.sap_addr.itf = flow->vcc->dev ? flow->vcc->dev->number : -1;
pvc               627 net/sched/sch_atm.c 		pvc.sap_addr.vpi = flow->vcc->vpi;
pvc               628 net/sched/sch_atm.c 		pvc.sap_addr.vci = flow->vcc->vci;
pvc               629 net/sched/sch_atm.c 		if (nla_put(skb, TCA_ATM_ADDR, sizeof(pvc), &pvc))