[ 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)ÀÇ °øµ¿¹ø¿ªÀÔ´Ï´Ù.

Á¦ 2Àå : ¿¡·¯ º¸°í

GNU CÀÇ ¸¹Àº ÇÔ¼öµéÀº ¿¡·¯ Á¶°ÇµéÀ» Á¶»çÇÏ¿© º¸°íÇϸç, ¶§·Î´Â ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ ÀÌ·¯ÇÑ ¿¡·¯ Á¶°ÇµéÀ» Á¶»çÇÒ Çʿ䰡 ÀÖ´Ù. ¿¹¸¦ µé¾î,´ç½ÅÀÌ ÀÔ·ÂÆÄÀÏÀ» ¿­ ¶§,´ç½ÅÀº ±× ÆÄÀÏÀÌ ½ÇÁ¦·Î Á¤È®ÇÏ°Ô ¿­¸± ¼ö ÀÖ´ÂÁö¸¦ È®Á¤ÇØ¾ß Çϸç,¿¡·¯¸Þ¼¼Áö¸¦ ±â·ÏÇϰí, ¶óÀ̺귯¸® ÇÔ¼ö È£Ãâ¿¡ ½ÇÆÐÇÏ ¸é ´Ù¸¥ ÀûÀýÇÑ Á¶Ä¡¸¦ ÃëÇØ¾ß ÇÑ´Ù.

ÀÌ Àå¿¡¼­´Â ¿¡·¯ º¸°í µµ±¸µéÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¸¦ ¼³¸íÇϰڴÙ. ÀÌ µµ±¸µéÀ» »ç¿ëÇÏ·Á¸é ÇÁ·Î ±×·¥¿¡ Çì´õÆÄÀÏ 'errno.h'¸¦ Æ÷ÇÔÇ϶ó.

2.1 ¿¡·¯ üũ

´ëºÎºÐÀÇ ¶óÀ̺귯¸® ÇÔ¼öµéÀº ½ÇÆÐÇÒ ¶§¿¡ ÁöÁ¤Çϴ ƯÁ¤ÇÑ °ªÀ» ¹ÝȯÇÑ´Ù. ±× ƯÁ¤ÇÑ °ªÀ̶õ Àü ÇüÀûÀ¸·Î -1,³Î(null) Æ÷ÀÎÅÍ, EOF¶ó´Â »ó¼öµîÀÌ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ¸®ÅÏ °ªÀº ¿¡·¯°¡ ¹ß»ýÇß´Ù´Â »ç ½Ç¸¸À» ÁöÀûÇØ ÁØ´Ù. ¾î¶² Á¾·ùÀÇ ¿¡·¯°¡ ¹ß»ýÇß´ÂÁö¸¦ ¾Ë·Á¸é,º¯¼ö errno¿¡ ÀúÀåµÈ ¿¡·¯Äڵ带 Á¶ »çÇÒ Çʿ䰡 ÀÖ´Ù.ÀÌ º¯¼ö´Â Çì´õÆÄÀÏ 'errno.h'¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù.

º¯¼ö volatile int errno

º¯¼ö errno´Â ½Ã½ºÅÛ ¿¡·¯ ¼ýÀÚ¸¦ ´ã´Â´Ù.´ç½ÅÀº errnoÀÇ °ªÀ» ¹Ù²Ü ¼ö ÀÖ´Ù.

errno´Â volatile·Î ¼±¾ðµÇ¾î ÀÖÀ¸¹Ç·Î ºÎÈ£Ãë±ÞÀÚ¿¡ ÀÇÇØ ¹Ù²ãÁú ¼öµµ ÀÖ´Ù; 21.4 [Ãë±ÞÀÚ Á¤ÀÇÇÏ ±â],285ÂÊ ÂüÁ¶. ±×·¯³ª,ÇÕ´çÇÏ°Ô ¾º¾îÁø ºÎÈ£Ãë±ÞÀÚ´Â errnoÀÇ °ªÀ» ÀúÀåÇϱ⠶§¹®¿¡, ´ç½ÅÀÌ ºÎÈ£ Ãë±ÞÀÚ¸¦ Àû¾î¾ß ÇÒ ´ë¸¦ Á¦¿ÜÇϰí´Â ¹Ù²ð °¡´É¼º¿¡ ´ëÇØ¼­ ¿ì·ÁÇÒ ÇÊ¿ä´Â ¾ø´Â °ÍÀÌ´Ù.

ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÒ ¶§ errnoÀÇ ÃʱⰪÀº Á¦·ÎÀÌ´Ù. ¸¹Àº ¶óÀ̺귯¸® ÇÔ¼öµéÀº ¾î¶² ¿¡·¯¸¦ ¸¸³¯ ¶§ ±×°ÍÀ» Á¦·Î°¡ ¾Æ´Ñ °ªÀ¸·Î ¸¸µéµµ·Ï µÇ¾îÀÖ´Ù.ÀÌ·¯ÇÑ ¿¡·¯ Á¶°ÇÀº °¢ ÇÔ¼ö¿¡ ±â·ÏµÇ¾î ÀÖ´Ù. ÀÌ ÇÔ¼öµéÀÌ ¼º°øÇßÀ» ¶§¿¡´Â errno¸¦ ¹Ù²ÙÁö ¾Ê´Â´Ù; ±×·¯¹Ç·Î,´ç½ÅÀº È£ÃâÀÌ ½ÇÆÐÇß´ÂÁö¸¦ °áÁ¤ÇÏÁö ¾Ê°í¼­´Â errno¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.±×°ÍÀÇ ÀûÀýÇÑ »ç¿ë¹ýÀº °¢ ÇÔ¼ö¿¡ ±â·ÏµÇ¾î ÀÖ´Ù. È£ÃâÀÌ ½ÇÆÐ ÇÏ°Ô µÇ¸é,´ç½ÅÀº errno¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù.

¸¹Àº ¶óÀ̺귯¸® ÇÔ¼öµéÀº ´Ù¸¥ ¶óÀ̺귯¸® ÇÔ¼öµéÀ» È£ÃâÇÏ´Ù°¡ ½ÇÆÐÇÑ °á°ú·Î¼­ errnoÀÇ °ªÀ» Á¦·Î¾Æ´Ñ °ªÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù. ´ç½ÅÀº ¾î¶°ÇÑ ¶óÀ̺귯¸® ÇÔ¼ö¶óµµ ±× ÇÔ¼ö°¡ ¿¡·¯¸¦ ¹Ýȯ ÇÒ ¶§¿¡

errnoÀÇ °ªÀ» º¯°æÇÒ ¼ö ÀÖÀ½À» ¾Ë¾Æ¾ß ÇÑ´Ù.

¿î¿ë ³ë¿ìÆ® : ANSI C¿¡¼­´Â errno¸¦ º¯¼ö·Î¼­ ´Ù·ç±âº¸´Ù´Â "º¯°æ°¡´ÉÇÑ ¿ÞÆí °ª"À¸·Î ±ÔÁ¤Çϰí, ±×°ÍÀÌ ¸ÅÅ©·Î·Î ¿Ï¼ºµÇ´Â °ÍÀ» Çã¿ëÇϰí ÀÖ´Ù. ¿¹¸¦ µé¸é,±×°ÍÀÇ È®ÀåÀº *_errno()¿Í °°ÀÌ ÇÔ¼ö È£ÃâÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. »ç½Ç»ó,±×°ÍÀº GNU ½Ã½ºÅÛ»ó¿¡ Á¸ÀçÇÏ´Â ±×´ë·ÎÀÌ´Ù. ºñ GNU½Ã½ºÅÛ »ó¿¡¼­ GNU ¶óÀ̺귯¸®´Â ƯÁ¤ÇÑ ½Ã½ºÅÛÀÌ Çô¿ëÇÏ´Â ¸ðµç °ÍÀ» ÇÒ ¼ö°¡ ÀÖ´Ù.

¿¡·¯°¡ ¹ß»ýÇÒ °æ¿ì¿¡ sqrt¿Í atan°ú °°ÀÌ ¿Ïº®ÇÏ°Ô ÀûÇÕÇÑ °ª¸¸À» ¹ÝȯÇÏ°Ô ÇÏ´Â ¸î¸î ¶óÀ̺귯 ¸® ÇÔ¼öµéµµ ÀÖ´Ù.À̿Ͱ°Àº ÇÔ¼öµéÀÇ °æ¿ì¿¡´Â ¸¸¾à ´ç½ÅÀÌ ¿¡·¯°¡ ÀϾ´ÂÁö¸¦ üũÇϰíÀÚ ÇÑ´Ù¸é

ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ÁöÁ¤µÈ ¹æ¹ýÀ¸·Î errno¿¡ Á¦·Î¸¦ ´ã¾ÆµÎ°í, ±×·± ´ÙÀ½¿¡ ±× °ªÀ» üũÇÏ°Ô µÈ ´Ù.

¸ðµç ¿¡·¯ ÄÚµå´Â ºÎÈ£ ¸íĪÀ» °®°í ÀÖ´Ù; ±×°ÍµéÀº 'errno.h'¿¡ Á¤ÀÇµÈ ¸ÅÅ©·ÎÀÌ´Ù.±× ¸íεéÀº 'E' ¿Í ´ë¹®ÀÚ ¶Ç´Â ±¸µÎÁ¡À¸·Î ½ÃÀ۵ȴÙ;´ç½ÅÀº ÀÌ·¯ÇÑ ¸íεéÀ» ¿¹¾àµÈ ¸íĪÀ¸·Î »ý°¢ÇÏ´Â °Ô ÁÁ´Ù. 1.3.3.[¿¹¾àµÈ ¸íĪ],4ÂÊ ÂüÁ¶.

¿¡·¯ÄÚµåÀÇ °ªÀº ¸ðµÎ ¾ç¼öÀÇ Á¤¼öÀÌ¸ç ¸ðµÎ º°°³·Î ±¸ºÐµÈ´Ù. ´Ü ÇϳªÀÇ ¿¹¿Ü°¡ ÀÖ´Ù: EWOULDBLOCK°ú EAGAINÀº °°Àº °æ¿ìÀÌ´Ù. ÀÌ °ªµéÀº ºÐ¸íÇÑ °ÍÀ̹ǷÎ, ´ç½ÅÀÌ switch ±¸¹® ¿¡¼­ ¶óº§·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù; ¹°·Ð EWOULDBLOCK°ú EAGAINÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö´Â ¾ø´Ù.´ç½ÅÀº ÇÁ·Î±×·¥¿¡¼­ ÀÌµé ºÎÈ£ Á¤¼öÀÇ Æ¯Á¤ÇÑ °ª¿¡ ´ëÇØ¼­ ´Ù¸¥ °¡Á¤À» ÇØ¼­´Â ¾ÈµÈ´Ù.

errnoÀÇ °ªÀÌ ¹Ýµå½Ã ÀÌ·¯ÇÑ ¸ÅÅ©·ÎµéÀÇ °ª°ú ÀÏÄ¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¿Ö³ÄÇϸé,¾î¶² ¶óÀ̺귯¸® ÇÔ¼ö µéÀº °¢°¢ÀÇ »óȲ¿¡ µû¶ó ´Ù¸¥ ¿¡·¯ Äڵ带 ¹ÝȯÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ƯÁ¤ÇÑ ¶óÀ̺귯¸® ÇÔ¼ö¿¡ ¼­¸¸ Àǹ̸¦ °®µµ·Ï µÇ¾îÀÖ´Â °ªµéÀº ÀÌ ¾È³»¼­°¡ ±× ÇÔ¼öÀÇ °ªÀ¸·Î º¸¿©ÁÖ´Â ¹Ù·Î ±× °ªÀÌ´Ù.

ºñ GNU üÁ¦¿¡¼­´Â ´ë°³ÀÇ °æ¿ì ¾î¶² ½Ã½ºÅÛÀÌ À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅͰ¡ Àμö·Î¼­ ÁÖ¾îÁú ¶§¿¡´Â EFAULT¸¦ ¹ÝȯÇÒ ¼ö ÀÖ´Ù.À̰ÍÀº ´ç½ÅÀÇ ÇÁ·Î±×·¥¿¡¼­ ¹ö±×ÀÇ °á°ú·Î¼­ ³ªÅ¸³ª°í,GNU üÁ¦¿¡¼­ ´Â ÀϾÁö ¾Ê±â ¶§¹®¿¡ ¿ì¸®´Â °³°³ÀÇ ÇÔ¼ö¸¦ ±â¼úÇÒ ¶§ EFAULT¸¦ ¾ð±ÞÇÏÁö ¾Ê°í °ø°£À» ÀúÀå ÇØ µÎ¾ú´Ù.

2.2 ¿¡·¯ ÄÚµå

¿¡·¯ÄÚµå ¸ÅÅ©·Î´Â Çì´õÆÄÀÏ 'errno.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù. ¸ðµç ¿¡·¯ÄÚµå ¸ÅÅ©·Î´Â Á¤¼öÀÇ »ó¼ö°ªÀ¸ ·Î ¹ßÀüÇÑ´Ù. ¾î¶² ¿¡·¯ÄÚµåµéÀº GNU üÁ¦»ó¿¡¼­´Â ÀϾÁö ¾Ê´Â´Ù. ±×·¯³ª ´Ù¸¥ üÁ¦¿¡¼­ GNU ÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¶§¿¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.

¸ÅÅ©·Î int EPERM

Çã°¡µÇÁö ¾ÊÀº ÀÛµ¿; ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ(¶Ç´Â ´Ù¸¥ ÀÚ¿ø)³ª ¸í·ÉÀ» ¼öÇàÇÒ¼ö Àִ Ưº°ÇÑ ±Ç¸®¸¦ °¡Áø ÇÁ·Î¼¼½º.

¸ÅÅ©·Î int ENOENT

±×·¯ÇÑ ÆÄÀÏÀ̳ª µð·ºÅ丮 ¾øÀ½: À̰ÍÀº ÀÌ¹Ì Á¸ÀçÇϰí ÀÖÀ» °É·Î ¿¹»óÇÑ ÆÄÀÏÀÌ ¾ø´Â °æ¿ì¿¡ ÀÏ¾î ³ª´Â "ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"¶ó´Â ¿¡·¯ÀÌ´Ù.

¸ÅÅ©·Î int ESRCH

󸮰¡ ÁöÁ¤µÈ ó¸® ID¿Í ÇÕÄ¡µÇÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int EINTR

°¡·Îä±â ÇÔ¼ö È£Ãâ;¹ß»ýÇÑ ºñµ¿±â ½ÅÈ£¿Í È£ÃâÀÇ ¹æÇØµÈ Á¾·á. ÀÌ·² °æ¿ì¿¡ ´ç½ÅÀº ´Ù½Ã È£ÃâÀ» ½ÃµµÇغ¸¶ó. ´ç½ÅÀº EINTR·Î ½ÇÆÐÇϱ⠺¸´Ù´Â,ÇÔ¼öµéÀ» Ãë±ÞµÈ ºÎÈ£ ´ÙÀ½¿¡¼­ ½ÃÀ۵ǵµ·Ï ¼±ÅÃÇÒ ¼ö ÀÖ´Ù; 21.5 [°¡·Îä±â ÇÁ¸®¹ÌƼºê],293ÂÊ ÂüÁ¶.

¸ÅÅ©·Î int EIO

ÀÔÃâ·Â ¿¡·¯;¾ðÁ¦³ª ¹°¸®ÀûÀÎ ÀÔÃâ·Â ¿¡·¯¿¡ »ç¿ëµÊ.

¸ÅÅ©·Î int ENXIO

±×·± ÀåÄ¡³ª ÁÖ¼Ò°¡ ¾øÀ½. ½Ã½ºÅÛÀÌ ´ç½ÅÀÌ ÆÄÀÏ¿¡¼­ ¼³Á¤ÇÑ ÀåÄ¡¸¦ »ç¿ëÇϰíÀÚ Çϳª ±×·¯ÇÑ ÀåÄ¡ ¸¦ ãÀ» ¼ö ¾ø¾ú´Ù. À̰ÍÀº ÀåÄ¡ÆÄÀÏÀÌ À߸ø ÀνºÅçµÇ¾ú°Å³ª, ¹°¸®ÀûÀÎ ÀåÄ¡¸¦ ºü¶ß·È°Å³ª ¶Ç´Â ÄÄ Ç»ÅÍ¿Í Á¦´ë·Î ºÎÇÕµÇÁö ¾Ê¾ÒÀ½À» ÀǹÌÇÑ´Ù.

