[ 1Àå, 2Àå, 3Àå, 4Àå, 5Àå, 6Àå, 7Àå, 8Àå, 9Àå, 10Àå, 11Àå, 12Àå, 13Àå, 14Àå, 15Àå, 16Àå, 17Àå, 18Àå, 19Àå, 20Àå, 21Àå, 22Àå, 23Àå, 24Àå, 25Àå, 26Àå, 27Àå, ºÎ·ÏA, ºÎ·ÏB,C, ºÎ·ÏD, GNU C ¶óÀ̺귯¸® ¸ñ·Ï ]

À̱ÛÀº ÇÏÀÌÅÚ ¼ÒÇÁÆ®¿þ¾îµ¿È£È¸ÀÇ ¼Ò¸ðÀÓÀÎ Á÷ÀåÀÎÀ» À§ÇÑ ¾¾¸ðÀÓ¿¡¼­ ÀåÀå 2³â°£ÀÇ ´ëÀåÁ¤À¸·Î ¹ø¿ªµÇ¾îÁø ¹®¼­ÀÔ´Ï´Ù. Áö±ÝÀº Á÷¾¾ÀåÀ» Áö³»°í ÀÖ´Â ±è¼Ò¿µ(flpigy)´Ô°ú Á¶¿øºÀ(thirnine)´Ô, °í¼®°©´Ô(sukgab)ÀÇ °øµ¿¹ø¿ªÀÔ´Ï´Ù.

26. ½Ã½ºÅÛ Á¤º¸

ÀÌ ÀåÀº »ç¿ëÇϰí Àִ ƯÁ¤ÇÑ ±â°è_Áï Çϵå¿þ¾îÀÇ Å¸ÀÔ, ¼ÒÇÁÆ®¿þ¾îÀÇ Å¸ÀÔ, ±×¸®°í °³º°ÀûÀÎ ±â°è µéÀÇ À̸§_¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÏ´Â ÇÔ¼ö¸¦ ¼³¸íÇÑ´Ù.

26.1 È£½ºÆ® È®ÀÎ.

ÀÌ ÀýÀº ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í Àִ ƯÁ¤ÇÑ ±â°è(machine)¸¦ ¾î¶»°Ô È®ÀÎÇÒ°ÍÀÎÁö¸¦ ¼³¸íÇÏ °í ÀÖ´Ù. ±â°èÀÇ ±¸ºÐÀº ÀÎÅÍ³Ý È£½ºÆ® À̸§(Internet host name) °ú ÀÎÅÍ³Ý ÁÖ¼Ò(Internet address) ·Î ÇÑ´Ù; 11.5Àý [Internet Namespace] 155 ÆäÀÌÁö ÂüÁ¶. ±× ÇÔ¼öµé¿¡ ´ëÇÑ ÇÁ·ÎÅäŸÀÔÀº `unistd.h' ¿¡ ³ª¿ÍÀÖ´Ù. ½© ¸í·É¾î hostname°ú hostid´Â ±×µéÀ» È£ÃâÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÑ´Ù.

ÇÔ¼ö : int gethostname (char *name, size_t size)

ÀÌ ÇÔ¼ö´Â ¹è¿­ name¿¡ È£½ºÆ® ±â°èÀÇ À̸§À» ¸®ÅÏÇÑ´Ù. sizeÀμö´Â ÀÌ ¹è¿­ÀÇ Å©±â¸¦ ¹ÙÀÌÆ® ´ÜÀ§ ·Î ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÔ¼ö´Â ¼º°øÇϸé 0À» ¸®ÅÏÇϰí, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. GNU C ¶óÀ̺귯¸®¿¡ ¼­, gethostnameÀº ¸¸ÀÏ size Àμö°¡ ÃæºÐÈ÷ Å©Áö ¾Ê´Ù¸é ½ÇÆÐÇϱ⠶§¹®¿¡ ±× °æ¿ì¿¡´Â ±× ¹è¿­À» Å©°ÔÇØ¼­ ´Ù½Ã ±× ÇÔ¼ö¸¦ È£ÃâÇ϶ó. ´ÙÀ½ÀÇ errno´Â ÀÌ ÇÔ¼ö¸¦ À§ÇØ Á¤ÀÇµÈ ¿¡·¯»óȲÀÌ´Ù.

ENAMETOOLONG

size Àμö°¡ È£½ºÆ® À̸§¿¡´Ù 1À» ´õÇÑ Å©±âº¸´Ù ÀÛ´Ù. ¾î¶² ½Ã½ºÅÛ¿¡¼­´Â, ÃÖ´ë °¡´ÉÇÑ È£½ºÆ® À̸§ ÀÇ ±æÀ̰¡ ½Éº¼ MAXHOSTNAMELEN À¸·Î Á¤ÇØÁ®ÀÖ´Ù. ±×°ÍÀº `sys/param.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù. ±×°Í¿¡ ¸ÂÁö¾Ê´Â´Ù¸é ½ÇÆÐ·Î ó¸®ÇÏ°í ´Ù½Ã ½ÃµµÇ϶ó.

