Lines Matching refs:vci
45 struct hlist_head *head = &vcc_hash[vcc->vci & (VCC_HTABLE_SIZE - 1)]; in __vcc_insert_socket()
46 sk->sk_hash = vcc->vci & (VCC_HTABLE_SIZE - 1); in __vcc_insert_socket()
166 vcc->vpi = vcc->vci = 0; /* no VCI/VPI yet */ in vcc_create()
312 static int check_ci(const struct atm_vcc *vcc, short vpi, int vci) in check_ci() argument
314 struct hlist_head *head = &vcc_hash[vci & (VCC_HTABLE_SIZE - 1)]; in check_ci()
323 walk->vci == vci && ((walk->qos.txtp.traffic_class != in check_ci()
337 static int find_ci(const struct atm_vcc *vcc, short *vpi, int *vci) in find_ci() argument
345 if (*vpi != ATM_VPI_ANY && *vci != ATM_VCI_ANY) { in find_ci()
346 err = check_ci(vcc, *vpi, *vci); in find_ci()
354 if (*vci != ATM_VCI_ANY) in find_ci()
355 c = *vci; in find_ci()
363 *vci = c; in find_ci()
366 if (*vci == ATM_VCI_ANY) { in find_ci()
371 if ((c == ATM_NOT_RSV_VCI || *vci != ATM_VCI_ANY) && in find_ci()
382 int vci) in __vcc_connect() argument
388 vpi >> dev->ci_range.vpi_bits) || (vci != ATM_VCI_UNSPEC && in __vcc_connect()
389 vci != ATM_VCI_ANY && vci >> dev->ci_range.vci_bits)) in __vcc_connect()
391 if (vci > 0 && vci < ATM_NOT_RSV_VCI && !capable(CAP_NET_BIND_SERVICE)) in __vcc_connect()
399 (error = find_ci(vcc, &vpi, &vci))) { in __vcc_connect()
404 vcc->vci = vci; in __vcc_connect()
433 pr_debug("VCC %d.%d, AAL %d\n", vpi, vci, vcc->qos.aal); in __vcc_connect()
461 int vcc_connect(struct socket *sock, int itf, short vpi, int vci) in vcc_connect() argument
467 pr_debug("(vpi %d, vci %d)\n", vpi, vci); in vcc_connect()
472 if (!(vpi || vci)) in vcc_connect()
475 if (vpi != ATM_VPI_UNSPEC && vci != ATM_VCI_UNSPEC) in vcc_connect()
509 error = __vcc_connect(vcc, dev, vpi, vci); in vcc_connect()
514 if (vpi == ATM_VPI_UNSPEC || vci == ATM_VCI_UNSPEC) in vcc_connect()
824 pvc.sap_addr.vci = vcc->vci; in vcc_getsockopt()