lwIP  2.0.2
Lightweight IP stack
raw.h File Reference
#include "lwip/opt.h"
#include "lwip/pbuf.h"
#include "lwip/def.h"
#include "lwip/ip.h"
#include "lwip/ip_addr.h"
#include "lwip/ip6_addr.h"

Data Structures

struct  raw_pcb


typedef u8_t(* raw_recv_fn) (void *arg, struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *addr)


struct raw_pcbraw_new (u8_t proto)
struct raw_pcbraw_new_ip_type (u8_t type, u8_t proto)
void raw_remove (struct raw_pcb *pcb)
err_t raw_bind (struct raw_pcb *pcb, const ip_addr_t *ipaddr)
err_t raw_connect (struct raw_pcb *pcb, const ip_addr_t *ipaddr)
err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *ipaddr)
err_t raw_send (struct raw_pcb *pcb, struct pbuf *p)
void raw_recv (struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg)
u8_t raw_input (struct pbuf *p, struct netif *inp)
void raw_netif_ip_addr_changed (const ip_addr_t *old_addr, const ip_addr_t *new_addr)

Detailed Description

raw API (to be used from TCPIP thread)
See also RAW

Typedef Documentation

◆ raw_recv_fn

typedef u8_t(* raw_recv_fn) (void *arg, struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *addr)

Function prototype for raw pcb receive callback functions.

arguser supplied argument (raw_pcb.recv_arg)
pcbthe raw_pcb which received data
pthe packet buffer that was received
addrthe remote IP address from which the packet was received
1 if the packet was 'eaten' (aka. deleted), 0 if the packet lives on If returning 1, the callback is responsible for freeing the pbuf if it's not used any more.

Function Documentation

◆ raw_input()

u8_t raw_input ( struct pbuf p,
struct netif inp 

Determine if in incoming IP packet is covered by a RAW PCB and if so, pass it to a user-provided receive callback function.

Given an incoming IP datagram (as a chain of pbufs) this function finds a corresponding RAW PCB and calls the corresponding receive callback function.

ppbuf to be demultiplexed to a RAW PCB.
inpnetwork interface on which the datagram was received.
- 1 if the packet has been eaten by a RAW PCB receive callback function. The caller MAY NOT not reference the packet any longer, and MAY NOT call pbuf_free().
- 0 if packet is not eaten (pbuf is still referenced by the caller).

◆ raw_netif_ip_addr_changed()

void raw_netif_ip_addr_changed ( const ip_addr_t old_addr,
const ip_addr_t new_addr 

This function is called from netif.c when address is changed

old_addrIP address of the netif before change
new_addrIP address of the netif after change