gethostnameÀº ¸¸ÀÏ È£Æ®½º À̸§ÀÇ ±æÀ̰¡ ±æ¾î¼­ ©¸°´Ù°í ÇÏ´õ¶óµµ È£½ºÆ®À̸§À» name¿¡ ÀúÀåÇÏ °í ±×°ÍÀ» °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ¸®ÅÏÇÑ´Ù. ¾î¶²¶§´Â Àß·ÁÁø È£½ºÆ®À̸§À¸·Îµµ ÃæºÐÇÒ ¶§°¡ÀÖ´Ù. ¸¸ÀÏ ±×·¸´Ù¸é, ±×¶§ ¹ß»ýÇÑ ¿¡·¯ÄÚµå´Â ¹«½ÃÇÒ ¼ö ÀÖ´Ù.

ÇÔ¼ö : int sethostname (const char *name, size_t length)

sethostname ÇÔ¼ö´Â lengthÀÇ ±æÀ̸¦ °¡Áø ¹®ÀÚ¿­ nameÀ¸·Î È£½ºÆ® ±â°èÀÇ À̸§À» ¼³Á¤ÇÑ´Ù. ¿ÀÁ÷ Ư±ÇÀ» °¡Áø ÇÁ·Î¼¼½º¸¸ÀÌ ÀÌ ÀÏÀ» Çϵµ·Ï Çã¶ôµÈ´Ù. º¸Åë ½Ã½ºÅÛÀÌ ºÎÆÃÇÒ¶§ µü ÇÑ ¹ø ¹ß»ýÇÑ´Ù. ¼º°øÇÏ¸é ¸®ÅϰªÀº 0ÀÌ°í ½ÇÆÐÇϸé -1ÀÌ´Ù. ´ÙÀ½ÀÇ errno´Â ÀÌÇÔ¼ö¸¦ À§ÇØ Á¤ÀÇµÈ ¿¡·¯»óȲÀÌ´Ù.

EPERM

ÀÌ ÇÁ·Î¼¼½º´Â Ư±ÇÀÌ ¾ø±â ¶§¹®¿¡ È£½ºÆ®À̸§À» ¼³Á¤ÇÒ ¼ö ¾ø´Ù.

ÇÔ¼ö : long int gethostid (void)

ÀÌ ÇÔ¼ö´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í ÀÖ´Â ±â°èÀÇ "È£½ºÆ® ID"¸¦ ¸®ÅÏÇÑ´Ù. °ü·ÊÀûÀ¸·Î, ¸®ÅϵǴ ȣ½ºÆ® ID´Â º¸Åë ±â°èÀÇ ÁÖ¿äÇÑ(primary) ÀÎÅÍ³Ý Áּҷνá, long int·Î º¯È¯µÈ °ÍÀÌ´Ù. ±×·¯³ª ¾î¶²±â°è¿¡ ¼­´Â °¢°¢ÀÇ ±â°è¿¡ ºÒº¯ÀÎ(hard-coded) ´ÜÀÏÇÑ ¹øÈ£·Î Àǹ̰¡ ¾ø´Ù.

