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.

SLIP ÇÁ·ÎÅäÄÝÀº ½Ã¸®¾ó ¶óÀÎÀ» ÅëÇØ IP ÆÐŶÀ» Àü¼ÛÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀÌ´Ù. À̰ÍÀº ¾î¶°ÇÑ µ¥ÀÌÅÍ Àý´ÜÀ̳ª ¿¡·¯Á¦¾î¸¦ Á¦°øÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ¿À´Ã³¯ ³Î¸® »ç¿ëµÇÁö´Â ¾Ê´Â´Ù.


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.

ÀÌ SLIP ±¸ÇöÀº ½Ã¸®¾ó µð¹ÙÀ̽º¸¦ Á¢±ÙÇϱâ À§ÇØ µÎ °¡Áö ±â´ÉÀ» ¿ä±¸ÇÑ´Ù. slipdev_char_poll()°ú slipdev_char_put(). À̵é ÇÔ¼ö´Â SLIP ÇÁ·ÎÅäÄÝÀÌ ½ÇÇàµÇ´Â ½Ã½ºÅÛ¿¡¼­ ±¸ÇöµÇ¾î¾ß ÇÑ´Ù.



Files

file  slipdev.c
 SLIP protocol implementation.
SLIP ÇÁ·ÎÅäÄÝÀÌ ±¸Çö.

file  slipdev.h
 SLIP header file.
SLIP Çì´õ ÆÄÀÏ.


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.
SLIP ¸ðµâ ÃʱâÈ­.

void slipdev_send (void)
 Send the packet in the uip_buf and uip_appdata buffers using the SLIP protocol.
SLIP ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇØ¼­ uip_buf¿Í uip_appdata ¹öÆÛ¿¡ ÀÖ´Â ÆÐŶÀ» ¼Û½Å.

u16_t slipdev_poll (void)
 Poll the SLIP device for an available packet.
SLIP µð¹ÙÀ̽º¿¡¼­ À¯È¿ÇÑ ÆÐŶÀ» Æú¸µ.


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.

ÀÌ ÇÔ¼ö´Â ½Ã¸®¾ó µð¹ÙÀ̽º¿¡¼­ ¹®ÀÚ¸¦ Æú¸µÇϱâ À§ÇØ SLIP¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. ÀÌ ÇÔ¼ö´Â SLIP ÇÁ·ÎÅäÄÝÀÌ ½ÇÇàµÇ´Â ½Ã½ºÅÛ¿¡¼­ ±¸ÇöµÇ¾î¾ß ÇÑ´Ù.


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.

ÀÌÇÔ¼ö´Â ¹®ÀÚ°¡ À¯È¿ÇÏµç ¾ÈÇϵç Áï½Ã ¸®ÅÏÇØ¾ß ÇÑ´Ù. ¹®ÀÚ°¡ À¯È¿Çϸé ÀÎÀÚ 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.

ÀÌÇÔ¼ö´Â ¹®ÀÚ¸¦ ½Ã¸®¾ó µð¹ÙÀ̽º¿¡ ³Ö±â À§ÇØ SLIP¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. ÀÌ ÇÔ¼ö´Â SLIP ÇÁ·ÎÅäÄÝÀÌ ½ÇÇàµÇ´Â ½Ã½ºÅÛ¿¡¼­ ±¸ÇöµÇ¾î¾ß ÇÑ´Ù.


Parameters:
c The character to be put on the serial device.
½Ã¸®¾ó µð¹ÙÀ̽º¿¡ ³Ö¾îÁú ¹®ÀÚ.

void slipdev_init void   ) 
 

Initialize the SLIP module.

SLIP ¸ðµâ ÃʱâÈ­.


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

ÀÌ ÇÔ¼ö´Â RS232 µð¹ÙÀ̽º°¡ ¾Æ´Ñ SLIP ºÎºÐÀ» ÃʱâÈ­ÇÑ´Ù.


u16_t slipdev_poll void   ) 
 

Poll the SLIP device for an available packet.

SLIP µð¹ÙÀ̽º¿¡¼­ À¯È¿ÇÑ ÆÐŶÀ» Æú¸µ.


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.

ÀÌ ÇÔ¼ö´Â ÆÐŶÀÌ À¯È¿ÇÑÁö¸¦ °Ë»çÇϱâ À§ÇØ SLIP µð¹ÙÀ̽º¸¦ Æú¸µÇÑ´Ù. ÀÌ ÇÔ¼ö´Â RS232 ÀÎÅÍÆäÀ̽º·ÎºÎÅÍ À¯È¿ÇÑ ¸ðµç ¹ÙÀÌÆ®°¡ ÀÐÇôÁú ¹öÆÛ¸¦ »ç¿ëÇÑ´Ù. ¹öÆÛ¿¡¼­ Ç® ÆÐŶÀÌ ÀÐÇôÁö¸é ÆÐŶÀº uip_buf ¹öÆÛ·Î º¹»çµÇ°í ÆÐŶ ±æÀ̰¡ ¸®ÅϵȴÙ.


Returns:
The length of the packet placed in the uip_buf buffer, or zero if no packet is available.

uip_buf ¹öÆÛ¿¡ ÀúÀåµÈ ÆÐŶ ±æÀÌ, ÆÐŶÀÌ À¯È¿ÇÏÁö ¾ÊÀ¸¸é 0À» ¸®ÅÏ.

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.

SLIP ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇØ¼­ uip_buf¿Í uip_appdata ¹öÆÛ¿¡ ÀÖ´Â ÆÐŶÀ» ¼Û½Å.


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.

ÆÐŶÀÇ Ã¹ 40¹ÙÀÌÆ®(IP & TCP Çì´õ)´Â uip_buf ¹öÆÛ¿¡¼­ ÀÐÇôÁö°í ´ÙÀ½ ¹ÙÀÌÆ®(¾îÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅÍ)´Â uip_appdata¹öÆÛ¿¡¼­ ÀÐÇôÁø´Ù.

Here is the call graph for this function:

´ÙÀ½Àº ÀÌÇÔ¼ö¿¡ ´ëÇÑ Äݱ׷¡ÇÁÀÌ´Ù.



Generated on Tue Oct 7 15:51:45 2003 for uIP 0.9 by doxygen 1.3.3