Lines Matching refs:la
84 struct sockaddr_l2 la; in l2cap_sock_bind() local
92 memset(&la, 0, sizeof(la)); in l2cap_sock_bind()
93 len = min_t(unsigned int, sizeof(la), alen); in l2cap_sock_bind()
94 memcpy(&la, addr, len); in l2cap_sock_bind()
96 if (la.l2_cid && la.l2_psm) in l2cap_sock_bind()
99 if (!bdaddr_type_is_valid(la.l2_bdaddr_type)) in l2cap_sock_bind()
102 if (bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_bind()
104 if (la.l2_cid && in l2cap_sock_bind()
105 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_bind()
116 if (la.l2_psm) { in l2cap_sock_bind()
117 __u16 psm = __le16_to_cpu(la.l2_psm); in l2cap_sock_bind()
119 if (la.l2_bdaddr_type == BDADDR_BREDR) in l2cap_sock_bind()
128 if (la.l2_cid) in l2cap_sock_bind()
129 err = l2cap_add_scid(chan, __le16_to_cpu(la.l2_cid)); in l2cap_sock_bind()
131 err = l2cap_add_psm(chan, &la.l2_bdaddr, la.l2_psm); in l2cap_sock_bind()
138 if (__le16_to_cpu(la.l2_psm) == L2CAP_PSM_3DSP) in l2cap_sock_bind()
142 if (__le16_to_cpu(la.l2_psm) == L2CAP_PSM_SDP || in l2cap_sock_bind()
143 __le16_to_cpu(la.l2_psm) == L2CAP_PSM_RFCOMM) in l2cap_sock_bind()
159 bacpy(&chan->src, &la.l2_bdaddr); in l2cap_sock_bind()
160 chan->src_type = la.l2_bdaddr_type; in l2cap_sock_bind()
178 struct sockaddr_l2 la; in l2cap_sock_connect() local
187 memset(&la, 0, sizeof(la)); in l2cap_sock_connect()
188 len = min_t(unsigned int, sizeof(la), alen); in l2cap_sock_connect()
189 memcpy(&la, addr, len); in l2cap_sock_connect()
191 if (la.l2_cid && la.l2_psm) in l2cap_sock_connect()
194 if (!bdaddr_type_is_valid(la.l2_bdaddr_type)) in l2cap_sock_connect()
203 bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_connect()
211 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_connect()
223 if (chan->src_type != BDADDR_BREDR && la.l2_bdaddr_type == BDADDR_BREDR) in l2cap_sock_connect()
226 if (bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_connect()
228 if (la.l2_cid && in l2cap_sock_connect()
229 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_connect()
236 err = l2cap_chan_connect(chan, la.l2_psm, __le16_to_cpu(la.l2_cid), in l2cap_sock_connect()
237 &la.l2_bdaddr, la.l2_bdaddr_type); in l2cap_sock_connect()
361 struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr; in l2cap_sock_getname() local
372 memset(la, 0, sizeof(struct sockaddr_l2)); in l2cap_sock_getname()
376 la->l2_psm = chan->psm; in l2cap_sock_getname()
379 bacpy(&la->l2_bdaddr, &chan->dst); in l2cap_sock_getname()
380 la->l2_cid = cpu_to_le16(chan->dcid); in l2cap_sock_getname()
381 la->l2_bdaddr_type = chan->dst_type; in l2cap_sock_getname()
383 bacpy(&la->l2_bdaddr, &chan->src); in l2cap_sock_getname()
384 la->l2_cid = cpu_to_le16(chan->scid); in l2cap_sock_getname()
385 la->l2_bdaddr_type = chan->src_type; in l2cap_sock_getname()
1443 DECLARE_SOCKADDR(struct sockaddr_l2 *, la, msg_name); in l2cap_skb_msg_name()
1445 memset(la, 0, sizeof(struct sockaddr_l2)); in l2cap_skb_msg_name()
1446 la->l2_family = AF_BLUETOOTH; in l2cap_skb_msg_name()
1447 la->l2_psm = bt_cb(skb)->l2cap.psm; in l2cap_skb_msg_name()
1448 bacpy(&la->l2_bdaddr, &bt_cb(skb)->l2cap.bdaddr); in l2cap_skb_msg_name()