Home
last modified time | relevance | path

Searched refs:pcb (Results 1 – 25 of 33) sorted by relevance

12

/lib/liblwip/src/core/
Dtcp.c67 #define TCP_KEEP_DUR(pcb) ((pcb)->keep_cnt * (pcb)->keep_intvl) argument
68 #define TCP_KEEP_INTVL(pcb) ((pcb)->keep_intvl) argument
70 #define TCP_KEEP_DUR(pcb) TCP_MAXIDLE argument
71 #define TCP_KEEP_INTVL(pcb) TCP_KEEPINTVL_DEFAULT argument
170 tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data) in tcp_close_shutdown() argument
174 if (rst_on_unacked_data && ((pcb->state == ESTABLISHED) || (pcb->state == CLOSE_WAIT))) { in tcp_close_shutdown()
175 if ((pcb->refused_data != NULL) || (pcb->rcv_wnd != TCP_WND)) { in tcp_close_shutdown()
178 LWIP_ASSERT("pcb->flags & TF_RXCLOSED", pcb->flags & TF_RXCLOSED); in tcp_close_shutdown()
182 tcp_rst(pcb->snd_nxt, pcb->rcv_nxt, &pcb->local_ip, &pcb->remote_ip, in tcp_close_shutdown()
183 pcb->local_port, pcb->remote_port); in tcp_close_shutdown()
[all …]
Dtcp_in.c75 static err_t tcp_process(struct tcp_pcb *pcb);
76 static void tcp_receive(struct tcp_pcb *pcb);
77 static void tcp_parseopt(struct tcp_pcb *pcb);
79 static err_t tcp_listen_input(struct tcp_pcb_listen *pcb);
80 static err_t tcp_timewait_input(struct tcp_pcb *pcb);
94 struct tcp_pcb *pcb, *prev; in tcp_input() local
170 for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { in tcp_input()
171 LWIP_ASSERT("tcp_input: active pcb->state != CLOSED", pcb->state != CLOSED); in tcp_input()
172 LWIP_ASSERT("tcp_input: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); in tcp_input()
173 LWIP_ASSERT("tcp_input: active pcb->state != LISTEN", pcb->state != LISTEN); in tcp_input()
[all …]
Dtcp_out.c81 static void tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb);
94 tcp_output_alloc_header(struct tcp_pcb *pcb, u16_t optlen, u16_t datalen, in tcp_output_alloc_header() argument
103 tcphdr->src = htons(pcb->local_port); in tcp_output_alloc_header()
104 tcphdr->dest = htons(pcb->remote_port); in tcp_output_alloc_header()
106 tcphdr->ackno = htonl(pcb->rcv_nxt); in tcp_output_alloc_header()
108 tcphdr->wnd = htons(pcb->rcv_ann_wnd); in tcp_output_alloc_header()
113 pcb->rcv_ann_right_edge = pcb->rcv_nxt + pcb->rcv_ann_wnd; in tcp_output_alloc_header()
125 tcp_send_fin(struct tcp_pcb *pcb) in tcp_send_fin() argument
128 if (pcb->unsent != NULL) { in tcp_send_fin()
130 for (last_unsent = pcb->unsent; last_unsent->next != NULL; in tcp_send_fin()
[all …]
Draw.c78 struct raw_pcb *pcb, *prev; in raw_input() local
89 pcb = raw_pcbs; in raw_input()
92 while ((eaten == 0) && (pcb != NULL)) { in raw_input()
93 if ((pcb->protocol == proto) && in raw_input()
94 (ip_addr_isany(&pcb->local_ip) || in raw_input()
95 ip_addr_cmp(&(pcb->local_ip), &current_iphdr_dest))) { in raw_input()
98 if (ip_get_option(pcb, SOF_BROADCAST) || !ip_addr_isbroadcast(&current_iphdr_dest, inp)) in raw_input()
102 if (pcb->recv != NULL) { in raw_input()
104 if (pcb->recv(pcb->recv_arg, pcb, p, ip_current_src_addr()) != 0) { in raw_input()
111 prev->next = pcb->next; in raw_input()
[all …]
Dudp.c102 struct udp_pcb *pcb; in udp_new_port() local
109 for(pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { in udp_new_port()
110 if (pcb->local_port == udp_port) { in udp_new_port()
154 struct udp_pcb *pcb, *prev; local
203 pcb = NULL;
209 if ((inp->dhcp != NULL) && (inp->dhcp->pcb != NULL)) {
213 if ((ip_addr_isany(&inp->dhcp->pcb->remote_ip) ||
214 ip_addr_cmp(&(inp->dhcp->pcb->remote_ip), &current_iphdr_src))) {
215 pcb = inp->dhcp->pcb;
229 for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) {
[all …]
Ddhcp.c160 static void dhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port);
320 udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif); in dhcp_select()
667 if (dhcp->pcb != NULL) { in dhcp_start()
668 udp_remove(dhcp->pcb); in dhcp_start()
678 dhcp->pcb = udp_new(); in dhcp_start()
679 if (dhcp->pcb == NULL) { in dhcp_start()
683 ip_set_option(dhcp->pcb, SOF_BROADCAST); in dhcp_start()
685 udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT); in dhcp_start()
686 udp_connect(dhcp->pcb, IP_ADDR_ANY, DHCP_SERVER_PORT); in dhcp_start()
688 udp_recv(dhcp->pcb, dhcp_recv, netif); in dhcp_start()
[all …]
Dnetif.c328 struct tcp_pcb *pcb; in netif_set_ipaddr() local
335 pcb = tcp_active_pcbs; in netif_set_ipaddr()
336 while (pcb != NULL) { in netif_set_ipaddr()
338 if (ip_addr_cmp(&(pcb->local_ip), &(netif->ip_addr)) in netif_set_ipaddr()
341 && !ip_addr_islinklocal(&(pcb->local_ip)) in netif_set_ipaddr()
345 struct tcp_pcb *next = pcb->next; in netif_set_ipaddr()
346 …WIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_STATE, ("netif_set_ipaddr: aborting TCP pcb %p\n", (void *)pcb)); in netif_set_ipaddr()
347 tcp_abort(pcb); in netif_set_ipaddr()
348 pcb = next; in netif_set_ipaddr()
350 pcb = pcb->next; in netif_set_ipaddr()
Dpbuf.c120 struct tcp_pcb* pcb; in pbuf_free_ooseq() local
127 for (pcb = tcp_active_pcbs; NULL != pcb; pcb = pcb->next) { in pbuf_free_ooseq()
128 if (NULL != pcb->ooseq) { in pbuf_free_ooseq()
131 tcp_segs_free(pcb->ooseq); in pbuf_free_ooseq()
132 pcb->ooseq = NULL; in pbuf_free_ooseq()
/lib/liblwip/src/include/lwip/
Dtcp_impl.h67 void tcp_abandon (struct tcp_pcb *pcb, int reset);
68 err_t tcp_send_empty_ack(struct tcp_pcb *pcb);
69 void tcp_rexmit (struct tcp_pcb *pcb);
70 void tcp_rexmit_rto (struct tcp_pcb *pcb);
71 void tcp_rexmit_fast (struct tcp_pcb *pcb);
72 u32_t tcp_update_rcv_ann_wnd(struct tcp_pcb *pcb);
73 err_t tcp_process_refused_data(struct tcp_pcb *pcb);
195 #define TCP_EVENT_ACCEPT(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ argument
197 #define TCP_EVENT_SENT(pcb,space,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ argument
199 #define TCP_EVENT_RECV(pcb,p,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ argument
[all …]
Dtcp.h307 err_t lwip_tcp_event(void *arg, struct tcp_pcb *pcb,
318 void tcp_arg (struct tcp_pcb *pcb, void *arg);
319 void tcp_accept (struct tcp_pcb *pcb, tcp_accept_fn accept);
320 void tcp_recv (struct tcp_pcb *pcb, tcp_recv_fn recv);
321 void tcp_sent (struct tcp_pcb *pcb, tcp_sent_fn sent);
322 void tcp_poll (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval);
323 void tcp_err (struct tcp_pcb *pcb, tcp_err_fn err);
325 #define tcp_mss(pcb) (((pcb)->flags & TF_TIMESTAMP) ? ((pcb)->mss - 12) : (pc… argument
326 #define tcp_sndbuf(pcb) ((pcb)->snd_buf) argument
327 #define tcp_sndqueuelen(pcb) ((pcb)->snd_queuelen) argument
[all …]
Dudp.h87 typedef void (*udp_recv_fn)(void *arg, struct udp_pcb *pcb, struct pbuf *p,
124 void udp_remove (struct udp_pcb *pcb);
125 err_t udp_bind (struct udp_pcb *pcb, ip_addr_t *ipaddr,
127 err_t udp_connect (struct udp_pcb *pcb, ip_addr_t *ipaddr,
129 void udp_disconnect (struct udp_pcb *pcb);
130 void udp_recv (struct udp_pcb *pcb, udp_recv_fn recv,
132 err_t udp_sendto_if (struct udp_pcb *pcb, struct pbuf *p,
135 err_t udp_sendto (struct udp_pcb *pcb, struct pbuf *p,
137 err_t udp_send (struct udp_pcb *pcb, struct pbuf *p);
140 err_t udp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p,
[all …]
Draw.h60 typedef u8_t (*raw_recv_fn)(void *arg, struct raw_pcb *pcb, struct pbuf *p,
80 void raw_remove (struct raw_pcb *pcb);
81 err_t raw_bind (struct raw_pcb *pcb, ip_addr_t *ipaddr);
82 err_t raw_connect (struct raw_pcb *pcb, ip_addr_t *ipaddr);
84 void raw_recv (struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg);
85 err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, ip_addr_t *ipaddr);
86 err_t raw_send (struct raw_pcb *pcb, struct pbuf *p);
Dsnmp.h194 void snmp_insert_udpidx_tree(struct udp_pcb *pcb);
195 void snmp_delete_udpidx_tree(struct udp_pcb *pcb);
326 #define snmp_insert_udpidx_tree(pcb) argument
327 #define snmp_delete_udpidx_tree(pcb) argument
Dsnmp_msg.h224 struct udp_pcb *pcb; member
263 struct udp_pcb *pcb; member
/lib/liblwip/test/unit/tcp/
Dtest_tcp.c58 struct tcp_pcb* pcb; in START_TEST() local
63 pcb = tcp_new(); in START_TEST()
64 fail_unless(pcb != NULL); in START_TEST()
65 if (pcb != NULL) { in START_TEST()
67 tcp_abort(pcb); in START_TEST()
77 struct tcp_pcb* pcb; in START_TEST() local
97 pcb = test_tcp_new_counters_pcb(&counters); in START_TEST()
98 EXPECT_RET(pcb != NULL); in START_TEST()
99 tcp_set_state(pcb, ESTABLISHED, &local_ip, &remote_ip, local_port, remote_port); in START_TEST()
102 p = tcp_create_rx_segment(pcb, counters.expected_data, data_len, 0, 0, 0); in START_TEST()
[all …]
Dtest_tcp_oos.c28 static int tcp_oos_count(struct tcp_pcb* pcb) in tcp_oos_count() argument
31 struct tcp_seg* seg = pcb->ooseq; in tcp_oos_count()
40 static int tcp_oos_pbuf_count(struct tcp_pcb* pcb) in tcp_oos_pbuf_count() argument
43 struct tcp_seg* seg = pcb->ooseq; in tcp_oos_pbuf_count()
58 tcp_oos_seg_seqno(struct tcp_pcb* pcb, int seg_index) in tcp_oos_seg_seqno() argument
61 struct tcp_seg* seg = pcb->ooseq; in tcp_oos_seg_seqno()
82 tcp_oos_seg_tcplen(struct tcp_pcb* pcb, int seg_index) in tcp_oos_seg_tcplen() argument
85 struct tcp_seg* seg = pcb->ooseq; in tcp_oos_seg_tcplen()
105 tcp_oos_tcplen(struct tcp_pcb* pcb) in tcp_oos_tcplen() argument
108 struct tcp_seg* seg = pcb->ooseq; in tcp_oos_tcplen()
[all …]
Dtcp_helper.c16 struct tcp_pcb *pcb = pcb_list; in tcp_remove() local
19 while(pcb != NULL) { in tcp_remove()
20 pcb2 = pcb; in tcp_remove()
21 pcb = pcb->next; in tcp_remove()
118 tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len, u32_t seqno_offset, in tcp_create_rx_segment() argument
121 return tcp_create_segment(&pcb->remote_ip, &pcb->local_ip, pcb->remote_port, pcb->local_port, in tcp_create_rx_segment()
122 data, data_len, pcb->rcv_nxt + seqno_offset, pcb->lastack + ackno_offset, headerflags); in tcp_create_rx_segment()
130 struct pbuf* tcp_create_rx_segment_wnd(struct tcp_pcb* pcb, void* data, size_t data_len, in tcp_create_rx_segment_wnd() argument
133 return tcp_create_segment_wnd(&pcb->remote_ip, &pcb->local_ip, pcb->remote_port, pcb->local_port, in tcp_create_rx_segment_wnd()
134 data, data_len, pcb->rcv_nxt + seqno_offset, pcb->lastack + ackno_offset, headerflags, wnd); in tcp_create_rx_segment_wnd()
[all …]
Dtcp_helper.h35 struct pbuf* tcp_create_rx_segment(struct tcp_pcb* pcb, void* data, size_t data_len,
37 struct pbuf* tcp_create_rx_segment_wnd(struct tcp_pcb* pcb, void* data, size_t data_len,
39 void tcp_set_state(struct tcp_pcb* pcb, enum tcp_state state, ip_addr_t* local_ip,
42 err_t test_tcp_counters_recv(void* arg, struct tcp_pcb* pcb, struct pbuf* p, err_t err);
/lib/liblwip/src/api/
Dapi_msg.c78 recv_raw(void *arg, struct raw_pcb *pcb, struct pbuf *p, in recv_raw() argument
116 buf->port = pcb->protocol; in recv_raw()
144 recv_udp(void *arg, struct udp_pcb *pcb, struct pbuf *p, argument
154 LWIP_UNUSED_ARG(pcb); /* only used for asserts... */
155 LWIP_ASSERT("recv_udp must have a pcb argument", pcb != NULL);
158 LWIP_ASSERT("recv_udp: recv for wrong pcb!", conn->pcb.udp == pcb);
216 recv_tcp(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) argument
221 LWIP_UNUSED_ARG(pcb);
222 LWIP_ASSERT("recv_tcp must have a pcb argument", pcb != NULL);
225 LWIP_ASSERT("recv_tcp: recv for wrong pcb!", conn->pcb.tcp == pcb);
[all …]
Dsockets.c852 remote_addr = &sock->conn->pcb.ip->remote_ip;
855 remote_port = sock->conn->pcb.udp->remote_port;
866 err = sock->conn->last_err = raw_sendto(sock->conn->pcb.raw, p, remote_addr);
877 err = sock->conn->last_err = udp_sendto_chksum(sock->conn->pcb.udp, p,
880 err = sock->conn->last_err = udp_sendto(sock->conn->pcb.udp, p,
1514 ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {
1694 *(int*)optval = ip_get_option(sock->conn->pcb.ip, optname);
1748 *(int*)optval = (udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_NOCHKSUM) ? 1 : 0;
1761 *(int*)optval = sock->conn->pcb.ip->ttl;
1766 *(int*)optval = sock->conn->pcb.ip->tos;
[all …]
/lib/liblwip/test/unit/udp/
Dtest_udp.c14 struct udp_pcb *pcb = udp_pcbs; in udp_remove_all() local
17 while(pcb != NULL) { in udp_remove_all()
18 pcb2 = pcb; in udp_remove_all()
19 pcb = pcb->next; in udp_remove_all()
44 struct udp_pcb* pcb; in START_TEST() local
49 pcb = udp_new(); in START_TEST()
50 fail_unless(pcb != NULL); in START_TEST()
51 if (pcb != NULL) { in START_TEST()
53 udp_remove(pcb); in START_TEST()
/lib/liblwip/doc/
Drawapi.txt89 - void tcp_arg(struct tcp_pcb *pcb, void *arg)
92 other callback functions. The "pcb" argument is the current TCP
108 available for creating the new pcb, NULL is returned.
110 - err_t tcp_bind(struct tcp_pcb *pcb, ip_addr_t *ipaddr,
113 Binds the pcb to a local IP address and port number. The IP address
120 - struct tcp_pcb *tcp_listen(struct tcp_pcb *pcb)
122 Commands a pcb to start listening for incoming connections. When an
124 tcp_accept() function will be called. The pcb will have to be bound
135 listening connection. If so, the memory associated with the pcb
138 - struct tcp_pcb *tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog)
[all …]
/lib/liblwip/src/include/ipv4/lwip/
Dip.h205 #define ip_get_option(pcb, opt) ((pcb)->so_options & (opt)) argument
207 #define ip_set_option(pcb, opt) ((pcb)->so_options |= (opt)) argument
209 #define ip_reset_option(pcb, opt) ((pcb)->so_options &= ~(opt)) argument
/lib/liblwip/test/unit/etharp/
Dtest_etharp.c141 struct udp_pcb* pcb; in START_TEST() local
150 pcb = udp_new(); in START_TEST()
151 fail_unless(pcb != NULL); in START_TEST()
152 if (pcb != NULL) { in START_TEST()
163 err_t err = udp_sendto(pcb, p, &adrs[i], 123); in START_TEST()
195 err_t err = udp_sendto(pcb, p, &adrs[i], 123); in START_TEST()
248 udp_remove(pcb); in START_TEST()
/lib/liblwip/src/core/snmp/
Dmib2.c1792 void snmp_insert_udpidx_tree(struct udp_pcb *pcb) in snmp_insert_udpidx_tree() argument
1799 LWIP_ASSERT("pcb != NULL", pcb != NULL); in snmp_insert_udpidx_tree()
1800 snmp_iptooid(&pcb->local_ip, &udpidx[0]); in snmp_insert_udpidx_tree()
1801 udpidx[4] = pcb->local_port; in snmp_insert_udpidx_tree()
1844 void snmp_delete_udpidx_tree(struct udp_pcb *pcb) in snmp_delete_udpidx_tree() argument
1852 LWIP_ASSERT("pcb != NULL", pcb != NULL); in snmp_delete_udpidx_tree()
1853 snmp_iptooid(&pcb->local_ip, &udpidx[0]); in snmp_delete_udpidx_tree()
1854 udpidx[4] = pcb->local_port; in snmp_delete_udpidx_tree()
1862 if (ip_addr_cmp(&npcb->local_ip, &pcb->local_ip) && in snmp_delete_udpidx_tree()
3689 struct tcp_pcb *pcb = tcp_active_pcbs; in tcp_get_value() local
[all …]

12