TCP finite state maschine declarations. More...
TCP finite state maschine declarations.
Definition in file gnrc_tcp_fsm.h.
Go to the source code of this file.
enum | _gnrc_tcp_fsm_state_t { FSM_STATE_CLOSED = 0, FSM_STATE_LISTEN, FSM_STATE_SYN_SENT, FSM_STATE_SYN_RCVD, FSM_STATE_ESTABLISHED, FSM_STATE_CLOSE_WAIT, FSM_STATE_LAST_ACK, FSM_STATE_FIN_WAIT_1, FSM_STATE_FIN_WAIT_2, FSM_STATE_CLOSING, FSM_STATE_TIME_WAIT } |
The TCP FSM states. | |
enum | _gnrc_tcp_fsm_event_t { FSM_EVENT_CALL_OPEN, FSM_EVENT_CALL_SEND, FSM_EVENT_CALL_RECV, FSM_EVENT_CALL_CLOSE, FSM_EVENT_CALL_ABORT, FSM_EVENT_RCVD_PKT, FSM_EVENT_TIMEOUT_TIMEWAIT, FSM_EVENT_TIMEOUT_RETRANSMIT, FSM_EVENT_TIMEOUT_CONNECTION, FSM_EVENT_SEND_PROBE, FSM_EVENT_CLEAR_RETRANSMIT } |
Events that trigger transitions in TCP FSM. | |
int | _gnrc_tcp_fsm (gnrc_tcp_tcb_t *tcb, _gnrc_tcp_fsm_event_t event, gnrc_pktsnip_t *in_pkt, void *buf, size_t len) |
TCP finite state maschine. More... | |
void | _gnrc_tcp_fsm_set_mbox (gnrc_tcp_tcb_t *tcb, mbox_t *mbox) |
Associate mbox with tcb. More... | |
int _gnrc_tcp_fsm | ( | gnrc_tcp_tcb_t * | tcb, |
_gnrc_tcp_fsm_event_t | event, | ||
gnrc_pktsnip_t * | in_pkt, | ||
void * | buf, | ||
size_t | len | ||
) |
TCP finite state maschine.
[in,out] | tcb | TCB holding the connection information. |
[in] | event | Current event that triggers FSM transition. |
[in] | in_pkt | Incoming packet. Only not NULL in case of event RCVD_PKT. |
[in,out] | buf | Buffer for send and receive functions. |
[in] | len | Number of bytes to send or receive. |
buf
. -ENOSYS if event is not implemented void _gnrc_tcp_fsm_set_mbox | ( | gnrc_tcp_tcb_t * | tcb, |
mbox_t * | mbox | ||
) |
Associate mbox with tcb.
Messages sent from the FSM will be stored in the mbox.
[in,out] | tcb | TCB to set message box on. |
[in] | mbox | Message box used to store messages from the FSM. If mbox is NULL, no messages will be stored. |