35#define PORT_EVENT_OPEN (1 | BT_EVT_TO_BTU_SP_EVT)
36#define PORT_EVENT_CONTROL (2 | BT_EVT_TO_BTU_SP_EVT)
37#define PORT_EVENT_SET_STATE (3 | BT_EVT_TO_BTU_SP_EVT)
38#define PORT_EVENT_SET_CALLBACK (5 | BT_EVT_TO_BTU_SP_EVT)
39#define PORT_EVENT_WRITE (6 | BT_EVT_TO_BTU_SP_EVT)
40#define PORT_EVENT_PURGE (7 | BT_EVT_TO_BTU_SP_EVT)
41#define PORT_EVENT_SEND_ERROR (8 | BT_EVT_TO_BTU_SP_EVT)
42#define PORT_EVENT_FLOW_CONTROL (9 | BT_EVT_TO_BTU_SP_EVT)
47#define PORT_FC_UNDEFINED 0
48#define PORT_FC_TS710 1
49#define PORT_FC_CREDIT 2
60 tPORT_CALLBACK *p_callback;
68#define MODEM_SIGNAL_DTRDSR 0x01
69#define MODEM_SIGNAL_RTSCTS 0x02
70#define MODEM_SIGNAL_RI 0x04
71#define MODEM_SIGNAL_DCD 0x08
77 UINT8 discard_buffers;
79#define RFCOMM_CTRL_BREAK_ASAP 0
80#define RFCOMM_CTRL_BREAK_IN_SEQ 1
82 UINT8 break_signal_seq;
95 UINT8 port_inx[RFCOMM_MAX_DLCI + 1];
99 UINT16 peer_l2cap_mtu;
102 BOOLEAN local_cfg_sent;
103 BOOLEAN peer_cfg_rcvd;
104 BOOLEAN restart_required;
107 BOOLEAN l2cap_congested;
108 BOOLEAN is_disc_initiator;
119#define RFC_PORT_STATE_IDLE 0
120#define RFC_PORT_STATE_WAIT_START 1
121#define RFC_PORT_STATE_OPENING 2
122#define RFC_PORT_STATE_OPENED 3
123#define RFC_PORT_STATE_CLOSING 4
127#define RFC_RSP_PN 0x01
128#define RFC_RSP_RPN_REPLY 0x02
129#define RFC_RSP_RPN 0x04
130#define RFC_RSP_MSC 0x08
131#define RFC_RSP_RLS 0x10
150#define PORT_STATE_CLOSED 0
151#define PORT_STATE_OPENING 1
152#define PORT_STATE_OPENED 2
153#define PORT_STATE_CLOSING 3
168 UINT8 default_signal_state;
182#define PORT_CTRL_REQ_SENT 0x01
183#define PORT_CTRL_REQ_CONFIRMED 0x02
184#define PORT_CTRL_IND_RECEIVED 0x04
185#define PORT_CTRL_IND_RESPONDED 0x08
189 BOOLEAN rx_flag_ev_pending;
194 tPORT_CALLBACK *p_callback;
195 tPORT_CALLBACK *p_mgmt_callback;
196 tPORT_DATA_CALLBACK *p_data_callback;
197 tPORT_DATA_CO_CALLBACK *p_data_co_callback;
201 UINT16 credit_rx_max;
202 UINT16 credit_rx_low;
203 UINT16 rx_buf_critical;
204 BOOLEAN keep_port_handle;
215 tPORT port[MAX_RFC_PORTS];
216 tRFC_MCB rfc_mcb[MAX_BD_CONNECTIONS];
226extern tPORT *port_allocate_port (UINT8 dlci, BD_ADDR bd_addr);
227extern void port_set_defaults (tPORT *p_port);
228extern void port_select_mtu (tPORT *p_port);
229extern void port_release_port (tPORT *p_port);
230extern tPORT *port_find_mcb_dlci_port (
tRFC_MCB *p_mcb, UINT8 dlci);
231extern tRFC_MCB *port_find_mcb (BD_ADDR bd_addr);
232extern tPORT *port_find_dlci_port (UINT8 dlci);
233extern tPORT *port_find_port (UINT8 dlci, BD_ADDR bd_addr);
234extern UINT32 port_get_signal_changes (tPORT *p_port, UINT8 old_signals, UINT8 signal);
235extern UINT32 port_flow_control_user (tPORT *p_port);
236extern void port_flow_control_peer(tPORT *p_port, BOOLEAN enable, UINT16 count);
241extern int port_open_continue (tPORT *p_port);
242extern void port_start_port_open (tPORT *p_port);
243extern void port_start_par_neg (tPORT *p_port);
244extern void port_start_control (tPORT *p_port);
245extern void port_start_close (tPORT *p_port);
246extern void port_rfc_closed (tPORT *p_port, UINT8 res);