| /lib/liblwip/src/core/ |
| D | tcp.c | 67 #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 …]
|
| D | tcp_in.c | 75 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 …]
|
| D | tcp_out.c | 81 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 …]
|
| D | raw.c | 78 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), ¤t_iphdr_dest))) { in raw_input() 98 if (ip_get_option(pcb, SOF_BROADCAST) || !ip_addr_isbroadcast(¤t_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 …]
|
| D | udp.c | 102 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), ¤t_iphdr_src))) { 215 pcb = inp->dhcp->pcb; 229 for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { [all …]
|
| D | dhcp.c | 160 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 …]
|
| D | netif.c | 328 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()
|
| D | pbuf.c | 120 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/ |
| D | tcp_impl.h | 67 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 …]
|
| D | tcp.h | 307 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 …]
|
| D | udp.h | 87 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 …]
|
| D | raw.h | 60 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);
|
| D | snmp.h | 194 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
|
| D | snmp_msg.h | 224 struct udp_pcb *pcb; member 263 struct udp_pcb *pcb; member
|
| /lib/liblwip/test/unit/tcp/ |
| D | test_tcp.c | 58 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 …]
|
| D | test_tcp_oos.c | 28 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 …]
|
| D | tcp_helper.c | 16 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 …]
|
| D | tcp_helper.h | 35 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/ |
| D | api_msg.c | 78 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 …]
|
| D | sockets.c | 852 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/ |
| D | test_udp.c | 14 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/ |
| D | rawapi.txt | 89 - 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/ |
| D | ip.h | 205 #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/ |
| D | test_etharp.c | 141 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/ |
| D | mib2.c | 1792 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 …]
|