¸ÅÅ©·Î int E2BIG

Àμö°¡ ³Ê¹« ±æ´Ù;½ÇÇàÇÔ¼ö¿¡ ÀÇÇØ¼­ ½ÇÇàµÇ´Â »õ·Î¿î ÇÁ·Î±×·¥¿¡ ( 23.5 [ÆÄÀÏ ½ÇÇàÇϱâ],327ÂÊ Âü Á¶) ÁÖ¾îÁø Àμö°¡ ³Ê¹« Å« ¸Þ¸ð¸® °ø°£À» »ç¿ëÇÒ ¶§. ÀÌ·¯ÇÑ °æ¿ì´Â GNUüÁ¦¿¡¼­´Â »ý±âÁö ¾Ê´Â ´Ù.

¸ÅÅ©·Î int ENOEXEC

À¯È¿ÇÏÁö ¾ÊÀº ½ÇÇàÆÄÀÏ Æ÷¸Ë. ÀÌ·¯ÇÑ Á¶°ÇÀº ½ÇÇàÇÔ¼ö¿¡ ÀÇÇØ Á¶»çµÈ´Ù 23.5 [ÆÄÀÏ ½ÇÇàÇϱâ],327ÂÊ ÂüÁ¶.

¸ÅÅ©·Î int EBADF

À߸øµÈ ÆÄÀÏ ±â·Ï; ¿¹¸¦ µé¾î,´ÝÇôÁø ÆÄÀÏÀ» ±â·ÏÇÏ·Á°í ÇϵçÁö ¾²±â ¸ðµå·Î ¿­·ÁÁø ÆÄÀÏÀ» ÀÐÀ¸·Á °í ÇÏ´Â °æ¿ì(±× ¹Ý´ëÀÇ °æ¿ìµµ)

¸ÅÅ©·Î int ECHILD

ÀÚ½Ä ÇÁ·Î¼¼½º(child process)°¡ ¾ø´Ù. ÀÌ ¿¡·¯´Â ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ´Ù·ç´Â ¿ÀÆÛ·¹½Ã¼ÇÀ» »ç¿ëÇß´Â µ¥ ´Ù·ç±âÀ§ÇÑ ¾î´À ÇÁ·Î¼¼½ºµµ Á¸ÀçÇÏÀç ¾ÊÀ» ¶§ ¹ß»ýÇÑ´Ù.

¸ÅÅ©·Î int EDEADLK

±³Âø»óÅ ȸÇÇ; ½Ã½ºÅÛ ÀÚ¿øÀÇ Á¡À¯´Â ±³Âø»óÅÂÀÇ °á°ú¸¦ ³º´Â´Ù. ½Ã½ºÅÛÀÌ ¸ðµç »óȲÀ» ´Ù ¾Ë¾Æ ç°Å¶ó°í º¸ÁõÇÏÁö ¸øÇÑ´Ù.ÀÌ ¿¡·¯´Â ´ç½ÅÀÌ ¿îÀÌ ÁÁ¾Æ¼­ ½Ã½ºÅÛÀÌ ¾Ë¾ÆÃ¦ °ÍÀÓÀ» ÀǹÌÇÑ´Ù;½Ã½ºÅÛ Àº ¸Á¼³À̰í ÀÖÀ» »ÓÀÌ´Ù. 8.11 [ÆÄÀÏ ±³Âø],118ÂÊ ÂüÁ¶.

¸ÅÅ©·Î int ENOMEM

ÀÌ¿ëÇÒ ¸Þ¸ð¸®°¡ ¾øÀ½. ¸Þ¸ð¸® ¿ë·®À» ´Ù ½èÀ¸¹Ç·Î ½Ã½ºÅÛÀÌ ´õÀÌ»ó ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾ø´Ù.

¸ÅÅ©·Î int EACCES

Çã¿ëµÇÁö ¾ÊÀ½;ÆÄÀÏÀÌ ½ÃµµÇÏ·Á´Â ÀÛµ¿À» Çã¿ëÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int EFAULT

ÁÖ¼Ò ¿À·ù; À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅͰ¡ ¹ß°ßµÊ.

¸ÅÅ©·Î int ENOTBLK

¾î¶² »óȲ¿¡¼­ ÁÖ¾îÁø ÆÄÀÏ¿¡ Ưº°ÇÑ ºí·ÏÀÌ ¾ø´Â °æ¿ì. ¿¹¸¦ µé¸é, º¸ÅëÀÇ ÆÄÀÏÀ» À¯´Ð½º ÆÄÀÏ ½Ã½º ÅÛ¿¡ ¸¶¿îÆ®ÇÏ·Á Çϸé ÀÌ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

¸ÅÅ©·Î int EBUSY

½Ã½ºÅÛ ÀÚ¿ø »ç¿ëÁß; ºÐ¹èµÉ ¼ö ¾ø´Â ½Ã½ºÅÛ ÀÚ¿øÀÌ ÀÌ¹Ì »ç¿ëÁßÀÏ ¶§, ¿¹¸¦ µé¾î,´ç½ÅÀÌ ÇöÀç ¸¶ ¿îÆ®µÈ ÆÄÀϽýºÅÛÀÇ ·çÆ®¿¡¼­ ÇѰ³ÀÇ ÆÄÀÏÀ» Áö¿ì·Á ÇÒ ¶§¿¡, ÀÌ ¿¡·¯¸¦ ¸¸³­´Ù.

¸ÅÅ©·Î int EEXIST

ÆÄÀÏÀÌ Á¸Àç: »õ·Î¿î ÆÄÀÏ·Î ¸¸µé°Ú´Ù°í ÇÑ ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù.

¸ÅÅ©·Î int EXDEV

ÆÄÀϽýºÅÛÀÌ ÀÎÁöÇÒ¼ö ¾ø´Â ¿µ¿ª¿¡ ºÎÀû´çÇÑ ¸µÅ©¸¦ ¸¸µé·Á°í ½ÃµµÇÒ ¶§ ÀÌ ¿¡·¯¸Þ¼¼Áö°¡ ³ª¿Â ´Ù. À̰ÍÀº ´ç½ÅÀÌ ¸µÅ©¸¦ »ç¿ëÇÒ¶§¸¸ ¹ß»ýÇÏÁö¸¸ (9.3ÀýÀÇ [Hard Links] 127ÆäÀÌÁö¸¦ º¸¾Æ)¶Ç, renameÀ¸·Î ÆÄÀÏÀ» Àç¸í¸íÇÒ ¶§ ¹ß»ýÇϱ⵵ ÇÑ´Ù.(9.6ÀýÀÇ [Renaming Files]ÆäÀÌÁö 129¸¦ º¸¶ó)

¸ÅÅ©·Î int ENODEV

µð¹ÙÀ̽ºÀÇ Æ¯º°ÇÑ Á¤·ÄÀ» ÇÏ´Â ÇÔ¼ö¿¡ ÁÖ¾îÁø µð¹ÙÀ̽º°¡ À߸øµÈ ŸÀÔÀÌ´Ù.

¸ÅÅ©·Î int ENOTDIR

ÇÊ¿äÇÏ´Ù°í ¿äûµÈ µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾ÊÀ» ¶§ ¹ß»ý.

¸ÅÅ©·Î int EISDIR

ÆÄÀÏÀÌ ÇϳªÀÇ µð·ºÅ丮 ÀÌ´Ù; ¾²±â(writing)À§ÇØ ÀÌ µð·ºÅ丮¸¦ ¿­·Á°í ½ÃµµÇÒ ¶§ ÀÌ ¿¡·¯´Â ¹ß»ý ÇÑ´Ù.

¸ÅÅ©·Î int EINVAL

ÀûÇÕÇÏÁö ¾ÊÀº Àμö. À̰ÍÀº ¶óÀ̺귯¸® ÇÔ¼ö¿¡ À߸øµÈ Àμö¸¦ Áִ°Ͱú °°Àº Á¾·ùÀÇ ´Ù¾çÇÑ ¹®Á¦ ¸¦ ÁöÀûÇϴµ¥ »ç¿ëÇÑ´Ù.