ÇÔ¼ö : int sethostid (long int id)

sethostid ÇÔ¼ö´Â id·Î È£½ºÆ® ±â°èÀÇ "È£½ºÆ® ID"¸¦ ¼³Á¤ÇÑ´Ù. ¿ÀÁ÷ Ư±ÇÀ» °¡Áø ÇÁ·Î¼¼½º¸¸ÀÌ ÀÌ·¯ ÇÑÀÏÀ» Çϵµ·Ï Çã¿ëµÈ´Ù. º¸Åë ±×°ÍÀº ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§, µü ÇÑ ¹ø ¹ß»ýÇÑ´Ù. ¼º°øÇÏ¸é ¸®ÅϰªÀº 0 ÀÌ°í ½ÇÆÐÇϸé -1ÀÌ´Ù. ´ÙÀ½ÀÇ errno´Â ÀÌ ÇÔ¼ö¸¦ À§ÇØ Á¤ÀÇµÈ ¿¡·¯»óȲÀÌ´Ù.

EPERM

ÀÌ ÇÁ·Î¼¼½º´Â Ư±ÇÀÌ ¾ø±â ¶§¹®¿¡ È£½ºÆ® À̸§À» ¼³Á¤ÇÒ ¼ö ¾ø´Ù.

ENOSYS

¿î¿µÃ¼Á¦°¡ È£½ºÆ® ID¸¦ ¼³Á¤ÇÏ´Â °ÍÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ¾î¶² ½Ã½ºÅÛ¿¡¼­, È£½ºÆ® ID´Â ºÒº¯ÀÇ ´Ü ÀÏÇÑ ¼ýÀÚÀ̱⠶§¹®¿¡ Àǹ̰¡ ¾ø´Ù.

26.2 Çϵå¿þ¾î/¼ÒÇÁÆ®¿þ¾î ŸÀÔ È®ÀÎÇϱâ.

