Lines Matching refs:ch

67 	ng_l2cap_chan_p		 ch = NULL;
106 ch = ng_l2cap_new_chan(l2cap, con, ip->psm, ip->idtype);
107 if (ch == NULL) {
113 cmd = ng_l2cap_new_cmd(ch->con, ch, ng_l2cap_get_ident(con),
116 ng_l2cap_free_chan(ch);
123 ng_l2cap_free_chan(ch);
138 _ng_l2cap_con_req(cmd->aux, cmd->ident, ch->psm, ch->scid);
142 ng_l2cap_free_chan(ch);
147 ch->state = NG_L2CAP_W4_L2CAP_CON_RSP;
150 ng_l2cap_link_cmd(ch->con, cmd);
151 ng_l2cap_lp_deliver(ch->con);
161 ng_l2cap_l2ca_con_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result,
164 ng_l2cap_p l2cap = ch->con->l2cap;
174 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
195 if(ch->scid == NG_L2CAP_ATT_CID){
197 op->lcid = ch->con->con_handle;
198 }else if(ch->scid == NG_L2CAP_SMP_CID){
200 op->lcid = ch->con->con_handle;
202 op->idtype = (ch->con->linktype == NG_HCI_LINK_ACL)?
205 op->lcid = ch->scid;
207 op->encryption = ch->con->encryption;
226 ng_l2cap_chan_p ch = NULL;
246 ch = ng_l2cap_chan_by_scid(l2cap, ip->lcid
252 ch = NULL;
254 if (ch == NULL) {
264 if (ch->state != NG_L2CAP_W4_L2CA_CON_RSP) {
268 __func__, NG_NODE_NAME(l2cap->node), ch->state,
274 dcid = ch->dcid;
275 con = ch->con;
282 if (ch->ident != ip->ident)
286 __func__, NG_NODE_NAME(l2cap->node), ch->scid,
287 ch->ident, ip->ident);
292 ch->state = ((ch->scid == NG_L2CAP_ATT_CID)||
293 (ch->scid == NG_L2CAP_SMP_CID))?
295 ch->cfg_state = 0;
302 ng_l2cap_free_chan(ch);
303 ch = NULL;
308 cmd = ng_l2cap_new_cmd(con, ch, ip->ident, NG_L2CAP_CON_RSP,
311 if (ch != NULL)
312 ng_l2cap_free_chan(ch);
321 if (ch != NULL)
322 ng_l2cap_free_chan(ch);
336 int ng_l2cap_l2ca_encryption_change(ng_l2cap_chan_p ch, uint16_t result)
338 ng_l2cap_p l2cap = ch->con->l2cap;
348 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
364 if(ch->scid ==NG_L2CAP_ATT_CID||
365 ch->scid ==NG_L2CAP_SMP_CID){
366 op->lcid = ch->con->con_handle;
367 op->idtype = (ch->scid==NG_L2CAP_ATT_CID)?
371 op->idtype =(ch->con->linktype ==NG_HCI_LINK_ACL)?
388 ng_l2cap_l2ca_con_rsp_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result)
390 ng_l2cap_p l2cap = ch->con->l2cap;
400 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
428 ng_l2cap_l2ca_con_ind(ng_l2cap_chan_p ch)
430 ng_l2cap_p l2cap = ch->con->l2cap;
440 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
453 bcopy(&ch->con->remote, &ip->bdaddr, sizeof(ip->bdaddr));
454 ip->lcid = ch->scid;
455 ip->psm = ch->psm;
456 ip->ident = ch->ident;
457 ip->linktype = ch->con->linktype;
473 ng_l2cap_chan_p ch = NULL;
493 ch = ng_l2cap_chan_by_scid(l2cap, ip->lcid, NG_L2CAP_L2CA_IDTYPE_BREDR);
494 if (ch == NULL) {
504 if (ch->state != NG_L2CAP_OPEN && ch->state != NG_L2CAP_CONFIG) {
508 __func__, NG_NODE_NAME(l2cap->node), ch->state,
509 ch->scid);
515 ch->imtu = ip->imtu;
516 bcopy(&ip->oflow, &ch->oflow, sizeof(ch->oflow));
517 ch->flush_timo = ip->flush_timo;
518 ch->link_timo = ip->link_timo;
521 if (ch->imtu != NG_L2CAP_MTU_DEFAULT)
522 mtu = &ch->imtu;
523 if (ch->flush_timo != NG_L2CAP_FLUSH_TIMO_DEFAULT)
524 flush_timo = &ch->flush_timo;
525 if (bcmp(ng_l2cap_default_flow(), &ch->oflow, sizeof(ch->oflow)) != 0)
526 flow = &ch->oflow;
536 cmd = ng_l2cap_new_cmd(ch->con, ch, ng_l2cap_get_ident(ch->con),
552 _ng_l2cap_cfg_req(cmd->aux, cmd->ident, ch->dcid, 0, opt);
560 if (ch->state == NG_L2CAP_OPEN) {
561 ch->state = ((ch->scid == NG_L2CAP_ATT_CID)||
562 (ch->scid == NG_L2CAP_SMP_CID))?
564 ch->cfg_state = 0;
568 ng_l2cap_link_cmd(ch->con, cmd);
569 ng_l2cap_lp_deliver(ch->con);
579 ng_l2cap_l2ca_cfg_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result)
581 ng_l2cap_p l2cap = ch->con->l2cap;
591 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
607 op->imtu = ch->imtu;
608 bcopy(&ch->oflow, &op->oflow, sizeof(op->oflow));
609 op->flush_timo = ch->flush_timo;
614 ch->cfg_state |= NG_L2CAP_CFG_IN;
616 if (ch->cfg_state == NG_L2CAP_CFG_BOTH)
617 ch->state = NG_L2CAP_OPEN;
645 ng_l2cap_chan_p ch = NULL;
665 ch = ng_l2cap_chan_by_scid(l2cap, ip->lcid,
667 if (ch == NULL) {
677 if (ch->state != NG_L2CAP_CONFIG) {
681 __func__, NG_NODE_NAME(l2cap->node), ch->state,
682 ch->scid);
688 if (ip->omtu != ch->omtu) {
689 ch->omtu = ip->omtu;
690 mtu = &ch->omtu;
693 if (bcmp(&ip->iflow, &ch->iflow, sizeof(ch->iflow)) != 0) {
694 bcopy(&ip->iflow, &ch->iflow, sizeof(ch->iflow));
695 flow = &ch->iflow;
707 cmd = ng_l2cap_new_cmd(ch->con, ch, ch->ident, NG_L2CAP_CFG_RSP,
715 _ng_l2cap_cfg_rsp(cmd->aux,cmd->ident,ch->dcid,0,NG_L2CAP_SUCCESS,opt);
723 ch->cfg_state |= NG_L2CAP_CFG_OUT;
724 if (ch->cfg_state == NG_L2CAP_CFG_BOTH)
725 ch->state = NG_L2CAP_OPEN;
728 ng_l2cap_link_cmd(ch->con, cmd);
729 ng_l2cap_lp_deliver(ch->con);
739 ng_l2cap_l2ca_cfg_rsp_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result)
741 ng_l2cap_p l2cap = ch->con->l2cap;
751 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
792 ng_l2cap_l2ca_cfg_ind(ng_l2cap_chan_p ch)
794 ng_l2cap_p l2cap = ch->con->l2cap;
804 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
816 ip->lcid = ch->scid;
817 ip->omtu = ch->omtu;
818 bcopy(&ch->iflow, &ip->iflow, sizeof(ip->iflow));
819 ip->flush_timo = ch->flush_timo;
835 ng_l2cap_chan_p ch = NULL;
871 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_ATT_CID,
874 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_SMP_CID,
887 ch = ng_l2cap_chan_by_scid(l2cap, l2ca_hdr->lcid,
891 if (ch == NULL) {
899 if (ch->state != NG_L2CAP_OPEN) {
902 __func__, NG_NODE_NAME(l2cap->node), ch->scid,
903 ch->state);
909 cmd = ng_l2cap_new_cmd(ch->con, ch, 0, NGM_L2CAP_L2CA_WRITE, token);
917 ng_l2cap_link_cmd(ch->con, cmd);
918 ng_l2cap_lp_deliver(ch->con);
932 ng_l2cap_l2ca_write_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result,
935 ng_l2cap_p l2cap = ch->con->l2cap;
945 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
962 if(ch->scid == NG_L2CAP_ATT_CID){
964 op->lcid = ch->con->con_handle;
965 }else if(ch->scid == NG_L2CAP_SMP_CID){
967 op->lcid = ch->con->con_handle;
969 op->idtype = (ch->con->linktype == NG_HCI_LINK_ACL)?
972 op->lcid = ch->scid;
991 ng_l2cap_chan_p ch = NULL;
1007 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_ATT_CID,
1017 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_SMP_CID,
1029 ch = ng_l2cap_chan_by_scid(l2cap, hdr->dcid, idtype);
1031 if (ch == NULL) {
1041 if (ch->state != NG_L2CAP_OPEN) {
1045 __func__, NG_NODE_NAME(l2cap->node), ch->scid,
1046 ch->state);
1052 if (hdr->length > ch->imtu) {
1057 ch->imtu, ch->scid);
1072 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
1179 ng_l2cap_l2ca_qos_ind(ng_l2cap_chan_p ch)
1181 ng_l2cap_p l2cap = ch->con->l2cap;
1191 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
1203 bcopy(&ch->con->remote, &ip->bdaddr, sizeof(ip->bdaddr));
1218 ng_l2cap_chan_p ch = NULL;
1237 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_ATT_CID,
1240 if(ch != NULL){
1241 ng_l2cap_free_chan(ch);
1252 ch = ng_l2cap_chan_by_conhandle(l2cap, NG_L2CAP_SMP_CID,
1255 if(ch != NULL){
1256 ng_l2cap_free_chan(ch);
1267 ch = ng_l2cap_chan_by_scid(l2cap, ip->lcid, ip->idtype);
1269 if (ch == NULL) {
1279 if (ch->state != NG_L2CAP_CONFIG && ch->state != NG_L2CAP_OPEN &&
1280 ch->state != NG_L2CAP_W4_L2CAP_DISCON_RSP) {
1284 __func__, NG_NODE_NAME(l2cap->node), ch->state,
1285 ch->scid);
1291 cmd = ng_l2cap_new_cmd(ch->con, ch, ng_l2cap_get_ident(ch->con),
1294 ng_l2cap_free_chan(ch);
1300 ng_l2cap_free_chan(ch);
1306 _ng_l2cap_discon_req(cmd->aux, cmd->ident, ch->dcid, ch->scid);
1308 ng_l2cap_free_chan(ch);
1314 ch->state = NG_L2CAP_W4_L2CAP_DISCON_RSP;
1317 ng_l2cap_link_cmd(ch->con, cmd);
1318 ng_l2cap_lp_deliver(ch->con);
1328 ng_l2cap_l2ca_discon_rsp(ng_l2cap_chan_p ch, u_int32_t token, u_int16_t result)
1330 ng_l2cap_p l2cap = ch->con->l2cap;
1340 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
1368 ng_l2cap_l2ca_discon_ind(ng_l2cap_chan_p ch)
1370 ng_l2cap_p l2cap = ch->con->l2cap;
1380 __func__, NG_NODE_NAME(l2cap->node), ch->psm);
1392 ip->idtype = ch->idtype;
1393 if(ch->idtype == NG_L2CAP_L2CA_IDTYPE_ATT||
1394 ch->idtype == NG_L2CAP_L2CA_IDTYPE_SMP)
1395 ip->lcid = ch->con->con_handle;
1397 ip->lcid = ch->scid;
1444 ng_l2cap_l2ca_grp_add_member_rsp(ng_l2cap_chan_p ch, u_int32_t token,