¸ÅÅ©·Î int ENFILE

Áö±Ý ÇöÀç ÇÁ·Î¼¼½º¿¡ ³Ê¹« ¸¹Àº ÆÄÀÏÀÌ ¿ÀǵǾ ´õ ÀÌ»ó ¿ÀÇÂÇÒ¼ö ¾ø´Ù. º¹Á¦µÈ ±â¼úÀÚ°¡ ÀÌ Á¦ÇÑ¿¡ ´ëÇÏ¿© ¼ÀÇÑ´Ù.

¸ÅÅ©·Î int ENFILE

Àüü ½Ã½ºÅÛ¿¡ ¿­·ÁÁ®ÀÖ´Â ³Ê¹« ¸¹Àº °³º°ÆÄÀϵéÀÌ ÀÖ´Ù. ¿¬°áµÇ ä³ÎÀÇ ¾î¶² °ÍÀÌ¶óµµ ÆÄÀÏ ÇÏ ³ª¸¦ ¿©´Â°Í°ú °°ÀÌ ¼¾´Ù.; 8.5.1ÀýÀÇ [¿¬°áµÈ ü³Î]À» ÂüÁ¶Ç϶ó. ÀÌ ¿¡·¯´Â °áÄÚ GNU ½Ã½ºÅÛ¿¡¼­´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int ENOTTY

ÇϳªÀÇ º¸Åë ÆÄÀÏ¿¡¼­ Å͹̳¯ ¸ðµå¸¦ Á¤ÇÏ·Á ½ÃµµÇϴ°Ͱú °°Àº ºÎÀûÇÕÇÑ ÀÔÃâ·Â Á¦¾î ¿ÀÆÛ·¹ÀÌ¼Ç ¿¡ ¹ß»ý.

¸ÅÅ©·Î int ETXTBSY

ÇöÀç »ç¿ëµÇ°í ÀÖ´Â ÆÄÀÏÀ» ´Ù½Ã Àаųª ¾²±âÀ§ÇØ ¿ÀÇÂÇÏ·Á ½ÃµµÇÒ ¶§ ¹ß»ý ("text fiel busy" ¶ó°í ÇÑ´Ù.) À̰ÍÀº GNU½Ã½ºÅÛ¿¡¼­´Â ¿¡·¯°¡ ¾Æ´Ï´Ù; ÅØ½ºÆ®´Â ÇÊ¿äÇϸé Ä«ÇǵȴÙ.

¸ÅÅ©·Î int EFBIG

ÆÄÀÏÀÌ ³Ê¹« Å©´Ù; ÆÄÀÏÀÇ Å©±â°¡ ½Ã½ºÅÛÀÌ Çã¿ëÇÏ´Â °Í º¸´Ù ´õ Å©´Ù.

¸ÅÅ©·Î int ENOSPC

µð¹ÙÀ̽º¿¡ °ø°£ÀÌ ³²°ÜÁöÁö ¾Ê¾Ò´Ù.; ÆÄÀÏ¿¡ ¾²±â ¸í·ÉÀ» ÁáÀ» ¶§ µð½ºÅ©°¡ °¡µæÂ÷¼­ °ø°£ÀÌ ³²¾Æ ÀÖÁö ¾ÊÀ¸¸é ½ÇÆÐÇÑ´Ù.

¸ÅÅ©·Î int EXPIPE

ÀûÇÕÇÏÁö ¾ÊÀº Ž»ö ¸í·É.( pipe¿¡¼­ ó·³ )

¸ÅÅ©·Î int EROFS

Àбâ Àü¿ëÀ¸·Î µÈ ¾î¶² ÆÄÀϽýºÅÛ¿¡ ¹«¾ð°¡¸¦ ¼öÁ¤ÇÏ·Á°í ½ÃµµÇÒ ¶§

¸ÅÅ©·Î int ENLINK

³Ê¹« ¸¹ÀÌ ¿¬°á.; ÇϳªÀÇ ´ÜÀÏÇÑ ÆÄÀÏÀÇ ¸µÅ© ¼ö°¡ ³Ê¹« ±æ´Ù. ¸®³×ÀÓÀº ÀÌ¹Ì ÇÒ¼ö Àִ°ͺ¸´Ù ¸¹Àº ¸µÅ©¸¦ °¡Áø ÇÑ ÆÄÀÏÀ» ¸®³×ÀÓÇϸé ÀÌ ¿¡·¯ÀÇ ¿øÀÎÀÌ µÈ´Ù. ( 9.6ÀýÀÇ [ÆÄÀÏ Àç¸í¸í]ÆäÀÌÁö 129 ÂüÁ¶)

¸ÅÅ©·Î int EPIPE

ºÎ·¯Áø ÆÄÀÌÇÁ; ´Ù¸¥ ÆÄÀÌÇÁÀÇ ³¡¿¡¼­ ÇÁ·Î¼¼½º¸¦ Àд °ÍÀº ºÒ°¡´É ÇÏ´Ù. ¸ðµç ¶óÀ̺귯¸® ÇÔ¼ö ´Â SIGPIPE·Î ÀϹÝÈ­µÈ ¿¡·¯Äڵ带 ¸®ÅÏÇÑ´Ù. ÀÌ ½ÅÈ£´Â ¸¸¾à 󸮵ÇÁö ¾Ê°Å³ª ¸·¾ÆÁöÁö ¾ÊÀ¸¸é ±× ÇÁ·Î±×·¥À» ¸ØÃß°Ô ÇÑ´Ù. ±×·¯¹Ç·Î ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ Ã³¸®µÇ°Å³ª ºí·ÏµÈ SIGPIPE¸¦ °®Áö ¾ÊÀ¸¸é Ç×»ó EPIPE°¡ º¸ÀÏ °ÍÀÌ´Ù.

¸ÅÅ©·Î int EDOM

µµ¸ÞÀÎ ¿¡·¯; ÀμöÀÇ °ªÀÌ Á¤ÀÇµÈ ÇÔ¼ö¸¦ Áö³ª µµ¸ÞÀο¡°Ô Àü´ÞµÇÁö ¾Ê¾ÒÀ» ¶§ ¼öÇÐÀû ÇÔ¼ö¿¡ ÀÇÇØ »ç¿ëµÈ´Ù.

¸ÅÅ©·Î int ERANGE

¹üÀ§ ¿¡·¯; °á°ú °ªÀÌ ¿À¹öÇ÷ο쳪 ¾ð´õÇ÷οì·Î ÀÎÇØ Ç¥ÇöµÇÁö ¾ÊÀ» ¶§ ¼öÇÐÀû ÇÔ¼ö¿¡ ÀÇÇØ »ç ¿ëµÈ´Ù.

¸ÅÅ©·Î int EAGAIN

ÀÚ¿øÀ» ÀϽÃÀûÀ¸·Î »ç¿ëÇÒ¼ö ¾ø´Ù.; ±× È£ÃâÀº ³ªÁß¿¡ ´ç½ÅÀÌ ´Ù½Ã Àç½Ãµµ ÇÒ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¿À Á÷ ºÐ±âÁ¡¿¡¼­ ÀÌ·¯ÇÑ ÀÌÀ¯·Î EAGAIN¿¡·¯ Äڵ带 ¸®ÅÏÇÑ´Ù.

¸ÅÅ©·Î int EWOULDBLOCK

ºñºí·°È­ ¸ðµå·Î Á¤ÇØÁø ¾î¶² ´ë»ó¿¡ ºí·ÏÀ» ½ÃµµÇÏ·Á ÇÏ´Â ¿ÀÆÛ·¹À̼ǿ¡ ´ëÇØ ¹ß»ý.

À̽ļº : 4.4BSD¿Í GNU¿¡¼­ EWOULDBLOCK ¿Í EAGAINÀº °°´Ù. BSDÃʱ⠹öÀü¿¡¼­´Â À̰ÍÀÌ µÎ °³ÀÇ µ¶¸³Àû ÄÚµå ·Î¼­ EWOULDBLOCK´Â ºñºí·ÏÈ­ ¸ðµå·Î Á¤ÇØÁø ´ë»ó¿¡ ºí·ÏÀ» ½ÃµµÇÏ´Â ÀÔÃâ·Â ¿ÀÆÛ·¹ÀÌ ¼ÇÀ» ÁöÀûÇϴµ¥ »ç¿ëÇϰí EAGAINÀº ¿¡·¯ÀÇ ´Ù¸¥Á¾·ù¿¡ »ç¿ëÇß´Ù

