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.
Fork of OmniWheels by
lwip_slipif.c File Reference
SLIP Interface. More...
Go to the source code of this file.
Functions | |
| static err_t | slipif_output (struct netif *netif, struct pbuf *p) |
| Send a pbuf doing the necessary SLIP encapsulation. | |
| static err_t | slipif_output_v4 (struct netif *netif, struct pbuf *p, const ip4_addr_t *ipaddr) |
| Send a pbuf doing the necessary SLIP encapsulation. | |
| static err_t | slipif_output_v6 (struct netif *netif, struct pbuf *p, const ip6_addr_t *ipaddr) |
| Send a pbuf doing the necessary SLIP encapsulation. | |
| static struct pbuf * | slipif_rxbyte (struct netif *netif, u8_t c) |
| Handle the incoming SLIP stream character by character. | |
| static void | slipif_rxbyte_input (struct netif *netif, u8_t c) |
| Like slipif_rxbyte, but passes completed packets to netif->input. | |
| static void | slipif_loop_thread (void *nf) |
| The SLIP input thread. | |
| err_t | slipif_init (struct netif *netif) |
| SLIP netif initialization. | |
| void | slipif_poll (struct netif *netif) |
| Polls the serial device and feeds the IP layer with incoming packets. | |
| void | slipif_process_rxqueue (struct netif *netif) |
| Feeds the IP layer with incoming packets that were receive. | |
| static void | slipif_rxbyte_enqueue (struct netif *netif, u8_t data) |
| Like slipif_rxbyte, but queues completed packets. | |
| void | slipif_received_byte (struct netif *netif, u8_t data) |
| Process a received byte, completed packets are put on a queue that is fed into IP through slipif_process_rxqueue(). | |
| void | slipif_received_bytes (struct netif *netif, u8_t *data, u8_t len) |
| Process multiple received byte, completed packets are put on a queue that is fed into IP through slipif_process_rxqueue(). | |
Detailed Description
SLIP Interface.
Definition in file lwip_slipif.c.
Function Documentation
SLIP netif initialization.
Call the arch specific sio_open and remember the opened device in the state field of the netif.
- Parameters:
-
netif the lwip network interface structure for this slipif
- Returns:
- ERR_OK if serial line could be opened, ERR_MEM if no memory could be allocated, ERR_IF is serial line couldn't be opened
- Note:
- netif->num must contain the number of the serial port to open (0 by default). If netif->state is != NULL, it is interpreted as an u8_t pointer pointing to the serial port number instead of netif->num.
Definition at line 361 of file lwip_slipif.c.
| static void slipif_loop_thread | ( | void * | nf ) | [static] |
The SLIP input thread.
Feed the IP layer with incoming packets
- Parameters:
-
nf the lwip network interface structure for this slipif
Definition at line 330 of file lwip_slipif.c.
Send a pbuf doing the necessary SLIP encapsulation.
Uses the serial layer's sio_send()
- Parameters:
-
netif the lwip network interface structure for this slipif p the pbuf chain packet to send
- Returns:
- always returns ERR_OK since the serial layer does not provide return values
Definition at line 116 of file lwip_slipif.c.
| static err_t slipif_output_v4 | ( | struct netif * | netif, |
| struct pbuf * | p, | ||
| const ip4_addr_t * | ipaddr | ||
| ) | [static] |
Send a pbuf doing the necessary SLIP encapsulation.
Uses the serial layer's sio_send()
- Parameters:
-
netif the lwip network interface structure for this slipif p the pbuf chain packet to send ipaddr the ip address to send the packet to (not used for slipif)
- Returns:
- always returns ERR_OK since the serial layer does not provide return values
Definition at line 172 of file lwip_slipif.c.
| static err_t slipif_output_v6 | ( | struct netif * | netif, |
| struct pbuf * | p, | ||
| const ip6_addr_t * | ipaddr | ||
| ) | [static] |
Send a pbuf doing the necessary SLIP encapsulation.
Uses the serial layer's sio_send()
- Parameters:
-
netif the lwip network interface structure for this slipif p the pbuf chain packet to send ipaddr the ip address to send the packet to (not used for slipif)
- Returns:
- always returns ERR_OK since the serial layer does not provide return values
Definition at line 191 of file lwip_slipif.c.
| void slipif_poll | ( | struct netif * | netif ) |
Polls the serial device and feeds the IP layer with incoming packets.
- Parameters:
-
netif The lwip network interface structure for this slipif
Definition at line 427 of file lwip_slipif.c.
| void slipif_process_rxqueue | ( | struct netif * | netif ) |
Feeds the IP layer with incoming packets that were receive.
- Parameters:
-
netif The lwip network interface structure for this slipif
Definition at line 449 of file lwip_slipif.c.
| void slipif_received_byte | ( | struct netif * | netif, |
| u8_t | data | ||
| ) |
Process a received byte, completed packets are put on a queue that is fed into IP through slipif_process_rxqueue().
This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.
- Parameters:
-
netif The lwip network interface structure for this slipif data received character
Definition at line 526 of file lwip_slipif.c.
| void slipif_received_bytes | ( | struct netif * | netif, |
| u8_t * | data, | ||
| u8_t | len | ||
| ) |
Process multiple received byte, completed packets are put on a queue that is fed into IP through slipif_process_rxqueue().
This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.
- Parameters:
-
netif The lwip network interface structure for this slipif data received character len Number of received characters
Definition at line 544 of file lwip_slipif.c.
Handle the incoming SLIP stream character by character.
- Parameters:
-
netif the lwip network interface structure for this slipif c received character (multiple calls to this function will return a complete packet, NULL is returned before - used for polling)
- Returns:
- The IP packet when SLIP_END is received
Definition at line 207 of file lwip_slipif.c.
| static void slipif_rxbyte_enqueue | ( | struct netif * | netif, |
| u8_t | data | ||
| ) | [static] |
Like slipif_rxbyte, but queues completed packets.
- Parameters:
-
netif The lwip network interface structure for this slipif data Received serial byte
Definition at line 487 of file lwip_slipif.c.
| static void slipif_rxbyte_input | ( | struct netif * | netif, |
| u8_t | c | ||
| ) | [static] |
Like slipif_rxbyte, but passes completed packets to netif->input.
- Parameters:
-
netif The lwip network interface structure for this slipif c received character
Definition at line 310 of file lwip_slipif.c.
Generated on Fri Jul 22 2022 04:54:07 by
1.7.2
