UbixOS  2.0
ip.h File Reference
#include "net/opt.h"
#include "net/def.h"
#include "net/pbuf.h"
#include "net/ip_addr.h"
#include "net/err.h"
#include "net/netif.h"
#include "net/ip4.h"
#include "net/ip6.h"
#include "net/prot/ip.h"
Include dependency graph for ip.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ip_globals
 
struct  ip_pcb
 

Macros

#define ip_current_dest_addr()   (&ip_data.current_iphdr_dest)
 
#define ip_current_dest_addr()   (&ip_data.current_iphdr_dest)
 
#define ip_current_header_tot_len()   (ip_data.current_ip_header_tot_len)
 
#define ip_current_input_netif()   (ip_data.current_input_netif)
 
#define ip_current_netif()   (ip_data.current_netif)
 
#define ip_current_src_addr()   (&ip_data.current_iphdr_src)
 
#define ip_current_src_addr()   (&ip_data.current_iphdr_src)
 
#define ip_get_option(pcb, opt)   ((pcb)->so_options & (opt))
 
#define IP_PCB
 
#define IP_PCB_ADDRHINT
 
#define ip_reset_option(pcb, opt)   ((pcb)->so_options &= ~(opt))
 
#define ip_route_get_local_ip(src, dest, netif, ipaddr)
 
#define ip_set_option(pcb, opt)   ((pcb)->so_options |= (opt))
 
#define LWIP_IP_CHECK_PBUF_REF_COUNT_FOR_TX(p)   LWIP_ASSERT("p->ref == 1", (p)->ref == 1)
 
#define LWIP_IP_HDRINCL   NULL
 
#define SOF_BROADCAST   0x20U /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */
 
#define SOF_INHERITED   (SOF_REUSEADDR|SOF_KEEPALIVE)
 
#define SOF_KEEPALIVE   0x08U /* keep connections alive */
 
#define SOF_REUSEADDR   0x04U /* allow local address reuse */
 

Variables

struct ip_globals ip_data
 

Detailed Description

IP API

Definition in file ip.h.

Macro Definition Documentation

◆ ip_current_dest_addr [1/2]

#define ip_current_dest_addr ( )    (&ip_data.current_iphdr_dest)

Destination IP address of current_header

Union destination address of current_header

Definition at line 212 of file ip.h.

◆ ip_current_dest_addr [2/2]

#define ip_current_dest_addr ( )    (&ip_data.current_iphdr_dest)

Destination IP address of current_header

Union destination address of current_header

Definition at line 212 of file ip.h.

◆ ip_current_header_tot_len

#define ip_current_header_tot_len ( )    (ip_data.current_ip_header_tot_len)

Total header length of ip(6)_current_header() (i.e. after this, the UDP/TCP header starts)

Definition at line 139 of file ip.h.

◆ ip_current_input_netif

#define ip_current_input_netif ( )    (ip_data.current_input_netif)

Get the interface that received the current packet. This function must only be called from a receive callback (udp_recv, raw_recv, tcp_accept). It will return NULL otherwise.

Definition at line 137 of file ip.h.

◆ ip_current_netif

#define ip_current_netif ( )    (ip_data.current_netif)

Get the interface that accepted the current packet. This may or may not be the receiving netif, depending on your netif/network setup. This function must only be called from a receive callback (udp_recv, raw_recv, tcp_accept). It will return NULL otherwise.

Definition at line 133 of file ip.h.

◆ ip_current_src_addr [1/2]

#define ip_current_src_addr ( )    (&ip_data.current_iphdr_src)

Source IP address of current_header

Union source address of current_header

Definition at line 210 of file ip.h.

◆ ip_current_src_addr [2/2]

#define ip_current_src_addr ( )    (&ip_data.current_iphdr_src)

Source IP address of current_header

Union source address of current_header

Definition at line 210 of file ip.h.

◆ ip_get_option

#define ip_get_option (   pcb,
  opt 
)    ((pcb)->so_options & (opt))

Gets an IP pcb option (SOF_* flags)

Definition at line 215 of file ip.h.

◆ IP_PCB

#define IP_PCB
Value:
/* ip addresses in network byte order */ \
ip_addr_t local_ip; \
ip_addr_t remote_ip; \
/* Socket options */ \
u8_t so_options; \
/* Type Of Service */ \
u8_t tos; \
/* Time To Live */ \
u8_t ttl \
/* link layer address resolution hint */ \
IP_PCB_ADDRHINT

This is the common part of all PCB types. It needs to be at the beginning of a PCB type definition. It is located here so that changes to this common part are made in one location instead of having to change all PCB structs.

Definition at line 76 of file ip.h.

◆ IP_PCB_ADDRHINT

#define IP_PCB_ADDRHINT

Definition at line 69 of file ip.h.

◆ ip_reset_option

#define ip_reset_option (   pcb,
  opt 
)    ((pcb)->so_options &= ~(opt))

Resets an IP pcb option (SOF_* flags)

Definition at line 219 of file ip.h.

◆ ip_route_get_local_ip

#define ip_route_get_local_ip (   src,
  dest,
  netif,
  ipaddr 
)
Value:
do { \
(netif) = ip_route(src, dest); \
(ipaddr) = ip_netif_get_local_ip(netif, dest); \
}while(0)

Definition at line 308 of file ip.h.

◆ ip_set_option

#define ip_set_option (   pcb,
  opt 
)    ((pcb)->so_options |= (opt))

Sets an IP pcb option (SOF_* flags)

Definition at line 217 of file ip.h.

◆ LWIP_IP_CHECK_PBUF_REF_COUNT_FOR_TX

#define LWIP_IP_CHECK_PBUF_REF_COUNT_FOR_TX (   p)    LWIP_ASSERT("p->ref == 1", (p)->ref == 1)

pbufs passed to IP must have a ref-count of 1 as their payload pointer gets altered as the packet is passed down the stack

Definition at line 63 of file ip.h.

◆ LWIP_IP_HDRINCL

#define LWIP_IP_HDRINCL   NULL

Definition at line 58 of file ip.h.

◆ SOF_BROADCAST

#define SOF_BROADCAST   0x20U /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */

Definition at line 99 of file ip.h.

◆ SOF_INHERITED

#define SOF_INHERITED   (SOF_REUSEADDR|SOF_KEEPALIVE)

Definition at line 102 of file ip.h.

◆ SOF_KEEPALIVE

#define SOF_KEEPALIVE   0x08U /* keep connections alive */

Definition at line 98 of file ip.h.

◆ SOF_REUSEADDR

#define SOF_REUSEADDR   0x04U /* allow local address reuse */

Definition at line 97 of file ip.h.

Variable Documentation

◆ ip_data

struct ip_globals ip_data
netif
Definition: netif.h:233