¸ÅÅ©·Î int EINPROGRESS

ºñºí·ÏÈ­ ¸ðµå·Î ¼±ÅÃµÈ ´ë»ó¿¡ ÀÏÀ¸Å² ¿ÏÀüÇÏÁö ¾ÊÀº ¿ÀÆÛ·¹À̼ǿ¡ ´ëÇØ ¹ß»ý. ¾î¶² ÇÔ¼öµéÀº Ç× »ó, ºí·ÏÀ»( connectó·³ ; 11.8.1ÀýÀÇ [¿¬°á]À» ÂüÁ¶) °áÄÚ ¸®ÅÏÇÏÁö ¾Ê¾Æ¾ßÇÑ´Ù.

EWOULDBLOCK ´ë½Å¿¡ ±×µéÀº ¾î¶² ½Ã°£À» ÃëÇϰí( Áï ÀÏÁ¤ ½Ã°£ÀÌ Áö³­ÈÄ) ½ÃÀ۵Ǵ ¿ÀÆÛ·¹ÀÌ ¼ÇÀ» ÁöÀûÇϱâ À§ÇØ EINPROGRESS¸¦ ¸®ÅÏÇÑ´Ù. ±× È£Ãâ¿¡ EALREADY°¡ ¸®ÅÏµÇ¾î ¿ÏÀüÇϱâ Àü¿¡ ±× ´ë»óÀ» ´Ù·ç·Á ½ÃµµÇÒ ¶§.

¸ÅÅ©·Î int EALREADY

ÇÑ ¿ÀÆÛ·¹À̼ÇÀÌ ºñºí·°È­ ¸ðµåÀÇ ¼±ÅÃÀ» °¡Áø ´ë»ó¿¡ ÀÌ¹Ì ÁøÇàÁßÀÌ´Ù.

¸ÅÅ©·Î int EALREADY

¼ÒÄÏÀ» ¿äûÇßÀ» ¶§ ÁöÁ¤µÈ ¼ÒÄÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int EDESTADDRREQ

¸ñÀû ÁÖ¼Ò°¡ ±×°ÍÀÌ ÇÊ¿äÇÑ ¼ÒÄÏ ¿ÀÆÛ·¹À̼ǿ¡ °ø±ÞµÉ¼ö ¾ø´Ù.

¸ÅÅ©·Î int EMSGSIZE

¼ÒÄÏ¿¡ º¸³½ ¸Þ½ÃÁöÀÇ Å©±â°¡ Áö¿øµÇ´Â ÃÖ´ë Å©±âº¸´Ù Å©´Ù.

¸ÅÅ©·Î int EPROTOTYPE

±× ¼ÒÄÏ Å¸ÀÔÀÌ ¿äûµÈ Åë½Å ÇÁ·ÎÅäÄÝ¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int ENOPROTOOPT

´ç½ÅÀº ¼ÒÄÏ¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁö°í Àִ Ưº°ÇÑ ÇÁ·ÎÅäÄÝ¿¡¼­ ÀÌÇØÇÒ¼ö ¾ø´Â ¼ÒÄϿɼÇÀ» ÁöÁ¤ÇÏ¿´´Ù. ( 11.11ÀýÀÇ [Socket Options]¸¦ ÂüÁ¶)

¸ÅÅ©·Î int EPROTONOSUPPORT

±× ¼ÒÄÏ µµ¸ÞÀÎÀº ¿äûÇÑ Åë½Å ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ( ¾Æ¸¶µµ ¿äûµÈ ÇÁ·ÎÅäÄÝÀÌ ¿ÏÀüÈ÷ ºÎ ÀûÇÕÇÏ´Ù.) 11.7.1ÀýÀÇ [Creating a Socket]¸¦ º¸¶ó.

¸ÅÅ©·Î int ESOCKTNOSUPPORT

±× ¼ÒÄÏŸÀÔÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int EOPNOTSUPP

´ç½ÅÀÌ ¿äûÇÑ ±× ¿ÀÆÛ·¹À̼ÇÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ¾î¶² ¼ÒÄÏÇÔ¼ö´Â ¼ÒÄÏÀÇ ¸ðµç ŸÀԵ鿡¼­ ÀÌÇØÇÒ ¼ö ¾ø°í ´Ù¸¥°ÍµéÀº ¸ðµç Åë½Å ÇÁ·ÎÅäÄÝÀ» ÃæÁ·½ÃŰÁö ¸øÇÒ °ÍÀÌ´Ù.

¸ÅÅ©·Î int EPFNOSUPPORT

´ç½ÅÀÌ ¿äûÇÑ ¼ÒÄÏÅë½Å ÇÁ·ÎÅäÄÝ ºÎ·ùµéÀº Áö¿øÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int EAFNOSUPPORT

¼ÒÄÏÀ» À§ÇÏ¿© ÁöÁ¤µÈ ÁÖ¼ÒÀÇ ºÎ·ùµéÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù; ±× ÁÖ¼Ò°¡ ¼ÒÄÏ¿¡¼­ »ç¿ëµÇ´Â ÇÁ·ÎÅäÄݰú ÀÏÄ¡ÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. 11Àå[Sockets]ÀÇ 149ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó.

¸ÅÅ©·Î int EADDRINUSE

¿äûµÈ ¼ÒÄÏÁÖ¼Ò°¡ ÀÌ¹Ì »ç¿ëÁßÀÌ´Ù. 11.3Àý [Socket Addresses] 150ÆäÀÌÁö¸¦ º¸¶ó.

¸ÅÅ©·Î int EADDRNOTAVAIL

¿äûµÈ ¼ÒÄÏÁÖ¼Ò°¡ À¯¿ëÇÏÁö ¾Ê´Ù.; ¿¹¸¦ µé¾î ´ç½ÅÀÌ ¼ÒÄÏÀ̸§À¸·Î ÁÖ·Á°í ½ÃµµÇÑ °ÍÀÌ ·ÎÄà ȣ½º Æ® À̸§°ú ¸ÂÁö ¾Ê´Ù. 11.3Àý[Socket Address]¸¦ º¸¶ó.

¸ÅÅ©·Î int ENETDOWN

¼ÒÄÏ ¿ÀÆÛ·¹À̼ÇÀÌ ³×Å©¿÷ ´Ù¿îÀÌ ÀÌÀ¯°¡ µÇ¾î ½ÇÆÐÇß´Ù.

¸ÅÅ©·Î int ENETUNREACH

¼ÒÄÏ ¿ÀÆÛ·¹À̼ÇÀÌ È£½ºÆ®°¡ Æ÷ÇÔÇϰí ÀÖ´Â subnet¿¡ µµ´ÞÇÒ¼ö ¾ø¾î¼­ ½ÇÆÐÇß´Ù.

¸ÅÅ©·Î int ENETRESET

¿ø°Ý È£½ºÆ®°¡ ÆÄ±«µÇ¾ú±â ¶§¹®¿¡ ³×Æ®¿÷ ¿¬°áÀ» ´Ù½Ã ÁöÁ¤ÇÑ´Ù.

¸ÅÅ©·Î int ECONNABORTED

³×Æ®¿÷ ¿¬°áÀÌ ½ÇÆÐÇÏ¿´´Ù. ³×Æ®¿÷ ¿¬°áÀÌ ´ÜÀýµÇ¾ú´Âµ¥ ±× ÀÌÀ¯´Â ¿ø°Ý ½Ã½ºÅÛÀÌ ÀçºÎÆÃÇϰųª ¾Æ ´Ï¸é º¹±¸ÇÒ¼ö ¾ø´Â ÇÁ·ÎÅäÄÝ À§¹ÝÀÎ °æ¿ìó·³ ·ÎÄà ȣ½ºÆ®ÀÇ Á¦¾î¸¦ ¹þ¾î³­ °ÍÀÌ ÀÌÀ¯ÀÌ´Ù.

