Lines Matching defs:vcc

51 static void svc_disconnect(struct atm_vcc *vcc)
55 struct sock *sk = sk_atm(vcc);
57 pr_debug("%p\n", vcc);
58 if (test_bit(ATM_VF_REGIS, &vcc->flags)) {
59 sigd_enq(vcc, as_close, NULL, NULL, NULL);
62 if (test_bit(ATM_VF_RELEASED, &vcc->flags) || !sigd)
71 atm_return(vcc, skb->truesize);
73 sigd_enq2(NULL, as_reject, vcc, NULL, NULL, &vcc->qos, 0);
76 clear_bit(ATM_VF_REGIS, &vcc->flags);
83 struct atm_vcc *vcc;
86 vcc = ATM_SD(sock);
87 pr_debug("%p\n", vcc);
88 clear_bit(ATM_VF_READY, &vcc->flags);
94 svc_disconnect(vcc);
106 struct atm_vcc *vcc;
120 vcc = ATM_SD(sock);
126 clear_bit(ATM_VF_BOUND, &vcc->flags);
129 if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
133 vcc->local = *addr;
134 set_bit(ATM_VF_WAITING, &vcc->flags);
135 sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local);
138 if (!test_bit(ATM_VF_WAITING, &vcc->flags) || !sigd)
143 clear_bit(ATM_VF_REGIS, &vcc->flags); /* doesn't count */
149 set_bit(ATM_VF_BOUND, &vcc->flags);
162 struct atm_vcc *vcc = ATM_SD(sock);
165 pr_debug("%p\n", vcc);
180 if (test_bit(ATM_VF_WAITING, &vcc->flags)) {
196 if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
200 if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||
201 vcc->qos.rxtp.traffic_class == ATM_ANYCLASS) {
205 if (!vcc->qos.txtp.traffic_class &&
206 !vcc->qos.rxtp.traffic_class) {
210 vcc->remote = *addr;
211 set_bit(ATM_VF_WAITING, &vcc->flags);
212 sigd_enq(vcc, as_connect, NULL, NULL, &vcc->remote);
220 while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) {
240 sigd_enq(vcc, as_close, NULL, NULL, NULL);
241 while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) {
247 while (!test_bit(ATM_VF_RELEASED, &vcc->flags) &&
253 clear_bit(ATM_VF_REGIS, &vcc->flags);
254 clear_bit(ATM_VF_RELEASED, &vcc->flags);
255 clear_bit(ATM_VF_CLOSE, &vcc->flags);
273 vcc->qos.txtp.max_pcr = SELECT_TOP_PCR(vcc->qos.txtp);
274 vcc->qos.txtp.pcr = 0;
275 vcc->qos.txtp.min_pcr = 0;
277 error = vcc_connect(sock, vcc->itf, vcc->vpi, vcc->vci);
281 (void)svc_disconnect(vcc);
291 struct atm_vcc *vcc = ATM_SD(sock);
294 pr_debug("%p\n", vcc);
297 if (test_bit(ATM_VF_SESSION, &vcc->flags)) {
301 if (test_bit(ATM_VF_LISTEN, &vcc->flags)) {
305 set_bit(ATM_VF_WAITING, &vcc->flags);
306 sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local);
309 if (!test_bit(ATM_VF_WAITING, &vcc->flags) || !sigd)
318 set_bit(ATM_VF_LISTEN, &vcc->flags);
437 int svc_change_qos(struct atm_vcc *vcc, struct atm_qos *qos)
439 struct sock *sk = sk_atm(vcc);
442 set_bit(ATM_VF_WAITING, &vcc->flags);
443 sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0);
446 if (!test_bit(ATM_VF_WAITING, &vcc->flags) ||
447 test_bit(ATM_VF_RELEASED, &vcc->flags) || !sigd) {
462 struct atm_vcc *vcc = ATM_SD(sock);
472 if (copy_from_sockptr(&vcc->sap, optval, optlen)) {
476 set_bit(ATM_VF_HASSAP, &vcc->flags);
488 set_bit(ATM_VF_SESSION, &vcc->flags);
490 clear_bit(ATM_VF_SESSION, &vcc->flags);
536 struct atm_vcc *vcc = ATM_SD(sock);
540 set_bit(ATM_VF_WAITING, &vcc->flags);
541 sigd_enq(vcc, as_addparty, NULL, NULL,
550 if (!test_bit(ATM_VF_WAITING, &vcc->flags) || !sigd)
565 struct atm_vcc *vcc = ATM_SD(sock);
569 set_bit(ATM_VF_WAITING, &vcc->flags);
570 sigd_enq2(vcc, as_dropparty, NULL, NULL, NULL, NULL, ep_ref);
573 if (!test_bit(ATM_VF_WAITING, &vcc->flags) || !sigd)
592 struct atm_vcc *vcc = ATM_SD(sock);
596 if (!test_bit(ATM_VF_SESSION, &vcc->flags))
604 if (!test_bit(ATM_VF_SESSION, &vcc->flags))