Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
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_pcb * | raw_new (u8_t proto) |
Create a RAW PCB. | |
struct raw_pcb * | raw_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_pcb * | raw_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:
-
p pbuf to be demultiplexed to a RAW PCB. inp network 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.
This function is called from netif.c when address is changed.
- Parameters:
-
old_addr IP address of the netif before change new_addr IP address of the netif after change
Definition at line 655 of file lwip_raw.c.
Variable Documentation
The list of RAW PCBs.
Definition at line 66 of file lwip_raw.c.
Generated on Tue Jul 12 2022 13:55:14 by
