47 |
struct netif *ip_route(struct ip_addr *dest); |
struct netif *ip_route(struct ip_addr *dest); |
48 |
err_t ip_input(struct pbuf *p, struct netif *inp); |
err_t ip_input(struct pbuf *p, struct netif *inp); |
49 |
err_t ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, |
err_t ip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, |
50 |
u8_t ttl, u8_t proto); |
u8_t ttl, u8_t tos, u8_t proto); |
51 |
err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, |
err_t ip_output_if(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest, |
52 |
u8_t ttl, u8_t proto, |
u8_t ttl, u8_t tos, u8_t proto, |
53 |
struct netif *netif); |
struct netif *netif); |
54 |
|
|
55 |
#define IP_HLEN 20 |
#define IP_HLEN 20 |
67 |
#endif /* IP_HDRINCL */ |
#endif /* IP_HDRINCL */ |
68 |
#define IP_HDRINCL NULL |
#define IP_HDRINCL NULL |
69 |
|
|
70 |
|
|
71 |
|
/* This is the common part of all PCB types. It needs to be at the |
72 |
|
beginning of a PCB type definition. It is located here so that |
73 |
|
changes to this common part are made in one location instead of |
74 |
|
having to change all PCB structs. */ |
75 |
|
#define IP_PCB struct ip_addr local_ip; \ |
76 |
|
struct ip_addr remote_ip; \ |
77 |
|
/* Socket options */ \ |
78 |
|
u16_t so_options; \ |
79 |
|
/* Type Of Service */ \ |
80 |
|
u8_t tos; \ |
81 |
|
/* Time To Live */ \ |
82 |
|
u8_t ttl |
83 |
|
|
84 |
|
/* |
85 |
|
* Option flags per-socket. These are the same like SO_XXX. |
86 |
|
*/ |
87 |
|
#define SOF_DEBUG (u16_t)0x0001U /* turn on debugging info recording */ |
88 |
|
#define SOF_ACCEPTCONN (u16_t)0x0002U /* socket has had listen() */ |
89 |
|
#define SOF_REUSEADDR (u16_t)0x0004U /* allow local address reuse */ |
90 |
|
#define SOF_KEEPALIVE (u16_t)0x0008U /* keep connections alive */ |
91 |
|
#define SOF_DONTROUTE (u16_t)0x0010U /* just use interface addresses */ |
92 |
|
#define SOF_BROADCAST (u16_t)0x0020U /* permit sending of broadcast msgs */ |
93 |
|
#define SOF_USELOOPBACK (u16_t)0x0040U /* bypass hardware when possible */ |
94 |
|
#define SOF_LINGER (u16_t)0x0080U /* linger on close if data present */ |
95 |
|
#define SOF_OOBINLINE (u16_t)0x0100U /* leave received OOB data in line */ |
96 |
|
#define SOF_REUSEPORT (u16_t)0x0200U /* allow local address & port reuse */ |
97 |
|
|
98 |
|
|
99 |
|
|
100 |
#ifdef PACK_STRUCT_USE_INCLUDES |
#ifdef PACK_STRUCT_USE_INCLUDES |
101 |
# include "arch/bpstruct.h" |
# include "arch/bpstruct.h" |
102 |
#endif |
#endif |
147 |
|
|
148 |
#if IP_DEBUG |
#if IP_DEBUG |
149 |
void ip_debug_print(struct pbuf *p); |
void ip_debug_print(struct pbuf *p); |
150 |
|
#else |
151 |
|
#define ip_debug_print(p) |
152 |
#endif /* IP_DEBUG */ |
#endif /* IP_DEBUG */ |
153 |
|
|
154 |
#endif /* __LWIP_IP_H__ */ |
#endif /* __LWIP_IP_H__ */ |