Rtos API example
raw.h File Reference
raw API (to be used from TCPIP thread)
See also RAW
More...
Go to the source code of this file.
Data Structures | |
struct | raw_pcb |
the RAW protocol control block More... | |
Typedefs | |
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. | |
Functions | |
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_remove (struct raw_pcb *pcb) |
Remove an RAW PCB. | |
err_t | raw_bind (struct raw_pcb *pcb, const ip_addr_t *ipaddr) |
Bind a RAW PCB. | |
err_t | raw_connect (struct raw_pcb *pcb, const ip_addr_t *ipaddr) |
Connect an RAW PCB. | |
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_send (struct raw_pcb *pcb, struct pbuf *p) |
Send the raw IP packet to the address given by raw_connect() | |
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. | |
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. | |
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. |
Detailed Description
raw API (to be used from TCPIP thread)
See also RAW
Definition in file raw.h.
Typedef Documentation
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.
- Parameters:
-
arg user supplied argument (raw_pcb.recv_arg) pcb the raw_pcb which received data p the packet buffer that was received addr the remote IP address from which the packet was received
- Returns:
- 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
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 128 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 505 of file lwip_raw.c.
Generated on Sun Jul 17 2022 08:25:36 by 1.7.2