Home | History | Annotate | Download | only in rfcomm

Lines Matching refs:p_port

113     tPORT      *p_port;
144 if (!is_server && ((p_port = port_find_port (dlci, bd_addr)) != NULL))
147 if (p_port->is_server == FALSE)
150 p_port->state, p_port->rfc.state, p_port->rfc.p_mcb ? p_port->rfc.p_mcb->state : 0);
155 if ((p_port = port_allocate_port (dlci, bd_addr)) == NULL)
160 RFCOMM_TRACE_API("RFCOMM_CreateConnection(): scn:%d, dlci:%d, is_server:%d mtu:%d, p_mcb:%p, p_port:%p",
161 scn, dlci, is_server, mtu, p_mcb, p_port);
163 p_port->default_signal_state = (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON);
168 p_port->default_signal_state = PORT_OBEX_DEFAULT_SIGNAL_STATE;
171 p_port->default_signal_state = PORT_SPP_DEFAULT_SIGNAL_STATE;
174 p_port->default_signal_state = PORT_PPP_DEFAULT_SIGNAL_STATE;
178 p_port->default_signal_state = PORT_DUN_DEFAULT_SIGNAL_STATE;
182 RFCOMM_TRACE_EVENT ("RFCOMM_CreateConnection dlci:%d signal state:0x%x", dlci, p_port->default_signal_state);
184 *p_handle = p_port->inx;
186 p_port->state = PORT_STATE_OPENING;
187 p_port->uuid = uuid;
188 p_port->is_server = is_server;
189 p_port->scn = scn;
190 p_port->ev_mask = 0;
201 p_port->mtu = (mtu < rfcomm_mtu) ? mtu : rfcomm_mtu;
203 p_port->mtu = rfcomm_mtu;
208 p_port->keep_port_handle = TRUE;
210 /* keep mtu that user asked, p_port->mtu could be updated during param negotiation */
211 p_port->keep_mtu = p_port->mtu;
214 p_port->local_ctrl.modem_signal = p_port->default_signal_state;
215 p_port->local_ctrl.fc = FALSE;
217 p_port->p_mgmt_callback = p_mgmt_cb;
220 p_port->bd_addr[i] = bd_addr[i];
223 if (p_port->is_server)
229 return port_open_continue (p_port);
244 tPORT *p_port;
256 p_port = &rfc_cb.port.port[handle - 1];
258 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
264 p_port->state = PORT_STATE_CLOSING;
266 port_start_close (p_port);
282 tPORT *p_port;
292 p_port = &rfc_cb.port.port[handle - 1];
295 p_port->p_mgmt_callback = NULL;
297 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
304 p_port->keep_port_handle = FALSE;
305 p_port->state = PORT_STATE_CLOSING;
307 port_start_close (p_port);
329 tPORT *p_port;
337 p_port = &rfc_cb.port.port[port_handle - 1];
339 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
346 p_port->p_callback = p_port_cb;
362 tPORT *p_port;
370 p_port = &rfc_cb.port.port[port_handle - 1];
371 p_port->keep_port_handle = 0;
390 tPORT *p_port;
400 p_port = &rfc_cb.port.port[port_handle - 1];
402 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
407 p_port->p_data_callback = p_port_cb;
426 tPORT *p_port;
436 p_port = &rfc_cb.port.port[port_handle - 1];
438 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
443 p_port->p_data_co_callback = p_port_cb;
462 tPORT *p_port;
472 p_port = &rfc_cb.port.port[port_handle - 1];
474 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
479 p_port->ev_mask = mask;
499 tPORT *p_port;
509 p_port = &rfc_cb.port.port[handle - 1];
511 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
516 if (!p_port->rfc.p_mcb
517 || !p_port->rfc.p_mcb->peer_ready
518 || (p_port->rfc.state != RFC_STATE_OPENED))
523 memcpy (bd_addr, p_port->rfc.p_mcb->bd_addr, BD_ADDR_LEN);
525 *p_lcid = p_port->rfc.p_mcb->lcid;
545 tPORT *p_port;
562 p_port = &rfc_cb.port.port[0];
564 for (yy = 0; yy < MAX_RFC_PORTS; yy++, p_port++)
566 if (p_port->rfc.p_mcb == p_mcb)
574 (found_port && (p_port->rfc.state < RFC_STATE_OPENED)))
601 tPORT *p_port;
612 p_port = &rfc_cb.port.port[handle - 1];
614 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
619 if (p_port->line_status)
627 baud_rate = p_port->user_port_pars.baud_rate;
628 p_port->user_port_pars = *p_settings;
633 port_start_par_neg (p_port);
650 tPORT *p_port;
660 p_port = &rfc_cb.port.port[handle - 1];
662 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
667 if (p_port->line_status)
672 *p_rx_queue_count = p_port->rx.queue_size;
674 RFCOMM_TRACE_API ("PORT_GetRxQueueCnt() p_rx_queue_count:%d, p_port->rx.queue.count = %d",
675 *p_rx_queue_count, p_port->rx.queue_size);
694 tPORT *p_port;
704 p_port = &rfc_cb.port.port[handle - 1];
706 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
711 if (p_port->line_status)
716 *p_settings = p_port->user_port_pars;
734 tPORT *p_port;
745 p_port = &rfc_cb.port.port[handle - 1];
747 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
752 old_modem_signal = p_port->local_ctrl.modem_signal;
753 p_port->local_ctrl.break_signal = 0;
758 p_port->local_ctrl.modem_signal |= PORT_CTSRTS_ON;
762 p_port->local_ctrl.modem_signal &= ~PORT_CTSRTS_ON;
766 p_port->local_ctrl.modem_signal |= PORT_DTRDSR_ON;
770 p_port->local_ctrl.modem_signal &= ~PORT_DTRDSR_ON;
774 p_port->local_ctrl.modem_signal |= PORT_RING_ON;
778 p_port->local_ctrl.modem_signal &= ~PORT_RING_ON;
782 p_port->local_ctrl.modem_signal |= PORT_DCD_ON;
786 p_port->local_ctrl.modem_signal &= ~PORT_DCD_ON;
791 p_port->local_ctrl.break_signal = PORT_BREAK_DURATION;
792 else if (p_port->local_ctrl.modem_signal == old_modem_signal)
795 port_start_control (p_port);
798 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_DTRDSR) ? 1 : 0),
799 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_RTSCTS) ? 1 : 0),
800 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_RI) ? 1 : 0),
801 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_DCD) ? 1 : 0));
821 tPORT *p_port;
833 p_port = &rfc_cb.port.port[handle - 1];
835 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
840 if (!p_port->rfc.p_mcb)
845 p_port->rx.user_fc = !enable;
847 if (p_port->rfc.p_mcb->flow == PORT_FC_CREDIT)
849 if (!p_port->rx.user_fc)
851 port_flow_control_peer(p_port, TRUE, 0);
856 old_fc = p_port->local_ctrl.fc;
859 p_port->local_ctrl.fc = (p_port->rx.user_fc | p_port->rx.peer_fc);
861 if (p_port->local_ctrl.fc != old_fc)
862 port_start_control (p_port);
867 if (enable && (p_port->rx.queue_size != 0))
870 if (p_port->rx_flag_ev_pending)
872 p_port->rx_flag_ev_pending = FALSE;
876 events &= p_port->ev_mask;
877 if (p_port->p_callback && events)
879 p_port->p_callback (events, p_port->inx);
900 tPORT *p_port;
912 p_port = &rfc_cb.port.port[handle - 1];
914 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
919 if (!p_port->rfc.p_mcb)
924 p_port->rx.user_fc = !enable;
926 if (p_port->rfc.p_mcb->flow == PORT_FC_CREDIT)
928 if (!p_port->rx.user_fc)
930 port_flow_control_peer(p_port, TRUE, p_port->credit_rx);
935 old_fc = p_port->local_ctrl.fc;
938 p_port->local_ctrl.fc = (p_port->rx.user_fc | p_port->rx.peer_fc);
940 if (p_port->local_ctrl.fc != old_fc)
941 port_start_control (p_port);
946 if (enable && (p_port->rx.queue_size != 0))
949 if (p_port->rx_flag_ev_pending)
951 p_port->rx_flag_ev_pending = FALSE;
955 events &= p_port->ev_mask;
956 if (p_port->p_callback && events)
958 p_port->p_callback (events, p_port->inx);
980 tPORT *p_port;
987 p_port = &rfc_cb.port.port[handle - 1];
989 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
994 *p_signal = p_port->peer_ctrl.modem_signal;
1020 tPORT *p_port;
1029 p_port = &rfc_cb.port.port[handle - 1];
1031 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1036 *p_errors = p_port->line_status;
1040 p_port->line_status = (p_port->line_status & LINE_STATUS_FAILED);
1059 tPORT *p_port;
1068 p_port = &rfc_cb.port.port[handle - 1];
1070 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1075 if (!p_port->rfc.p_mcb)
1080 RFCOMM_LineStatusReq (p_port->rfc.p_mcb, p_port->dlci, errors);
1098 tPORT *p_port;
1107 p_port = &rfc_cb.port.port[handle - 1];
1109 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1114 p_status->in_queue_size = (UINT16) p_port->rx.queue_size;
1115 p_status->out_queue_size = (UINT16) p_port->tx.queue_size;
1117 p_status->mtu_size = (UINT16) p_port->peer_mtu;
1121 if (!(p_port->peer_ctrl.modem_signal & PORT_CTSRTS_ON))
1124 if (!(p_port->peer_ctrl.modem_signal & PORT_DTRDSR_ON))
1127 if (!(p_port->peer_ctrl.modem_signal & PORT_DCD_ON))
1147 tPORT *p_port;
1160 p_port = &rfc_cb.port.port[handle - 1];
1162 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1171 count = GKI_queue_length(&p_port->rx.queue);
1173 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_port->rx.queue)) != NULL)
1176 p_port->rx.queue_size = 0;
1182 port_flow_control_peer (p_port, TRUE, count);
1189 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_port->tx.queue)) != NULL)
1192 p_port->tx.queue_size = 0;
1198 events |= port_flow_control_user (p_port);
1200 events &= p_port->ev_mask;
1202 if ((p_port->p_callback != NULL) && events)
1203 (p_port->p_callback)(events, p_port->inx);
1225 tPORT *p_port;
1240 p_port = &rfc_cb.port.port[handle - 1];
1242 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1247 if (p_port->line_status)
1252 p_buf = (BT_HDR *)GKI_getfirst (&p_port->rx.queue);
1270 p_port->rx.queue_size -= max_len;
1285 p_port->rx.queue_size -= p_buf->len;
1293 GKI_freebuf (GKI_dequeue (&p_port->rx.queue));
1303 RFCOMM_TRACE_EVENT ("PORT_ReadData queue:%d returned:%d %x", p_port->rx.queue_size, *p_len, (p_data[0]));
1307 RFCOMM_TRACE_EVENT ("PORT_ReadData queue:%d returned:%d", p_port->rx.queue_size, *p_len);
1312 port_flow_control_peer (p_port, TRUE, count);
1331 tPORT *p_port;
1341 p_port = &rfc_cb.port.port[handle - 1];
1343 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1348 if (p_port->line_status)
1355 p_buf = (BT_HDR *)GKI_dequeue (&p_port->rx.queue);
1358 p_port->rx.queue_size -= p_buf->len;
1364 port_flow_control_peer (p_port, TRUE, 1);
1383 ** Parameters: p_port - pointer to address of port control block
1387 static int port_write (tPORT *p_port, BT_HDR *p_buf)
1390 if (p_port->is_server && (p_port->rfc.state != RFC_STATE_OPENED))
1399 if (p_port->tx.peer_fc
1400 || !p_port->rfc.p_mcb
1401 || !p_port->rfc.p_mcb->peer_ready
1402 || (p_port->rfc.state != RFC_STATE_OPENED)
1403 || ((p_port->port_ctrl & (PORT_CTRL_REQ_SENT | PORT_CTRL_IND_RECEIVED)) !=
1406 if ((p_port->tx.queue_size > PORT_TX_CRITICAL_WM)
1407 || (GKI_queue_length(&p_port->tx.queue) > PORT_TX_BUF_CRITICAL_WM))
1410 p_port->tx.queue_size);
1414 if ((p_port->p_callback != NULL) && (p_port->ev_mask & PORT_EV_ERR))
1415 p_port->p_callback (PORT_EV_ERR, p_port->inx);
1421 p_port->tx.peer_fc,
1422 (p_port->rfc.p_mcb && p_port->rfc.p_mcb->peer_ready),
1423 p_port->rfc.state,
1424 p_port->port_ctrl);
1426 GKI_enqueue (&p_port->tx.queue, p_buf);
1427 p_port->tx.queue_size += p_buf->len;
1435 RFCOMM_DataReq (p_port->rfc.p_mcb, p_port->dlci, p_buf);
1453 tPORT *p_port;
1466 p_port = &rfc_cb.port.port[handle - 1];
1468 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1474 if (p_port->line_status)
1477 p_port->line_status);
1482 rc = port_write (p_port, p_buf);
1483 event |= port_flow_control_user (p_port);
1496 event &= p_port->ev_mask;
1499 if (p_port->p_callback && event)
1500 (p_port->p_callback)(event, p_port->inx);
1519 tPORT *p_port;
1533 p_port = &rfc_cb.port.port[handle - 1];
1535 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1537 RFCOMM_TRACE_WARNING ("PORT_WriteDataByFd() no port state:%d", p_port->state);
1541 if (!p_port->peer_mtu)
1543 RFCOMM_TRACE_ERROR ("PORT_WriteDataByFd() peer_mtu:%d", p_port->peer_mtu);
1548 if(p_port->p_data_co_callback(handle, (UINT8*)&available, sizeof(available),
1564 if (((p_buf = (BT_HDR *)GKI_getlast(&p_port->tx.queue)) != NULL)
1565 && (((int)p_buf->len + available) <= (int)p_port->peer_mtu)
1569 if(p_port->p_data_co_callback(handle, (UINT8 *)(p_buf + 1) + p_buf->offset + p_buf->len,
1578 p_port->tx.queue_size += (UINT16)available;
1590 //int max_read = length < p_port->peer_mtu ? length : p_port->peer_mtu;
1597 if ((p_port->tx.queue_size > PORT_TX_HIGH_WM)
1598 || (GKI_queue_length(&p_port->tx.queue) > PORT_TX_BUF_HIGH_WM))
1600 port_flow_control_user(p_port);
1603 p_port->tx.queue_size, GKI_queue_length(&p_port->tx.queue), available);
1615 if (p_port->peer_mtu < length)
1616 length = p_port->peer_mtu;
1624 if(p_port->p_data_co_callback(handle, (UINT8 *)(p_buf + 1) + p_buf->offset, length,
1634 rc = port_write (p_port, p_buf);
1637 event |= port_flow_control_user (p_port);
1652 event &= p_port->ev_mask;
1655 if (p_port->p_callback && event)
1656 (p_port->p_callback)(event, p_port->inx);
1678 tPORT *p_port;
1693 p_port = &rfc_cb.port.port[handle - 1];
1695 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1697 RFCOMM_TRACE_WARNING ("PORT_WriteData() no port state:%d", p_port->state);
1701 if (!max_len || !p_port->peer_mtu)
1703 RFCOMM_TRACE_ERROR ("PORT_WriteData() peer_mtu:%d", p_port->peer_mtu);
1715 if (((p_buf = (BT_HDR *)GKI_getlast(&p_port->tx.queue)) != NULL)
1716 && ((p_buf->len + max_len) <= p_port->peer_mtu)
1720 p_port->tx.queue_size += max_len;
1735 if ((p_port->tx.queue_size > PORT_TX_HIGH_WM)
1736 || (GKI_queue_length(&p_port->tx.queue) > PORT_TX_BUF_HIGH_WM))
1747 if (p_port->peer_mtu < length)
1748 length = p_port->peer_mtu;
1758 rc = port_write (p_port, p_buf);
1761 event |= port_flow_control_user (p_port);
1778 event &= p_port->ev_mask;
1781 if (p_port->p_callback && event)
1782 (p_port->p_callback)(event, p_port->inx);
1802 tPORT *p_port;
1810 p_port = &rfc_cb.port.port[handle - 1];
1812 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1817 if (len > ((p_port->mtu == 0) ? RFCOMM_DEFAULT_MTU : p_port->mtu))
1830 rfc_send_test (p_port->rfc.p_mcb, TRUE, p_buf);