¸ÅÅ©·Î int ENOBUFS

ÀÔÃâ·Â ¿ÀÆÛ·¹À̼ÇÀ» À§ÇÑ Ä¿³ÎÀÇ ¹öÆÛµéÀÌ ¸ðµÎ »ç¿ëÁßÀÌ´Ù.

¸ÅÅ©·Î int EISCONN

´ç½ÅÀº ÀÌ¹Ì ¿¬°áµÈ ¼ÒÄÏÀ» ´Ù½Ã ¿¬°áÇÏ·Á ½ÃµµÇϰí ÀÖ´Ù. 11.8.1Àý[Connectings]¸¦ º¸¶ó.

¸ÅÅ©·Î int ENOTCONN

±× ¼ÒÄÏÀº ¾î´À°Í°úµµ ¿¬°áÇÒ¼ö ¾ø´Ù. ´ç½ÅÀÌ Ã¹Â°·Î µ¥ÀÌÅÍÀÇ ¸ñÀûÁö¸¦ Á¤ÇÏÁö ¾Ê°í ÇÑ ¼ÒÄÏÀ» ÅëÇØ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ·Á ÇÒ ¶§ ÀÌ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

¸ÅÅ©·Î int ESHUTDOWN

±× ¼ÒÄÏÀº ÀÌ¹Ì Æó¼èµÇ¾ú´Ù.

¸ÅÅ©·Î int ETIMEDOUT

Á¤ÇØÁø ŸÀӾƿôÀ»(timeout) °®Àº ¼ÒÄÏ ¿ÀÆÛ·¹À̼ÇÀÌ Á¤ÇØÁø ½Ã°£ µ¿¾È ÀÀ´äÀ» ¹ÞÁö ¸øÇß´Ù.

¸ÅÅ©·Î int ECONNREFUSED

¿ø°Ý È£½ºÆ®°¡ ³×Æ®¿÷ ¿¬°á¿¡ ´ëÇÑ Çã¿ëÀ» °ÅÀýÇÏ¿´´Ù. (Ưº°È÷ ¿äûµÈ ¼­ºñ½º°¡ ½ÇÇàµÇÁö ¾Ê±â ¶§ ¹®¿¡)

¸ÅÅ©·Î int ELOOP

ÆÄÀÏÀ̸§À» Ž»öÇÏ·Á´Âµ¥ ³Ê¹« ¸¹Àº ¼öÁØÀÇ ±âÈ£¿¬°á(sysbolic links)ÀÌ ÀÖ´Ù. À̰ÍÀº Á¾Á¾ ±âÈ£¿¬°á ÀÇ ÇÑ Áֱ⸦ °¡¸®Å²´Ù.

Âü°í·Î sysbolic links´Â µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¥°ú ½ºÇÁ·¹µå ½ÃÆ® µî°ú °°Àº ÇÁ·Î±×·¥µé »çÀÌ¿¡¼­ »óÈ£ °£ÀÇ ¿øÈ°ÇÑ µ¥ÀÌÅÍ ±³È¯À» À§ÇØ »ç¿ëµÇ´Â µ¥ÀÌÅÍ ÆÄÀÏÀÇ Çü½ÄÀÌ·¡¿ä.

¸ÅÅ©·Î int ENANETOOLONG

ÆÄÀÏ À̸§ÀÌ ³Ê¹« ±æ°Å³ª( PATH_MAXº¸´Ù ´õ; 27.6Àý [Limits for Files] 374 ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó) È£½ºÆ® À̸§ÀÌ ³Ê¹« ±æ´Ù.( gethostname À̳ª sethostname¿¡ ÀÖ´Â; 26.1Àý [Host Identification] 367 ÆäÀÌÁö¸¦ ÂüÁ¶)

¸ÅÅ©·Î int EHOSTDOWN

¿äûµÈ ³×Æ®¿÷ ¿¬°áÀ» À§ÇÑ ¿ø°Ý È£½ºÆ®°¡ ´Ù¿îÀÌ´Ù.

¸ÅÅ©·Î int EHOSTUNREACH

¿äûµÈ ³×Æ®¿÷ ¿¬°áÀ» À§ÇÑ ¿ø°Ý È£½ºÆ®¿¡ µµ´ÞÇÒ¼ö ¾ø´Ù.

¸ÅÅ©·Î int ENOTEMPTY

ºó µð·ºÅ丮¶ó°í ¿¹»óÇß´ø °÷ÀÌ ºñ¾îÀÖÁö ¾Ê´Ù. Ưº°È÷ ÀÌ ¿¡·¯´Â ´ç½ÅÀÌ µð·ºÅ丮¸¦ Áö¿ì·Á ½Ãµµ ÇÒ ¶§ ¹ß»ýÇÑ´Ù.

¸ÅÅ©·Î int EUSERS

ÆÄÀÏÇÒ´ç ½Ã½ºÅÛÀÌ ³Ê¹« ¸¹Àº À¯Àú·Î ÀÎÇØ È¥¶õÇÏ´Ù.

¸ÅÅ©·Î int EDQUOT

»ç¿ëÀÚÀÇ µð½ºÅ© ÇÒ´çÀÌ ÃʰúµÇ¾ú´Ù.

¸ÅÅ©·Î int ESTALE

¸ÀÀ̰£ NFS ÆÄÀÏ ÇÚµé. À̰ÍÀº ÆÄÀÏ ½Ã½ºÅÛÀÌ ¼­¹ö È£½ºÆ® »ó¿¡¼­ ÀçÁ¤¿­ÇѰͿ¡ ±âÀÎÇÑ °ÍÀ¸·Î NFS ½Ã½ºÅÛ¾ÈÀÇ ³»ºÎÀû È¥¶õÀ» ÁöÀûÇÑ´Ù.

¸ÅÅ©·Î int ERENOTE

ÀÌ¹Ì NFS ¸¶¿îÆ® ÆÄÀÏ·Î ÁöÁ¤µÈ ÇÑ ÆÄÀÏÀ» ÇÑ ¿ø°Ý ÆÄÀÏ ½Ã½ºÅÛÀÌ NFS ¸¶¿îÆ®·Î ¸¸µé·Á ½ÃµµÇÒ ¶§ ¹ß»ý. (À̰ÍÀº ¿î¿µÃ¼Á¦»óÀÇ ¿¡·¯ÀÌÁö¸¸ ¿ì¸®´Â ÀÌ ¿¡·¯¸¦ ºÒ°¡´ÉÇÑ ÄÚµå·Î ¸¸µé°í GNU½Ã½ºÅÛ»ó

¿¡¼­ ÀÛ¾÷Çϱ⸦ ±â´ëÇÏ´Â °ÍÀÌ´Ù.)

¸ÅÅ©·Î int ENOLCK

À¯¿ëÇÑ ¶ôÀÌ ¾Æ´Ï´Ù. À̰ÍÀº ÆÄÀÏ ¶ôÅ· ÇÔ¼öµé¿¡ ÀÇÇØ »ç¿ëµÈ´Ù. 8.11Àý [File Locks] 118ÆäÀÌÁö¸¦ º¸¶ó. ÀÌ ¿¡·¯´Â GNU ½Ã½ºÅÛ¿¡¼­´Â °áÄÚ ¹ß»ýÇÏÁö ¾Ê´Â´Ù.

¸ÅÅ©·Î int ENOSYS

ÇÔ¼ö°¡ ÀÌÇàµÇÁö ¾Ê¾Ò´Ù. ¾î¶² ÇÔ¼öµéÀº Á¤ÀÇµÈ ¿É¼ÇÀ̳ª ¸í·ÉµéÀÌ ¾î¶²°Í¿¡¼­µµ Áö¿øµÇÁö ¾Ê´Â °ÍÀÌ ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ ¿äûÇÑ ÇÔ¼ö¿¡¼­ ÀÌ·± ¿¡·¯¸¦ ¾ò´Â´Ù¸é ±×°ÍµéÀº Áö¿øµÇÁö ¾Ê´Â °ÍÀÌ´Ù.

¸ÅÅ©·Î int EBACKGROUND

