1
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
48
49
50
51
52
53
54
55
73
74
75
76
92
93
94
95
96
97
98
99
100
/* ... */
/* ... */
#ifndef LWIP_HDR_IP4_FRAG_H
#define LWIP_HDR_IP4_FRAG_H
#include "lwip/opt.h"
#include "lwip/err.h"
#include "lwip/pbuf.h"
#include "lwip/netif.h"
#include "lwip/ip_addr.h"
#include "lwip/ip.h"
6 includes
#if LWIP_IPV4
#ifdef __cplusplus
extern "C" {
#endif
#if IP_REASSEMBLY
#define IP_TMR_INTERVAL 1000
/* ... */
struct ip_reassdata {
struct ip_reassdata *next;
struct pbuf *p;
struct ip_hdr iphdr;
u16_t datagram_len;
u8_t flags;
u8_t timer;
...};
void ip_reass_init(void);
void ip_reass_tmr(void);
struct pbuf * ip4_reass(struct pbuf *p);/* ... */
#endif
#if IP_FRAG
#if !LWIP_NETIF_TX_SINGLE_PBUF
#ifndef LWIP_PBUF_CUSTOM_REF_DEFINED
#define LWIP_PBUF_CUSTOM_REF_DEFINED
/* ... */
struct pbuf_custom_ref {
struct pbuf_custom pc;
struct pbuf *original;
...};/* ... */
#endif /* ... */
#endif
err_t ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest);/* ... */
#endif
#ifdef __cplusplus
}extern "C" { ... }
#endif
/* ... */
#endif
/* ... */
#endif