´ç½ÅÀº ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í ÀÖ´Â ÄÄÇ»ÅÍÀÇ Å¸ÀÔ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò±âÀ§Çؼ­ uname ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼ö¿Í ±×°Í°ú ¿¬°üµÈ µ¥ÀÌÅÍŸÀÔÀº Çì´õÆÄÀÏ `sys/utsname.h'¿¡ ¼±¾ðµÇ¾î ÀÖ ´Ù.

µ¥ÀÌÅÍŸÀÔ : struct utsname

utsname ±¸Á¶Ã¼´Â uname ÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅÏµÈ Á¤º¸¸¦ ÀúÀåÇϴµ¥ »ç¿ëµÈ´Ù. ´ÙÀ½°ú °°Àº ¸â¹öµéÀ» °®´Â´Ù.

char sysname[]

»ç¿ëÁßÀÎ ¿î¿µÃ¼Á¦ÀÇ À̸§ÀÌ´Ù.

char nodename[]

À̰ÍÀº ƯÁ¤ÇÑ ÄÄÇ»ÅÍÀÇ ³×Æ®¿÷ À̸§ÀÌ´Ù. GNU¶óÀ̺귯¸®¿¡¼­, ÀÌ °ªÀº gethostname¿¡ ÀÇÇØ ¸®ÅÏµÈ °Í°ú °°Àº °ªÀÌ´Ù; 26.1Àý [Host Identification] 367 ÆäÀÌÁö ÂüÁ¶.

char release[]

À̰ÍÀº ¿î¿µÃ¼Á¦ÀÇ ÇöÀç °³Á¤ÆÇ ¹øÈ£ÀÌ´Ù.

char version[]

À̰ÍÀº ¿î¿µÃ¼Á¦ÀÇ ÇöÀç ¹öÀü(version) ÀÌ´Ù.

char machine[]

À̰ÍÀº »ç¿ëÁßÀÎ Çϵå¿þ¾î ŸÀÔ¿¡ ´ëÇÑ ¸í¼¼ÀÌ´Ù. ¾î¶² ½Ã½ºÅÛÀº ÀÌ Á¤º¸¸¦ Á÷Á¢ÀûÀ¸·Î Ä¿³Î·ÎºÎÅÍ ¾òÀ» ¼ö ÀÖ´Â ¸ÞÄ«´ÏÁòÀ» Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ ¸ÞÄ«´ÏÁòÀÌ ¾ø´Â ½Ã½ºÅÛ¿¡¼­, GNU C ¶óÀ̺귯¸®´Â ±× ¶óÀ̺귯¸®°¡ ¸¸µé¾îÁö°í ÀνºÅç µÉ ¶§ Á¤ÇØÁø ÇüÅ¿¡ ±âÃÊÇÏ¿© ÀÌ Çʵ带 ä¿î´Ù. GNU ´Â ½Ã½ºÅÛ ±¸¼ºÀ» ¼³¸íÇϱâ À§Çؼ­ ¼¼-ºÎºÐÀ» »ç¿ëÇÑ´Ù; ¼¼ºÎºÐÀº Áß¾Óó¸®ÀåÄ¡, Á¦Á¶È¸»ç, ±×¸®°í ½Ã½ºÅÛ-ŸÀÔ À̰í, ±×µéÀº ´ë½¬·Î ±¸ºÐµÈ´Ù. ¾î¶²°æ¿ì¿¡ ±× ¼¼ºÎºÐÀÇ Á¶ÇÕµÈ Á¤º¸´Â À¯¿ëÇÏÁö¸¸, ´ëºÎºÐÀº ½ÇÁ¦ ÀûÀ¸·Î À¯¿ëÇÏÁö ¾Ê°í Çʿ䰡 ¾ø´Ù. ±â°è¿¡¼­ ±× °ªÀÌ ´ÜÁö Çϵå¿þ¾î¿¡ ´ëÇÑ ¸í¼¼¸¸À» Áö¿øÇÑ´Ù¸é, ±×°ÍÀº µÎ °³ÀÇ ºÎºÐÀ¸·Î ÇüÅÂÀÇ À̸§ÀÌ ±¸¼ºµÈ´Ù.

¿¹¸¦µé¸é ´ÙÀ½°ú °°´Ù:

"sparc-sun", "i386-anything ", "m68k-hp", "m68k-sony", "m68k-sun", "mips-dec"

ÇÔ¼ö : int uname (struct utsname *info)

uname ÇÔ¼ö´Â info°¡ °¡¸®Å°°í ÀÖ´Â ±¸Á¶Ã¼¸¦ ¿î¿µÃ¼Á¦¿Í È£½ºÆ® ±â°è¿¡ ´ëÇÑ Á¤º¸·Î ä¿î´Ù. À½ÀÌ ¾Æ´Ñ°ªÀº ¼º°øÀûÀ¸·Î Á¤º¸°¡ ÀúÀåµÇ¾úÀ½À» ¾ê±âÇϰí -1Àº ½ÇÆÐÇÒ °æ¿ì ¸®ÅϵȴÙ. ¿ÀÁ÷ °¡´ÉÇÑ ¿¡·¯ ´Â EFAULT ¹Û¿¡ ¾ø´Âµ¥, ±× ¿¡·¯´Â Ç×»ó ¹ß»ý°¡´É¼ºÀÌ ÀÖ´Â °ÍÀ¸·Î½á °£´ÜÈ÷ ¾ê±âÇÒ ¼ö´Â ¾ø´Ù.