Home | History | Annotate | Download | only in rfcomm

Lines Matching refs:p_port

81     tPORT      *p_port;
110 if (!is_server && ((p_port = port_find_port (dlci, bd_addr)) != NULL))
113 if (p_port->is_server == FALSE)
116 p_port->state, p_port->rfc.state, p_port->rfc.p_mcb ? p_port->rfc.p_mcb->state : 0);
121 if ((p_port = port_allocate_port (dlci, bd_addr)) == NULL)
126 RFCOMM_TRACE_API("RFCOMM_CreateConnection(): scn:%d, dlci:%d, is_server:%d mtu:%d, p_mcb:%p, p_port:%p",
127 scn, dlci, is_server, mtu, p_mcb, p_port);
129 p_port->default_signal_state = (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON);
134 p_port->default_signal_state = PORT_OBEX_DEFAULT_SIGNAL_STATE;
137 p_port->default_signal_state = PORT_SPP_DEFAULT_SIGNAL_STATE;
140 p_port->default_signal_state = PORT_PPP_DEFAULT_SIGNAL_STATE;
144 p_port->default_signal_state = PORT_DUN_DEFAULT_SIGNAL_STATE;
148 RFCOMM_TRACE_EVENT ("RFCOMM_CreateConnection dlci:%d signal state:0x%x", dlci, p_port->default_signal_state);
150 *p_handle = p_port->inx;
152 p_port->state = PORT_STATE_OPENING;
153 p_port->uuid = uuid;
154 p_port->is_server = is_server;
155 p_port->scn = scn;
156 p_port->ev_mask = 0;
167 p_port->mtu = (mtu < rfcomm_mtu) ? mtu : rfcomm_mtu;
169 p_port->mtu = rfcomm_mtu;
174 p_port->keep_port_handle = TRUE;
176 /* keep mtu that user asked, p_port->mtu could be updated during param negotiation */
177 p_port->keep_mtu = p_port->mtu;
180 p_port->local_ctrl.modem_signal = p_port->default_signal_state;
181 p_port->local_ctrl.fc = FALSE;
183 p_port->p_mgmt_callback = p_mgmt_cb;
186 p_port->bd_addr[i] = bd_addr[i];
189 if (p_port->is_server)
195 return port_open_continue (p_port);
210 tPORT *p_port;
220 p_port = &rfc_cb.port.port[handle - 1];
222 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
228 p_port->state = PORT_STATE_CLOSING;
230 port_start_close (p_port);
246 tPORT *p_port;
256 p_port = &rfc_cb.port.port[handle - 1];
259 p_port->p_mgmt_callback = NULL;
261 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
268 p_port->keep_port_handle = FALSE;
269 p_port->state = PORT_STATE_CLOSING;
271 port_start_close (p_port);
293 tPORT *p_port;
301 p_port = &rfc_cb.port.port[port_handle - 1];
303 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
310 p_port->p_callback = p_port_cb;
326 tPORT *p_port;
334 p_port = &rfc_cb.port.port[port_handle - 1];
335 p_port->keep_port_handle = 0;
354 tPORT *p_port;
364 p_port = &rfc_cb.port.port[port_handle - 1];
366 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
371 p_port->p_data_callback = p_port_cb;
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_co_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->ev_mask = mask;
463 tPORT *p_port;
473 p_port = &rfc_cb.port.port[handle - 1];
475 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
480 if (!p_port->rfc.p_mcb
481 p_port->rfc.p_mcb->peer_ready
482 || (p_port->rfc.state != RFC_STATE_OPENED))
487 memcpy (bd_addr, p_port->rfc.p_mcb->bd_addr, BD_ADDR_LEN);
489 *p_lcid = p_port->rfc.p_mcb->lcid;
509 tPORT *p_port;
526 p_port = &rfc_cb.port.port[0];
528 for (yy = 0; yy < MAX_RFC_PORTS; yy++, p_port++)
530 if (p_port->rfc.p_mcb == p_mcb)
538 (found_port && (p_port->rfc.state < RFC_STATE_OPENED)))
565 tPORT *p_port;
576 p_port = &rfc_cb.port.port[handle - 1];
578 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
583 if (p_port->line_status)
591 baud_rate = p_port->user_port_pars.baud_rate;
592 p_port->user_port_pars = *p_settings;
597 port_start_par_neg (p_port);
614 tPORT *p_port;
624 p_port = &rfc_cb.port.port[handle - 1];
626 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
631 if (p_port->line_status)
636 *p_rx_queue_count = p_port->rx.queue_size;
638 RFCOMM_TRACE_API ("PORT_GetRxQueueCnt() p_rx_queue_count:%d, p_port->rx.queue.count = %d",
639 *p_rx_queue_count, p_port->rx.queue_size);
658 tPORT *p_port;
668 p_port = &rfc_cb.port.port[handle - 1];
670 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
675 if (p_port->line_status)
680 *p_settings = p_port->user_port_pars;
698 tPORT *p_port;
709 p_port = &rfc_cb.port.port[handle - 1];
711 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
716 old_modem_signal = p_port->local_ctrl.modem_signal;
717 p_port->local_ctrl.break_signal = 0;
722 p_port->local_ctrl.modem_signal |= PORT_CTSRTS_ON;
726 p_port->local_ctrl.modem_signal &= ~PORT_CTSRTS_ON;
730 p_port->local_ctrl.modem_signal |= PORT_DTRDSR_ON;
734 p_port->local_ctrl.modem_signal &= ~PORT_DTRDSR_ON;
738 p_port->local_ctrl.modem_signal |= PORT_RING_ON;
742 p_port->local_ctrl.modem_signal &= ~PORT_RING_ON;
746 p_port->local_ctrl.modem_signal |= PORT_DCD_ON;
750 p_port->local_ctrl.modem_signal &= ~PORT_DCD_ON;
755 p_port->local_ctrl.break_signal = PORT_BREAK_DURATION;
756 else if (p_port->local_ctrl.modem_signal == old_modem_signal)
759 port_start_control (p_port);
762 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_DTRDSR) ? 1 : 0),
763 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_RTSCTS) ? 1 : 0),
764 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_RI) ? 1 : 0),
765 ((p_port->local_ctrl.modem_signal & MODEM_SIGNAL_DCD) ? 1 : 0));
785 tPORT *p_port;
797 p_port = &rfc_cb.port.port[handle - 1];
799 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
804 if (!p_port->rfc.p_mcb)
809 p_port->rx.user_fc = !enable;
811 if (p_port->rfc.p_mcb->flow == PORT_FC_CREDIT)
813 if (!p_port->rx.user_fc)
815 port_flow_control_peer(p_port, TRUE, 0);
820 old_fc = p_port->local_ctrl.fc;
823 p_port->local_ctrl.fc = (p_port->rx.user_fc | p_port->rx.peer_fc);
825 if (p_port->local_ctrl.fc != old_fc)
826 port_start_control (p_port);
831 if (enable && (p_port->rx.queue_size != 0))
834 if (p_port->rx_flag_ev_pending)
836 p_port->rx_flag_ev_pending = FALSE;
840 events &= p_port->ev_mask;
841 if (p_port->p_callback && events)
843 p_port->p_callback (events, p_port->inx);
864 tPORT *p_port;
876 p_port = &rfc_cb.port.port[handle - 1];
878 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
883 if (!p_port->rfc.p_mcb)
888 p_port->rx.user_fc = !enable;
890 if (p_port->rfc.p_mcb->flow == PORT_FC_CREDIT)
892 if (!p_port->rx.user_fc)
894 port_flow_control_peer(p_port, TRUE, p_port->credit_rx);
899 old_fc = p_port->local_ctrl.fc;
902 p_port->local_ctrl.fc = (p_port->rx.user_fc | p_port->rx.peer_fc);
904 if (p_port->local_ctrl.fc != old_fc)
905 port_start_control (p_port);
910 if (enable && (p_port->rx.queue_size != 0))
913 if (p_port->rx_flag_ev_pending)
915 p_port->rx_flag_ev_pending = FALSE;
919 events &= p_port->ev_mask;
920 if (p_port->p_callback && events)
922 p_port->p_callback (events, p_port->inx);
944 tPORT *p_port;
951 p_port = &rfc_cb.port.port[handle - 1];
953 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
958 *p_signal = p_port->peer_ctrl.modem_signal;
984 tPORT *p_port;
993 p_port = &rfc_cb.port.port[handle - 1];
995 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1000 *p_errors = p_port->line_status;
1004 p_port->line_status = (p_port->line_status & LINE_STATUS_FAILED);
1023 tPORT *p_port;
1032 p_port = &rfc_cb.port.port[handle - 1];
1034 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1039 if (!p_port->rfc.p_mcb)
1044 RFCOMM_LineStatusReq (p_port->rfc.p_mcb, p_port->dlci, errors);
1062 tPORT *p_port;
1071 p_port = &rfc_cb.port.port[handle - 1];
1073 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1078 p_status->in_queue_size = (UINT16) p_port->rx.queue_size;
1079 p_status->out_queue_size = (UINT16) p_port->tx.queue_size;
1081 p_status->mtu_size = (UINT16) p_port->peer_mtu;
1085 if (!(p_port->peer_ctrl.modem_signal & PORT_CTSRTS_ON))
1088 if (!(p_port->peer_ctrl.modem_signal & PORT_DTRDSR_ON))
1091 if (!(p_port->peer_ctrl.modem_signal & PORT_DCD_ON))
1111 tPORT *p_port;
1124 p_port = &rfc_cb.port.port[handle - 1];
1126 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1135 count = p_port->rx.queue.count;
1137 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_port->rx.queue)) != NULL)
1140 p_port->rx.queue_size = 0;
1146 port_flow_control_peer (p_port, TRUE, count);
1153 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_port->tx.queue)) != NULL)
1156 p_port->tx.queue_size = 0;
1162 events |= port_flow_control_user (p_port);
1164 events &= p_port->ev_mask;
1166 if ((p_port->p_callback != NULL) && events)
1167 (p_port->p_callback)(events, p_port->inx);
1189 tPORT *p_port;
1204 p_port = &rfc_cb.port.port[handle - 1];
1206 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1211 if (p_port->line_status)
1216 p_buf = (BT_HDR *)GKI_getfirst (&p_port->rx.queue);
1234 p_port->rx.queue_size -= max_len;
1249 p_port->rx.queue_size -= p_buf->len;
1257 GKI_freebuf (GKI_dequeue (&p_port->rx.queue));
1267 RFCOMM_TRACE_EVENT ("PORT_ReadData queue:%d returned:%d %x", p_port->rx.queue_size, *p_len, (p_data[0]));
1271 RFCOMM_TRACE_EVENT ("PORT_ReadData queue:%d returned:%d", p_port->rx.queue_size, *p_len);
1276 port_flow_control_peer (p_port, TRUE, count);
1295 tPORT *p_port;
1305 p_port = &rfc_cb.port.port[handle - 1];
1307 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1312 if (p_port->line_status)
1319 p_buf = (BT_HDR *)GKI_dequeue (&p_port->rx.queue);
1322 p_port->rx.queue_size -= p_buf->len;
1328 port_flow_control_peer (p_port, TRUE, 1);
1347 ** Parameters: p_port - pointer to address of port control block
1351 static int port_write (tPORT *p_port, BT_HDR *p_buf)
1354 if (p_port->is_server && (p_port->rfc.state != RFC_STATE_OPENED))
1363 if (p_port->tx.peer_fc
1364 || !p_port->rfc.p_mcb
1365 || !p_port->rfc.p_mcb->peer_ready
1366 || (p_port->rfc.state != RFC_STATE_OPENED)
1367 || ((p_port->port_ctrl & (PORT_CTRL_REQ_SENT | PORT_CTRL_IND_RECEIVED)) !=
1370 if ((p_port->tx.queue_size > PORT_TX_CRITICAL_WM)
1371 || (p_port->tx.queue.count > PORT_TX_BUF_CRITICAL_WM))
1374 p_port->tx.queue_size);
1378 if ((p_port->p_callback != NULL) && (p_port->ev_mask & PORT_EV_ERR))
1379 p_port->p_callback (PORT_EV_ERR, p_port->inx);
1385 p_port->tx.peer_fc,
1386 (p_port->rfc.p_mcb && p_port->rfc.p_mcb->peer_ready),
1387 p_port->rfc.state,
1388 p_port->port_ctrl);
1390 GKI_enqueue (&p_port->tx.queue, p_buf);
1391 p_port->tx.queue_size += p_buf->len;
1399 RFCOMM_DataReq (p_port->rfc.p_mcb, p_port->dlci, p_buf);
1417 tPORT *p_port;
1430 p_port = &rfc_cb.port.port[handle - 1];
1432 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1438 if (p_port->line_status)
1441 p_port->line_status);
1446 rc = port_write (p_port, p_buf);
1447 event |= port_flow_control_user (p_port);
1460 event &= p_port->ev_mask;
1463 if (p_port->p_callback && event)
1464 (p_port->p_callback)(event, p_port->inx);
1483 tPORT *p_port;
1498 p_port = &rfc_cb.port.port[handle - 1];
1500 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1502 RFCOMM_TRACE_WARNING ("PORT_WriteDataByFd() no port state:%d", p_port->state);
1506 if (!p_port->peer_mtu)
1508 RFCOMM_TRACE_ERROR ("PORT_WriteDataByFd() peer_mtu:%d", p_port->peer_mtu);
1513 if(p_port->p_data_co_callback(handle, (UINT8*)&available, sizeof(available),
1529 if (((p_buf = (BT_HDR *)p_port->tx.queue.p_last) != NULL)
1530 && (((int)p_buf->len + available) <= (int)p_port->peer_mtu)
1534 if(p_port->p_data_co_callback(handle, (UINT8 *)(p_buf + 1) + p_buf->offset + p_buf->len,
1543 p_port->tx.queue_size += (UINT16)available;
1555 //int max_read = length < p_port->peer_mtu ? length : p_port->peer_mtu;
1562 if ((p_port->tx.queue_size > PORT_TX_HIGH_WM)
1563 || (p_port->tx.queue.count > PORT_TX_BUF_HIGH_WM))
1565 port_flow_control_user(p_port);
1568 p_port->tx.queue_size, p_port->tx.queue.count, available);
1580 p_port->peer_mtu < length)
1581 length = p_port->peer_mtu;
1589 if(p_port->p_data_co_callback(handle, (UINT8 *)(p_buf + 1) + p_buf->offset, length,
1599 rc = port_write (p_port, p_buf);
1602 event |= port_flow_control_user (p_port);
1617 event &= p_port->ev_mask;
1620 if (p_port->p_callback && event)
1621 (p_port->p_callback)(event, p_port->inx);
1643 tPORT *p_port;
1658 p_port = &rfc_cb.port.port[handle - 1];
1660 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1662 RFCOMM_TRACE_WARNING ("PORT_WriteData() no port state:%d", p_port->state);
1666 if (!max_len || !p_port->peer_mtu)
1668 RFCOMM_TRACE_ERROR ("PORT_WriteData() peer_mtu:%d", p_port->peer_mtu);
1680 if (((p_buf = (BT_HDR *)p_port->tx.queue.p_last) != NULL)
1681 && ((p_buf->len + max_len) <= p_port->peer_mtu)
1685 p_port->tx.queue_size += max_len;
1700 if ((p_port->tx.queue_size > PORT_TX_HIGH_WM)
1701 || (p_port->tx.queue.count > PORT_TX_BUF_HIGH_WM))
1712 if (p_port->peer_mtu < length)
1713 length = p_port->peer_mtu;
1723 rc = port_write (p_port, p_buf);
1726 event |= port_flow_control_user (p_port);
1743 event &= p_port->ev_mask;
1746 if (p_port->p_callback && event)
1747 (p_port->p_callback)(event, p_port->inx);
1767 tPORT *p_port;
1775 p_port = &rfc_cb.port.port[handle - 1];
1777 if (!p_port->in_use || (p_port->state == PORT_STATE_CLOSED))
1782 if (len > ((p_port->mtu == 0) ? RFCOMM_DEFAULT_MTU : p_port->mtu))
1795 rfc_send_test (p_port->rfc.p_mcb, TRUE, p_buf);