ESP8266
Main Page
Related Pages
Modules
Classes
esp8266
libraries
ESP8266WiFi
src
lwip
ip_frag.h
1
/*
2
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* 3. The name of the author may not be used to endorse or promote products
14
* derived from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25
* OF SUCH DAMAGE.
26
*
27
* This file is part of the lwIP TCP/IP stack.
28
*
29
* Author: Jani Monoses <jani@iv.ro>
30
*
31
*/
32
33
#ifndef __LWIP_IP_FRAG_H__
34
#define __LWIP_IP_FRAG_H__
35
36
#include "lwip/opt.h"
37
#include "lwip/err.h"
38
#include "lwip/pbuf.h"
39
#include "lwip/netif.h"
40
#include "lwip/ip_addr.h"
41
#include "lwip/ip.h"
42
43
#ifdef __cplusplus
44
extern
"C"
{
45
#endif
46
47
#if IP_REASSEMBLY
48
/* The IP reassembly timer interval in milliseconds. */
49
#define IP_TMR_INTERVAL 1000
50
51
/* IP reassembly helper struct.
52
* This is exported because memp needs to know the size.
53
*/
54
struct
ip_reassdata {
55
struct
ip_reassdata *next;
56
struct
pbuf
*p;
57
struct
ip_hdr
iphdr;
58
u16_t datagram_len;
59
u8_t flags;
60
u8_t timer;
61
};
62
63
void
ip_reass_init(
void
)ICACHE_FLASH_ATTR;
64
void
ip_reass_tmr(
void
)ICACHE_FLASH_ATTR;
65
struct
pbuf
* ip_reass(struct
pbuf
*p)ICACHE_FLASH_ATTR;
66
#endif
/* IP_REASSEMBLY */
67
68
#if IP_FRAG
69
#if !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF
70
73
struct
pbuf_custom_ref {
75
struct
pbuf_custom pc;
77
struct
pbuf
*original;
78
};
79
#endif
/* !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF */
80
81
err_t ip_frag(
struct
pbuf
*p,
struct
netif
*
netif
, ip_addr_t *dest)ICACHE_FLASH_ATTR;
82
#endif
/* IP_FRAG */
83
84
#ifdef __cplusplus
85
}
86
#endif
87
88
#endif
/* __LWIP_IP_FRAG_H__ */
pbuf
Definition:
pbuf.h:76
netif
Definition:
netif.h:136
ip_hdr
Definition:
ip.h:116
Generated by
1.8.10