Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

lwip_raw.c File Reference

lwip_raw.c File Reference

Implementation of raw protocol PCBs for low-level handling of different types of protocols besides (or overriding) those already available in lwIP. More...

Go to the source code of this file.

Functions

raw_input_state_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.
err_t raw_bind (struct raw_pcb *pcb, const ip_addr_t *ipaddr)
 Bind a RAW PCB.
void raw_bind_netif (struct raw_pcb *pcb, const struct netif *netif)
 Bind an RAW PCB to a specific netif.
err_t raw_connect (struct raw_pcb *pcb, const ip_addr_t *ipaddr)
 Connect an RAW PCB.
void raw_disconnect (struct raw_pcb *pcb)
 Disconnect a RAW PCB.
void raw_recv (struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg)
 Set the callback function for received packets that match the raw PCB's protocol and binding.
err_t raw_sendto (struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *ipaddr)
 Send the raw IP packet to the given address.
err_t raw_sendto_if_src (struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, struct netif *netif, const ip_addr_t *src_ip)
 Send the raw IP packet to the given address, using a particular outgoing netif and source IP address.
err_t raw_send (struct raw_pcb *pcb, struct pbuf *p)
 Send the raw IP packet to the address given by raw_connect()
void raw_remove (struct raw_pcb *pcb)
 Remove an RAW PCB.
struct raw_pcbraw_new (u8_t proto)
 Create a RAW PCB.
struct raw_pcbraw_new_ip_type (u8_t type, u8_t proto)
 Create a RAW PCB for specific IP type.
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.

Variables

static struct raw_pcbraw_pcbs
 The list of RAW PCBs.

Detailed Description

Implementation of raw protocol PCBs for low-level handling of different types of protocols besides (or overriding) those already available in lwIP.


See also RAW

Definition in file lwip_raw.c.


Function Documentation

raw_input_state_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.

Parameters:
ppbuf to be demultiplexed to a RAW PCB.
inpnetwork interface on which the datagram was received.
Returns:
- 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).

Definition at line 135 of file lwip_raw.c.

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.

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

Definition at line 655 of file lwip_raw.c.


Variable Documentation

struct raw_pcb* raw_pcbs [static]

The list of RAW PCBs.

Definition at line 66 of file lwip_raw.c.