Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

# Serial Line IP (SLIP) protocol
[The uIP TCP/IP stack]

## Detailed Description

The SLIP protocol is a very simple way to transmit IP packets over a serial line. It does not provide any framing or error control, and is therefore not very widely used today.

This SLIP implementation requires two functions for accessing the serial device: slipdev_char_poll() and slipdev_char_put(). These must be implemented specifically for the system on which the SLIP protocol is to be run.

## Files
file | slipdev.c
| SLIP protocol implementation.

file | slipdev.h
| SLIP header file.

## Functions
void | slipdev_char_put (u8_t c)
| Put a character on the serial device.
u8_t | slipdev_char_poll (u8_t *c)
| Poll the serial device for a character.
void | slipdev_init (void)
| Initialize the SLIP module.
void | slipdev_send (void)
| Send the packet in the uip_buf and uip_appdata buffers using the SLIP protocol.
u16_t | slipdev_poll (void)
| Poll the SLIP device for an available packet.

## Function Documentation

u8_t slipdev_char_poll | ( | u8_t * | c | ) |

  | Poll the serial device for a character. This function is used by the SLIP implementation to poll the serial device for a character. It must be implemented specifically for the system on which the SLIP implementation is to be run. The function should return immediately regardless if a character is available or not. If a character is available it should be placed at the memory location pointed to by the pointer supplied by the arguement c. Parameters:
  c | A pointer to a byte that is filled in by the function with the received character, if available.
  Return values:
  0 | If no character is available.
  Non-zero | If a character is available.

void slipdev_char_put | ( | u8_t | c | ) |

  | Put a character on the serial device. This function is used by the SLIP implementation to put a character on the serial device. It must be implemented specifically for the system on which the SLIP implementation is to be run. Parameters:
  c | The character to be put on the serial device.

void slipdev_init | ( | void |  | ) |

| Initialize the SLIP module. This function does not initialize the underlying RS232 device, but only the SLIP part.

u16_t slipdev_poll | ( | void |  | ) |

| Poll the SLIP device for an available packet. This function will poll the SLIP device to see if a packet is available. It uses a buffer in which all avaliable bytes from the RS232 interface are read into. When a full packet has been read into the buffer, the packet is copied into the uip_buf buffer and the length of the packet is returned. Returns: The length of the packet placed in the uip_buf buffer, or zero if no packet is available.

Here is the call graph for this function:

void slipdev_send | ( | void |  | ) |

| Send the packet in the uip_buf and uip_appdata buffers using the SLIP protocol. The first 40 bytes of the packet (the IP and TCP headers) are read from the uip_buf buffer, and the following bytes (the application data) are read from the uip_appdata buffer.

Here is the call graph for this function: