#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); unsigned long int inet_addr(const char *cp); unsigned long int inet_network(const char *cp); char *inet_ntoa(struct in_addr in); struct in_addr inet_makeaddr(int net, int host); unsigned long int inet_lnaof(struct in_addr in); unsigned long int inet_netof(struct in_addr in);
inet_addr() ÇÔ¼ö´Â ¼ö-Á¡ Ç¥±âÀÎ ÀÎÅÍ³Ý È£½ºÆ® ÁÖ¼Ò cp¸¦ ³×Æ®¿÷ ¹ÙÀÌÆ® ¼ø¼ÀÎ ÀÌÁø µ¥ÀÌÅÍ·Î ¹Ù²Û´Ù. ¸¸ÀÏ ÀÔ·ÂÀÌ À¯È¿ÇÏÁö ¾Ê´Ù¸é, INADDR_NONE (º¸Åë -1)ÀÌ ¹ÝȯµÈ´Ù. ÀÌ ÇÔ¼ö´Â À§¿¡¼ ¾ð±ÞÇÑ inet_aton¿¡ ´ëÇÑ ±¸½Ä ÀÎÅÍÆäÀ̽ºÀÌ´Ù.; ÀÌ ÇÔ¼ö´Â ¾µ¸ð¾ø´Ù. ¿Ö³ÄÇϸé -1Àº À¯È¿ÇÑ ÁÖ¼Ò(255.255.255.255)ÀÌ°í, inet_aton´Â ¿¡·¯°¡ ¸®ÅϵǾúÀ½À» °¡¸®Å°´Â È®½ÇÇÑ ¹æ¹ýÀ» Á¦°øÇϱ⠶§¹®ÀÌ´Ù.
inet_network() ÇÔ¼ö´Â ¼ö-Á¡ Ç¥±âÀÎ ÁÖ¼Ò cp¿¡¼ È£½ºÆ® ¹ÙÀÌÆ® ¼ø¼ÀÎ ³×Æ®¿÷ ¼ö¸¦ ¾Ë¾Æ³½´Ù. ÀÔ·ÂÀÌ À¯È¿ÇÏÁö ¾Ê´Ù¸é, -1ÀÌ ¸®ÅϵȴÙ.
inet_ntoa() ÇÔ¼ö´Â ³×Æ®¿÷ ¹ÙÀÌÆ® ¼ø¼·Î ÁÖ¾îÁø ÀÎÅÍ³Ý È£½ºÆ® ÁÖ¼Ò inÀ» Ç¥ÁØ Á¡-¼ö Ç¥±âÀÇ ¹®ÀÚ¿·Î ¹Ù²Û´Ù. ¹®ÀÚ¿Àº Á¤ÀûÀ¸·Î ÇÒ´çµÈ ¹öÆÛ·Î ¹ÝȯµÇ¸ç ÀÌ ÇÔ¼öÀÇ ¿¬¼ÓÀûÀΠȣÃâÀº ÀÌ °ø°£À» µ¤¾î ¾´´Ù.
inet_makeaddr() ÇÔ¼ö´Â µÑ´Ù ·ÎÄà ȣ½ºÆ® ¹ÙÀÌÆ® ¼ø¼ÀÎ ³×Æ®¿÷ ¼ö net¿Í ³×Æ®¿÷ net³» ·ÎÄà ÁÖ¼Ò host¸¦ °áÇÕÇÏ¿© ³×Æ®¿÷ ¹ÙÀÌÆ® ¼ø¼ÀÎ ÀÎÅÍ³Ý È£½ºÆ® ÁÖ¼Ò¸¦ ¸¸µç´Ù.
inet_lnaof() ÇÔ¼ö´Â ÀÎÅÍ³Ý ÁÖ¼Ò inÀÇ ·ÎÄà ȣ½ºÆ® ÁÖ¼Ò ºÎºÐÀ» ¹ÝȯÇÑ´Ù. ·ÎÄà ȣ½ºÆ® ÁÖ¼Ò´Â Áö¿ª È£½ºÆ® ¹ÙÀÌÆ® ¼ø¼·Î ¹ÝȯµÈ´Ù.
inet_netof() ÇÔ¼ö´Â ÀÎÅÍ³Ý ÁÖ¼Ò in ÀÇ ³×Æ®¿÷ ¼ö ºÎºÐÀº ¹ÝȯÇÑ´Ù. ³×Æ®¿÷ ¼ö´Â Áö¿ª È£½ºÆ® ¹ÙÀÌÆ® ¼ø¼·Î ¹ÝȯµÈ´Ù.
inet_makeaddr(), inet_lnoaf() ±×¸®°í inet_netof() ¿¡¼ »ç¿ëµÇ´Â ±¸Á¶Ã¼ in_addr´Â netinet/in.h¿¡ Á¤ÀǵǾî ÀÖ´Ù:
struct in_addr { unsigned long int s_addr; }
i80x86¿¡¼ È£½ºÆ® ¹ÙÀÌÆ® ¼ø¼´Â Least Significant Byte°¡ óÀ½ÀÌ°í, ¹Ý¸é¿¡ ÀÎÅͳݿ¡¼ »ç¿ëµÇ´Â °Íó·³ ³×Æ®¿÷ ¹ÙÀÌÆ® ¼ø¼´Â Most Significant Byte°¡ óÀ½ÀÌ´Ù.