.\" .\" Copyright 1996 Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software and .\" its documentation for any purpose and without fee is hereby .\" granted, provided that both the above copyright notice and this .\" permission notice appear in all copies, that both the above .\" copyright notice and this permission notice appear in all .\" supporting documentation, and that the name of M.I.T. not be used .\" in advertising or publicity pertaining to distribution of the .\" software without specific, written prior permission. M.I.T. makes .\" no representations about the suitability of this software for any .\" purpose. It is provided "as is" without express or implied .\" warranty. .\" .\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS .\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT .\" SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND .\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $ANA: addr2ascii. 3, v 1.1 1996/06/13 18:41:46 wollman Exp $ .\" %FreeBSD: src/lib/libc/net/addr2ascii. 3, v 1.7. 2.5 2001/12/14 18:33:55 ru Exp % .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man3/addr2ascii. 3, v 1.5 2002/05/18 07:12:52 horikawa Exp $ .Dd June 13, 1996 .Dt ADDR2ASCII 3 .Os .Sh ¸íĪ .Nm addr2ascii , .Nm ascii2addr .Nd ÀϹÝÀûÀÎ ÁÖ¼Ò Æ÷¸Ë routine .Sh ÇÁ·Î±×·¥ ¶óÀ̺귯¸® .Lb libc .Sh ¼­½Ä .In sys/types.h .In netinet/in.h .In arpa/inet.h .Ft "char *" .Fn addr2ascii "int af" "const void *addrp" "int len" "char *buf" .Ft int .Fn ascii2addr "int af" "const char *ascii" "void *result" .Sh ÇØ¼³ routine .Fn addr2ascii (¿Í)°ú .Fn ascii2addr (Àº)´Â, ¹ÙÀ̳ʸ® Çü½Ä°ú ÁÖ¼Ò ÆÐ¹Ð¸®¿¡°Ô ÀûÀýÇÑ ÀÎÀÚ °¡´ÉÇÑ Çü½Ä°úÀÇ »çÀÌ¿¡ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ º¯È¯Çϴµ¥ »ç¿ëµË´Ï´Ù. ¾çÂÊ ¸ðµÎÀÇ ÇÔ¼ö¿Íµµ, º¯È¯ ÇÁ·Î¼¼½º·Î »ç¿ëµÇ´Â ÁÖ¼Ò ÆÐ¹Ð¸®¸¦ ÁöÁ¤ÇÑ´Ù .Fa af Àμö¸¦ »ç¿ëÇÕ´Ï´Ù (Çö½ÃÁ¡¿¡¼­´Â, .Dv AF_INET ¹× .Dv AF_LINK ÁÖ¼Ò ÆÐ¹Ð¸®¸¸ÀÌ ¼­Æ÷Æ®µÇ°í ÀÖ½À´Ï´Ù). .Pp .Fn addr2ascii ÇÔ¼ö´Â, ¹ÙÀ̳ʸ®ÀÇ ³×Æ®¿öÅ© Çü½ÄÀÇ ÁÖ¼Ò¸¦ ÀÎÀÚ °¡´ÉÇÑ Çü½Ä¿¡ º¯È¯Çϴµ¥ »ç¿ëµË´Ï´Ù. .Fa af ¿Ü¿¡, 3 °³ÀÇ Àμö¸¦ °¡Áý´Ï´Ù. .Fa addrp Àμö´Â, º¯È¯ÇÏ´Â ³×Æ®¿öÅ© ÁÖ¼Ò¿¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. .Fa len Àμö´Â, ÁÖ¼ÒÀÇ ±æÀÌÀÔ´Ï´Ù. .Fa buf Àμö´Â, °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ­ È£ÃâÇØ ¿øÀÌ ÇÒ´çÇÑ´Ù ¹öÆÛ¿¡ÀÇ ¿É¼ÇÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. ´©¸£Æ÷ÀΟ°¡ °Ç³×¹ÞÀ¸¸é(ÀÚ), .Fn addr2ascii (Àº)´Â Á¤ÀûÀ¸·Î ÇÒ´çÇØÁø ¹öÆÛ¸¦ »ç¿ëÇÕ´Ï´Ù. .Pp .Fn ascii2addr ÇÔ¼ö´Â, .Fn addr2ascii (¿Í)°ú ¿ªÀÇ Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. .Fa af ¿¡ °¡¼¼ÇØ, 2 °³ÀÇ ÆÄ¶ó¹ÌÅÍ .Fa ascii (¿Í)°ú .Fa result (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. .Fa ascii ÆÄ¶ó¹ÌÅÍ´Â, ¹ÙÀ̳ʸ®¿¡ º¯È¯µÇ´Â ij¸¯ÅÍ ¶óÀο¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. .Fa result ÆÄ¶ó¹ÌÅÍ´Â, ÁöÁ¤µÈ ÆÐ¹Ð¸®¿¡°Ô ÀûÀýÇÑ ³×Æ®¿öÅ© ÁÖ¼Ò ±¸Á¶Ã¼¿¡ÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. .Pp ÁöÁ¤µÈ ÆÐ¹Ð¸®¿¡ ÀÖ¾î »ç¿ëµÇ´Â ¹ÙÀ̳ʸ® Áּҷμ­ ÀûÀýÇÑ ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°½À´Ï´Ù. .Pp .Bl -tag -width AF_INETxxxx -compact .It Dv AF_INET .Li struct in_addr (in .Aq Pa netinet/in.h ) .It Dv AF_LINK .Li struct sockaddr_dl (in .Aq Pa net/if_dl.h ) .\" .It Dv AF_INET6 .\" .Li struct in6_addr .\" (in .\" .Aq Pa netinet6/in6.h ) .El .Sh ¹Ýȯ°ª .Fn addr2ascii ÇÔ¼ö´Â, °Ç³×¹ÞÀº ¹öÆÛÀÇ ÁÖ¼Ò, ¶Ç´Â NULL Æ÷ÀÎÅͰ¡ °Ç³×¹Þ¾ÒÀ» °æ¿ì´Â Á¤Àû ¹öÆÛÀÇ ÁÖ¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. 󸮰¡ ½ÇÆÐÇßÀ» °æ¿ì´Â, ´©¸£Æ÷ÀΟ¸¦ µ¹·ÁÁÝ´Ï´Ù. .Fn ascii2addr ÇÔ¼ö´Â, ¹ÙÀ̳ʸ® ÁÖ¼ÒÀÇ ±æÀÌ (¹ÙÀÌÆ® ´ÜÀ§)¸¦ µ¹·ÁÁÝ´Ï´Ù. 󸮰¡ ½ÇÆÐÇßÀ» °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. .Pp .Sh ¿¹ .Xr inet 3 ÇÔ¼ö .Fn inet_ntoa (¿Í)°ú .Fn inet_aton (Àº)´Â ´ÙÀ½°ú °°ÀÌ ½ÇÀåÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. .Bd -literal -offset indent #include #include #Include #include char * inet_ntoa(struct in_addr addr) { return addr2ascii(AF_INET, &addr, sizeof addr, 0); } int inet_aton(const char *ascii, struct in_addr *addr) { return (ascii2addr(AF_INET, ascii, addr) == sizeof(*addr)); } .Ed .Pp ½ÇÁ¦·Î´Â, À̰ÍÀº ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. .Fn addr2ascii (¿Í)°ú .Fn ascii2addr (Àº)´Â, ´Ù¸¥ ¹æ¹ýÀÌ ¾Æ´Ï°í, .Xr inet 3 ÇÔ¼ö·Î ½ÇÀåµÇ°í Àֱ⠶§¹®ÀÔ´Ï´Ù. .Sh ¿¡·¯ ó¸® ½ÇÆÐ°¡ µ¹·ÁÁÖ¾îÁ³À» ¶§, .Li errno ¿¡ ´ÙÀ½ÀÇ °ªÀÇ 1 °³ÀÇ ¼³Á¤µË´Ï´Ù. .Bl -tag -width Er .It Bq Er ENAMETOOLONG .Fn addr2ascii routine´Â, .Fa af ¿¡ ÀÇÇØ °Ç³×¹ÞÀº ÁÖ¼Ò ÆÐ¹Ð¸®¿¡°Ô ºÎÀûÀýÇÑ ÆÄ¶ó¹ÌÅÍ .Fa len (À»)¸¦ °Ç³×¹Þ¾Ò½À´Ï´Ù. .It Bq Er EPROTONOSUPPORT ¸î°³ÀÇ routine¿¡, .Dv AF_INET ¶Ç´Â .Dv AF_LINK (Àº)´Â ¾Æ´Ï´Ù .Fa af ÆÄ¶ó¹ÌÅͰ¡ °Ç³×¹Þ¾Ò½À´Ï´Ù. .It Bq Er EINVAL .Fn ascii2addr ¿¡°Ô °Ç³×Áø ij¸¯ÅÍ ¶óÀÎÀº, ÁÖ¼Ò ÆÐ¹Ð¸® .Fa af ¿¡ ºÙ¾î ºÎÀûÀýÇÏ°Ô Æ÷¸Ë µÇ°í ÀÖ¾ú½À´Ï´Ù. .El .Sh °ü·Ã Ç׸ñ .Xr inet 3 , .Xr linkaddr 3 , .Xr inet 4 .Sh ¿ª»ç À̰Ϳ¡ °¡±î¿î ÀÎÅÍÆäÀ̽º´Â, ¿ø·¡ Craig Partridge ¿¡ ÀÇÇØ Á¦¾ÈµÇ¾ú½À´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º ÀÚü´Â, .Tn INRIA ÀÇ .Tn IPv6 ÀÇ ½ÇÀå¿¡ ÀÇÇØ, óÀ½ µîÀåÇß½À´Ï´Ù. .Sh ÀúÀÚ ÄÚµå¿Í ¹®¼­´Â MIT Laboratory for Computer Science ÀÇ .An Garrett A. Wollman ¿¡ ÀÇÇÏ´Â °ÍÀÔ´Ï´Ù. .Sh ¹ö±× ¿À¸®Áö³¯ÀÇ ½ÇÀåÀº IPv6 ¸¦ ¼­Æ÷Æ®Çϰí ÀÖ¾ú½À´Ï´Ù. ÀÌ ¼­Æ÷Æ®´Â, ±× Áß restoreµÉ °ÍÀÔ´Ï´Ù. .Tn NRL ÀÇ ½ÇÀå¿¡´Â, .Dv AF_ISO ¹× .Dv AF_NS ÁÖ¼Ò ÆÐ¹Ð¸®ÀÇ ¼­Æ÷Æ®µµ Æ÷ÇԵǾî ÀÖ¾ú½À´Ï´Ù. .Pp ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ÀϹݼº¿¡ ´ëÇØ¼­´Â, ¾ó¸¶Àΰ¡ Àǹ®ÀÌ ÀÖ½À´Ï´Ù. Á¤¸»·Î ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽ºÀ̸é, ¹öÆÛ¸¦ µ¿ÀûÀ¸·Î ÇÒ´çÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖµµ·Ï, »ç¿ëµÇ´Â ¹öÆÛÀÇ ±æÀ̸¦ °áÁ¤ÇÏ´Â ¼ö´ÜÀ» °®Ãß°í ÀÖ°ÚÁö¿ä ÇØ, ¹ÙÀ̳ʸ® ÁÖ¼Ò¸¦ º¸°ü À¯ÁöÇϴµ¥´Â ¹Ýµå½Ã .Dq Li struct sockaddr (À»)¸¦ ¿ä±¸ÇϰÚÁö¿ä. À¯°¨½º·´Áö¸¸, À̰ÍÀº ±âÁ¸ÀÇ ¹æ½Ä°ú ȣȯ¼ºÀÌ ¾ø½À´Ï´Ù. ÀÌ Á¦ÇÑÀ» À§ÇØ, ÀÓÀÇÀÇ ÁÖ¼Ò ÆÐ¹Ð¸®·ÎºÎÅÍ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ ÀÎÀÚÇÏ´Â routine´Â, ÇÊ¿äÇÑ ÃÖ´ë ¹öÆÛÀåÀ̳ª, ¹ÙÀ̳ʸ® Áּҷμ­ »ç¿ëÇÏ´Â ÁÖ¼ÒÀÇ ÀûÀýÇÑ ºÎºÐÀ̶ó°í Çß´Ù ³»ºÎÀûÀÎ Áö½ÄÀ» ¿©ÀüÈ÷ °¡Áö°í ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.