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.
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 Tue Jul 12 2022 12:33:16 by
 1.7.2