GNU ½Ã½ºÅÛ¿¡¼­ ¾î¶² ¿ÀÆÛ·¹À̼ÇÀÇ È£ÃâÀÚ°¡ Å͹̳¯ÀÇ Àü¸éó¸® ±×·ì¿¡ ¾øÀ» ¶§ ¼­¹öÁö¿ø ÇÁ·ÎÅä ÄÝ¿¡ ÀÌ ¿¡·¯°¡ ¸®ÅϵȴÙ. »ç¿ëÀÚµéÀº º¸Åë ÀÌ ¿¡·¯¸¦ º¸Áö ¸øÇϴµ¥ ¿Ö³ÄÇϸé ÇÔ¼öµéÀº SIGTTIN

À̳ª SIGTTOU½ÅÈ£·Î ÇØ¼®ÇÏ¿© ÀÐ°í ¾²±â ¶§¹®ÀÌ´Ù. 24Àå[Job Control] 335ÆäÀÌÁö¸¦ ÇÁ·Î¼¼½º ±× ·ì°ú À̵éÀº ½ÅÈ£ÀÇ Á¤º¸¸¦ À§ÇØ º¸¶ó.

¸ÅÅ©·Î int ED

°æÇèÀÖ´Â »ç¿ëÀÚ´Â ¹«¾ùÀÌ À߸øÀÎÁö ¾Ë °ÍÀÌ´Ù.

¸ÅÅ©·Î int EGREGIOUS

´ç½ÅÀÌ ¹«¾ùÀ» ÇßÁö?

¸ÅÅ©·Î int EIEIO

Áý¿¡°¡¼­ µû¶æÇϰí, ½Å¼±ÇÑ ÇÑÀÜÀÇ ¿ìÀ¯¸¦ ¸¶¼Å¶ó

¸ÅÅ©·Î int EGRATUITOUS

ÀÌ ¿¡·¯ ÄÚµå´Â ¸ñÀûÀÌ ¾ø´Ù.

2.3.¿¡·¯ ¸Þ¼¼Áö

¶óÀ̺귯¸®¿¡´Â ´ç½ÅÀÇ ÇÁ·Î±×·¥ÀÌ ¶óÀ̺귯¸®¸¦ È£ÃâÇÏ´Ù°¡ ½ÇÆÐÇÒ ¶§¿¡ ÈçÈ÷ ÀϾ´Â ¿¡·¯¸¦ ¸Þ¼¼Áö·Î º¸³¾ ¼ö ÀÖµµ·ÏÇÏ´Â ÇÔ¼ö¿Í º¯¼öµéÀÌ ÀÖ´Ù. ÇÔ¼ö strerror°ú perrorÀº ƯÁ¤ÇÑ ¿¡·¯ÄÚµå·Î Á¤ÇüÈ­µÈ ¿¡·¯¸Þ¼¼Áö¸¦ º¸³½´Ù; º¯¼ö program_invocation_short_nameÀº ¿¡·¯°¡ ³­ ÇÁ·Î±×·¥ÀÇ ¸í ĪÀ» ½±°Ô ãµµ·Ï ÇØÁØ´Ù.

ÇÔ¼ö char * strerror (int errnum)

strerror ÇÔ¼ö´Â Àμö errnumÀ» ¹Þ¾Æ¼­ ¿¡·¯ÄÚµå(2.1 [¿¡·¯ üũ] ÂüÁ¶)¸¦ ¹®ÀÚ¿­À» ±â¼úÇÑ ¿¡·¯¸Þ¼¼ Áö·Î ±×·Á³½´Ù. ¸®ÅϰªÀº ÀÌ ¹®ÀÚ¿­ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. Àμö errnumÀÇ °ªÀº º¸Åë º¯¼ö errno¿¡¼­ Àü´ÞµÈ ´Ù.

´ç½ÅÀº ÇÔ¼ö strerrorÀÌ ¹ÝȯÇÑ ¹®ÀÚ¿­À» º¯Çü½ÃÄѼ­´Â ¾ÈµÈ´Ù. ¶ÇÇÑ,¸¸¾à ´ç½ÅÀÌ strerrorÀ» °è¼Ó È£ ÃâÇÏ°Ô µÇ¸é,±× ¹®ÀÚ¿­Àº µ¡¾º¿öÁú °ÍÀÌ´Ù. (±×·¯³ª ¾î¶°ÇÑ ¶óÀ̺귯¸® ÇÔ¼öµµ ´ç½ÅÀÌ ¾ËÁö ¸øÇÏ°Ô strerrorÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾ÊÀ½Àº ¹Ï¾îµµ ÁÁ´Ù.)

ÇÔ¼ö strerrorÀº Çì´õÆÄÀÏ 'string.h'¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù.

ÇÔ¼ö void perror (const char *message)

ÀÌ ÇÔ¼ö´Â ¿¡·¯¸Þ¼¼Áö¸¦ ¹®ÀÚ¿­ stderr¿¡ ±â·ÏÇÑ´Ù; 7.2 [Ç¥ÁØ ¹®ÀÚ¿­], 63Á· ÂüÁ¶. ¸¸¾à¿¡ ³Î(null) Æ÷ ÀÎÅͶóµçÁö °ø¹é ¹®ÀÚ¿­ÀÎ message¸¦ ½á¼­ perror¸¦ È£ÃâÇÏ°Ô µÇ¸é, perror´Â errno¿¡ ÇØ´çÇÏ´Â ¿¡ ·¯¸Þ¼¼Áö¸¦ ±â·ÏÇϰí,µÚ¿¡ »õ·Î¿î ÇàÀ» Ãß°¡ÇÑ´Ù. ±×·¸Áö¾Ê°í ³Î(null)ÀÌ ¾Æ´Ñ Àμö message¸¦ ¾²°Ô µÇ¸é,perror´Â ¿¡·¯¸Þ¼¼Áö ¾Õ¿¡ ÇØ´ç ¹®ÀÚ¿­À» °®´ÙµÐ´Ù. °Å±â¿¡´Â errno¿¡ ÇØ´çÇÏ´Â ¿¡·¯¹®ÀÚ¿­·ÎºÎ ÅÍ ¸Þ¼¼Áö¸¦ ºÐ¸®Çϱâ À§Çؼ­ ÄÝ·Ð(:)°ú °ø¹é¹®ÀÚ¸¦ Ãß°¡ÇÑ´Ù. ÇÔ¼ö perror´Â 'stdio.h'¿¡ ¼±¾ðµÇ¾î ÀÖ ´Ù.

strerror¿Í perror´Â ¾î¶² ¿¡·¯Äڵ尡 ÁÖ¾îÁöµçÁö °£¿¡ °°Àº ¸Þ¼¼Áö¸¦ ¸¸µé¾î³½´Ù; ±ÔÁ¤µÈ ÅØ½ºÆ® ´Â ½Ã½ºÅÛ¿¡ µû¶ó º¯ÇÑ´Ù. GNU üÁ¦¿¡¼­´Â ¸Þ¼¼Áö°¡ ¾ÆÁÖ Âª´Ù; µÎÁÙÀÌ»óÀÇ ¸Þ¼¼Áö³ª »ðÀÔµÈ ÁÙÀº ¾Æ¿¹ ¾ø´Ù.°¢ ¿¡·¯¸Þ¼¼Áö´Â ´ë¹®ÀÚ·Î ½ÃÀÛÇÏ¸ç ±¸µÎÁ¡Àº ¾²Áö ¾Ê´Â´Ù.

ȣȯ¼º ³ë¿ìÆ® : ÇÔ¼ö strerror´Â ANSI CÀÇ »õ·Î¿î Ư¼ºÀÌ´Ù. °ú°ÅÀÇ ¸¹Àº C¾ð¾î üÁ¦¿¡¼­´Â ÀÌ ÇÔ ¼ö°¡ Á¦°øµÇÁö ¾Ê¾Ò´Ù. Å͹̳ηκÎÅÍ ÀÔ·ÂÀ» ÀоîµéÀÌÁö ¾Ê´Â ¸¹Àº ÇÁ·Î±×·¥µéÀº ¾î¶² ½Ã½ºÅÛ È£ ÃâÀÌ ½ÇÆÐÇÏ°Ô µÇ¸é Á¾·áµÇµµ·Ï ¸¸µé¾îÁ® ÀÖ´Ù. ÀüÅëÀûÀ¸·Î, ±×¿Í°°Àº ÇÁ·Î±×·¥À¸·ÎºÎÅÍ ³ª¿À´Â ¿¡·¯¸Þ¼¼Áö´Â µð·ºÅ丮´Â ±â¼úÇÏÁö ¾Ê°í ±× ÇÁ·Î±×·¥ÀÇ ¸íΏ¸À¸·Î ½ÃÀÛÇÑ´Ù. ´ç½ÅÀº ±× ¸íĪÀ» º¯¼ö program_invocation_short_name¿¡¼­ ã¾Æº¼ ¼ö ÀÖ´Ù; ¿ÏÀüÇÑ ÆÄÀÏ ¸íĪÀº º¯¼ö program_invocation_name¿¡ ÀúÀåµÈ´Ù:

º¯¼ö char *program_invocation_name;

ÀÌ º¯¼öÀÇ °ªÀº ÇöÀç ÁøÇàÁßÀÎ ÇÁ·Î±×·¥ ½ÇÇàÀ» ½ÃÀÛÇϴµ¥ »ç¿ëµÇ´Â ¸íĪÀÌ´Ù. ±×°ÍÀº argv[0]¿Í µ¿ÀÏÇÏ´Ù. À̰ÍÀÌ ¹Ýµå½Ã À¯È¿ÇÑ ÆÄÀϸíĪÀ» ÇÊ¿ä·Î ÇÏ´Â °ÍÀÌ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó; ÈçÈ÷ À¯È¿ÇÑ ÆÄÀÏ ¸íĪÀº µð·ºÅ丮 ¸íĪÀ» ´ã°íÀÖÁö ¾Ê´Ù. 22.1 [ÇÁ·Î±×·¥ Àμö], 311ÂÊ ÂüÁ¶.

º¯¼ö char * program__invocation__short__name

ÀÌ º¯¼öÀÇ °ªÀº ÇöÀç ó¸®ÁßÀÎ ÇÁ·Î±×·¥À» ºÎ¸£´Â µ¥ »ç¿ëµÇ´Â ¸íĪÀ¸·Î¼­ µð·ºÅ丮 ¸íĪÀÌ Á¦°Å µÈ °ÍÀÌ´Ù.(¸»ÇÏÀÚ¸é,À̰ÍÀº program_invocation_name¿¡¼­ ¸¶Áö¸· ½½·¡½¬±îÁö¸¦ »©¹ö¸° °Í°ú µ¿ÀÏ ÇÏ´Ù.)

¶óÀ̺귯¸® ÃʱâÈ­ ÄÚµå´Â ¸ÞÀÎÀ» È£ÃâÇϱâ Àü¿¡ ÀÌ µÎ °³ÀÇ º¯¼ö¸¦ ±¸Ãà(ϰõé)ÇÑ´Ù.

¿î¿ë ³ë¿ìÆ® : ÀÌ µÎ°³ÀÇ º¯¼ö´Â GNUÀÇ È®ÀåÀÌ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ GNU ÀÌ¿ÜÀÇ ¶óÀ̺귯¸®¸¦ ¾²°í ½ÍÀ¸ ¸é,¸ÞÀÎ ÇÔ¼ö¿¡¼­ argv[0]ÀÇ °ªÀ» ÀúÀåÇÑ ´ÙÀ½¿¡ ´ç½ÅÀÌ ¼Õ¼ö µð·ºÅ丮ÀÇ ¸íĪÀ» Á¦°ÅÇÏ¸é µÈ´Ù. ¿ì¸®´Â ¸ÞÀÎ ÇÔ¼ö¿¡¼­ ¸í½ÃÀûÀΠǥÇöÀ» ÇÏÁö ¾Ê°í¼­ ±× ÀÚü¿¡¼­ ¿¡·¯ º¸°í¿ë ¼­ºê·çƾÀ» ´ã°í ÀÖ µµ·Ï Çϱâ À§ÇÏ¿© À̿Ͱ°Àº È®ÀåÀ» ÇÏ°Ô µÇ¾ú´ø °ÍÀÌ´Ù.

ÆÄÀÏÀ» Á¦´ë·Î ¿­Áö ¸øÇÏ°í ½ÇÆÐ¸¦ ÇÏ°Ô µÇ´Â ¿¹¸¦ µé¾î º¸±â·Î ÇÏÀÚ. ÇÔ¼ö open_sesameÀº Àбâ¸ð µå·Î ÁÖ¾îÁø ÆÄÀÏÀ» ¿­°í ¼º°øÇÏ¸é ¹®ÀÚ¿­À» ¹ÝȯÇÑ´Ù. ¶óÀ̺귯¸® ÇÔ¼ö fopenÀº ÆÄÀÏÀ» ¿­ ¼ö ¾øÀ» ¶§ ³Î(null) Æ÷ÀÎÅ͸¦ ¹ÝȯÇÑ´Ù.À̰°Àº »óȲ¿¡¼­,open_sesameÀº ÇÔ¼ö strerrorÀ» »ç¿ëÇÏ´Â ÀûÀýÇÑ ¿¡·¯ ¸Þ¼¼Áö¸¦ ¸¸µé¾î³»°í¼­ ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ¸¸¾à ¿ì¸®°¡ strerror¿¡ ¿¡·¯ Äڵ带 º¸³»±â Àü ¿¡ ´Ù¸¥ ¾î¶² ¶óÀ̺귯¸®¸¦ È£ÃâÇϰíÀÚ ÇÑ´Ù¸é,¿ì¸®´Â ±×°ÍÀ» Áö¿ª º¯¼ö¿¡ ÀúÀåÇÏ¿©¾ß¸¸ ÇÑ´Ù.¿Ö³Ä Çϸé, ±× ´Ù¸¥ ¾î¶² ¶óÀ̺귯¸® ÇÔ¼öµéÀÌ µ¿½Ã¿¡ errno¸¦ µ¡¾º¿ï °ÍÀ̱⠶§¹®ÀÌ´Ù.

/* À½,..¿¹Á¦¸¦ ¸¸³µ±º¿ä..ÈåÈå*/

#include <errno.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

/*Çì´õÆÄÀÏÀ» Æ÷ÇÔ½ÃŰ´Â °Ç ³ªµÎ ¾Ë°Ú±º*/

/*À¸À½..ÇÔ¼öÀÇ ÇüÅ·ΠFILEÀ» ¼±ÅÃÇÒ ¼öµµ ÀÖ¾ú±º*/

FILE * open_sesame (char *name)

/*¿ä°Ç Àμö·Î ¹®ÀÚÇü Æ÷ÀÎÅ͸¦*/

{

FILE *stream;

/*¿ìÀ×? ÀÌ°Ç ÆÄÀϸíĪÀÌ Æ÷ÀÎÅÍ·Î? ÈåÈåÈå..±³°ú¼­ÀûÀÎ ³»¿ë*/

errno = 0;

/*¿ä°Ç ¹º°¡ ÀÌ»óŸ? errno¸¦ int¶ó°í ¼±¾ðÇÏÁö ¾Ê¾ÆµÎ µÇ³²?*/

stream = fopen (name, "r");

/*ÆÄÀÏÀ» Àб⠸ðµå·Î ¿­±¸*/

if (stream == NULL)

/*ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é?*/

{

fprintf (stderr, "%s: Couldn't open file %s;

%s\n",program_invocation_short_name, name,

strerror (errno));

/*¾Æ¾Æ! fprintf ÇÔ¼ö´Â (1) ¹«¾ùÀ» (2)¾îµð¿¡¼­ Àо (3)¾îµò°¡¿¡ ¾²´Â °Í 3ºÎºÐÀ¸·Î ±¸¼ºµÇ³×¿ä! ÀÌ ¸öÀº ÀÌ·± °Ç ¿Ü¿ï ¼ö°¡ ¾ö¼­¿©==°Ç¸ÁÁõ==ÇÁ·Î±×·¥ Â¥´Ù°¡ ÇÊ¿äÇÏ¸é ±×¶§ º¸Áö¿ä*/

exit (EXIT_FAILURE);

/*³­ exit¿Í returnÀÇ Â÷À̵Π¸ô·¯,Èæ*/

}

else

/*ÆÄÀÏÀÌ Á¸ÀçÇϸé?*/

return stream;

}