errno(3) - wariua/manpages-ko GitHub Wiki

NAME

errno - λ§ˆμ§€λ§‰ 였λ₯˜μ˜ 번호

SYNOPSIS

#include <errno.h>

DESCRIPTION

<errno.h> 헀더 νŒŒμΌμ—μ„œ μ •μˆ˜ λ³€μˆ˜ errnoλ₯Ό μ •μ˜ν•œλ‹€. μ‹œμŠ€ν…œ 호좜과 일뢀 라이브러리 ν•¨μˆ˜μ—μ„œ 였λ₯˜ λ°œμƒ μ‹œ 무엇이 잘λͺ»λλŠ”μ§€ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ κ·Έ λ³€μˆ˜λ₯Ό μ„€μ •ν•œλ‹€.

errno

호좜의 λ°˜ν™˜ 값이 였λ₯˜λ₯Ό λ‚˜νƒ€λ‚Έ (즉 λŒ€λΆ€λΆ„ μ‹œμŠ€ν…œ ν˜ΈμΆœμ—μ„œ -1, λŒ€λΆ€λΆ„ 라이브러리 ν•¨μˆ˜μ—μ„œ -1 λ‚΄μ§€ NULL인) λ•Œμ—λ§Œ errno의 값이 μ˜λ―Έκ°€ μžˆλ‹€. 즉 μ„±κ³΅ν•˜λŠ” ν•¨μˆ˜μ—μ„œ errnoλ₯Ό λ°”κΎΈλŠ” 것이 ν—ˆμš©λœλ‹€. μ–΄λ–€ μ‹œμŠ€ν…œ ν˜ΈμΆœμ΄λ‚˜ 라이브러리 ν˜ΈμΆœμ—μ„œλ„ μ ˆλŒ€ errno 값을 0으둜 μ„€μ •ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.

μ–΄λ–€ μ‹œμŠ€ν…œ 호좜과 라이브러리 ν•¨μˆ˜(κ°€λ Ή getpriority(2))μ—μ„œλŠ” -1이 성곡 μ‹œμ˜ μœ νš¨ν•œ λ°˜ν™˜ 값이닀. 그런 κ²½μš°μ—λŠ” 호좜 전에 errnoλ₯Ό 0으둜 μ„€μ •ν•΄μ„œ 성곡 λ°˜ν™˜κ³Ό 였λ₯˜ λ°˜ν™˜μ„ ꡬ별할 수 μžˆλ‹€. 였λ₯˜κ°€ λ°œμƒν–ˆμ„ μˆ˜λ„ μžˆμŒμ„ λ‚˜νƒ€λ‚΄λŠ” μƒνƒœλ₯Ό ν˜ΈμΆœμ—μ„œ λ°˜ν™˜ν•˜λ©΄ errnoκ°€ 0 μ•„λ‹Œ 값인지 ν™•μΈν•˜λ©΄ λœλ‹€.

errnoλŠ” ISO Cμ—μ„œ int νƒ€μž…μ˜ λ³€κ²½ κ°€λŠ₯ν•œ lvalue라고 κ·œμ •λΌ 있으며 λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•΄μ„œλŠ” μ•ˆ λœλ‹€. 즉 errnoκ°€ 맀크둜일 μˆ˜λ„ μžˆλ‹€. errnoλŠ” μŠ€λ ˆλ“œ λ‘œμ»¬μ΄λ‹€. κ·Έλž˜μ„œ ν•œ μŠ€λ ˆλ“œμ—μ„œ κ·Έ 값을 섀정해도 λ‹€λ₯Έ μŠ€λ ˆλ“œμ˜ 값에 영ν–₯을 μ£Όμ§€ μ•ŠλŠ”λ‹€.

였λ₯˜ λ²ˆν˜Έμ™€ 이름

μœ νš¨ν•œ 였λ₯˜ λ²ˆν˜Έλ“€μ€ λͺ¨λ‘ μ–‘μˆ˜ λ²ˆν˜Έμ΄λ‹€. errno에 λ“±μž₯ν•  수 μžˆλŠ” 였λ₯˜ 번호 각각의 심볼 이름이 <errno.h> 헀더 νŒŒμΌμ— μ •μ˜λΌ μžˆλ‹€.

POSIX.1μ—μ„œ λͺ…μ„Έν•˜λŠ” 였λ₯˜ 이름듀은 λͺ¨λ‘ μ„œλ‘œ λ‹€λ₯Έ 값을 κ°€μ Έμ•Ό ν•œλ‹€. 단 μ˜ˆμ™Έλ‘œ EAGAINκ³Ό EWOULDBLOCK은 같을 μˆ˜λ„ μžˆλ‹€.

각 심볼 이름에 λŒ€μ‘ν•˜λŠ” 였λ₯˜ λ²ˆν˜ΈλŠ” μœ λ‹‰μŠ€ μ‹œμŠ€ν…œ μ’…λ₯˜μ— 따라 λ‹€λ₯΄λ©° 심지어 λ¦¬λˆ…μŠ€μ—μ„œ μ•„ν‚€ν…μ²˜μ— 따라 λ‹€λ₯΄κΈ°λ„ ν•˜λ‹€. κ·Έλž˜μ„œ μ•„λž˜μ˜ 였λ₯˜ 이름 λͺ©λ‘μ—λŠ” 번호 값이 포함돼 μžˆμ§€ μ•Šλ‹€. perror(3) 및 strerror(3) ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ κ·Έ 이름을 λŒ€μ‘ν•˜λŠ” ν…μŠ€νŠΈ 였λ₯˜ λ©”μ‹œμ§€λ‘œ λ³€ν™˜ν•  수 μžˆλ‹€.

μ–΄λ–€ λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œ μƒμ—μ„œλ“  (moreutils νŒ¨ν‚€μ§€μ— ν¬ν•¨λœ) errno(1) λͺ…령을 μ“°λ©΄ λͺ¨λ“  였λ₯˜ 심볼 이름과 λŒ€μ‘ν•˜λŠ” 였λ₯˜ λ²ˆν˜Έλ“€μ˜ λͺ©λ‘μ„ 얻을 수 μžˆλ‹€.

$ errno -l
EPERM 1 Operation not permitted
ENOENT 2 No such file or directory
ESRCH 3 No such process
EINTR 4 Interrupted system call
EIO 5 Input/output error
...

λ˜ν•œ errno(1) λͺ…령을 μ‚¬μš©ν•΄ λ‹€μŒκ³Ό 같이 κ°œλ³„ 였λ₯˜ λ²ˆν˜Έμ™€ 이름을 찾아보고 였λ₯˜ μ„œμˆ μ—μ„œ 얻은 λ¬Έμžμ—΄λ‘œ 였λ₯˜λ₯Ό 검색할 수 μžˆλ‹€.

$ errno 2
ENOENT 2 No such file or directory
$ errno ESRCH
ESRCH 3 No such process
$ errno -s permission
EACCES 13 Permission denied

였λ₯˜ 이름 λͺ©λ‘

μ•„λž˜μ˜ 였λ₯˜ 심볼 이름 λͺ©λ‘μ—μ„œ μ—¬λŸ¬ 이름듀에 λ‹€μŒκ³Ό 같은 ν‘œμ‹œκ°€ λ˜μ–΄ μžˆλ‹€.

  • POSIX.1-2001: κ·Έ 이름을 POSIX.1-2001μ—μ„œ, 그리고 달리 ν‘œμ‹œλΌ μžˆμ§€ μ•ŠμœΌλ©΄ 이후 POSIX.1 λ²„μ „λ“€μ—μ„œλ„ κ·œμ •ν•˜κ³  μžˆλ‹€.

  • POSIX.1-2008: κ·Έ 이름을 POSIX.1-2008μ—μ„œλŠ” κ·œμ •ν•˜κ³  μžˆμ§€λ§Œ 더 μ „μ˜ POSIX.1 ν‘œμ€€μ—λŠ” μ—†λ‹€.

  • C99: κ·Έ 이름을 C99μ—μ„œ κ·œμ •ν•˜κ³  μžˆλ‹€. λ‹€μŒμ€ λ¦¬λˆ…μŠ€μ—μ„œ μ •μ˜λΌ μžˆλŠ” 였λ₯˜ 심볼 μ΄λ¦„λ“€μ˜ λͺ©λ‘μ΄λ‹€.

E2BIG 인자 λͺ©λ‘μ΄ λ„ˆλ¬΄ κΈΊ. (POSIX.1-2001)
EACCES κΆŒν•œ 거뢀됨. (POSIX.1-2001)
EADDRINUSE μ£Όμ†Œκ°€ 이미 μ‚¬μš© 쀑. (POSIX.1-2001)
EADDRNOTAVAIL μ‚¬μš© κ°€λŠ₯ μ£Όμ†Œ μ—†μŒ. (POSIX.1-2001)
EAFNOSUPPORT μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ£Όμ†Œ νŒ¨λ°€λ¦¬. (POSIX.1-2001)
EAGAIN μžμ›μ΄ μΌμ‹œμ μœΌλ‘œ μ‚¬μš© λΆˆκ°€. (EWOULDBLOCKκ³Ό 같은 값일 μˆ˜λ„ 있음.) (POSIX.1-2001)
EALREADY 연결이 이미 μ§„ν–‰ 쀑. (POSIX.1-2001)
EBADE μœ νš¨ν•˜μ§€ μ•Šμ€ κ΅ν™˜.
EBADF 잘λͺ»λœ 파일 λ””μŠ€ν¬λ¦½ν„°. (POSIX.1-2001)
EBADFD 잘λͺ»λœ μƒνƒœμ˜ 파일 λ””μŠ€ν¬λ¦½ν„°.
EBADMSG 잘λͺ»λœ λ©”μ‹œμ§€. (POSIX.1-2001)
EBADR μœ νš¨ν•˜μ§€ μ•Šμ€ μš”μ²­ λ””μŠ€ν¬λ¦½ν„°.
EBADRQC μœ νš¨ν•˜μ§€ μ•Šμ€ μš”μ²­ μ½”λ“œ.
EBADSLT μœ νš¨ν•˜μ§€ μ•Šμ€ 슬둯.
EBUSY μž₯치 λ˜λŠ” μžμ›μ΄ μ‚¬μš© 쀑. (POSIX.1-2001)
ECANCELED λ™μž‘μ΄ μ·¨μ†ŒλμŒ. (POSIX.1-2001)
ECHILD μžμ‹ ν”„λ‘œμ„ΈμŠ€κ°€ μ—†μŒ. (POSIX.1-2001)
ECHRNG λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜λŠ” 채널 번호.
ECOMM 솑신 쀑 톡신 였λ₯˜.
ECONNABORTED μ—°κ²° 쀑단됨. (POSIX.1-2001)
ECONNREFUSED μ—°κ²° 거뢀됨. (POSIX.1-2001)
ECONNRESET μ—°κ²° 리셋 됨. (POSIX.1-2001)
EDEADLK μžμ› ꡐ착 νšŒν”Όν–ˆμŒ. (POSIX.1-2001)
EDESTADDRREQ λͺ©μ  μ£Όμ†Œ ν•„μš”ν•¨. (POSIX.1-2001)
EDOM μˆ˜ν•™ μΈμžκ°€ ν•¨μˆ˜ μ •μ˜μ—­μ„ 벗어남. (POSIX.1, C99)
EDQUOT λ””μŠ€ν¬ μΏΌν„° μ΄ˆκ³Όν–ˆμŒ. (POSIX.1-2001)
EEXIST 파일이 μ‘΄μž¬ν•¨. (POSIX.1-2001)
EFAULT 잘λͺ»λœ μ£Όμ†Œ. (POSIX.1-2001)
EFBIG 파일이 λ„ˆλ¬΄ 큼. (POSIX.1-2001)
EHOSTDOWN ν˜ΈμŠ€νŠΈκ°€ λ‚΄λ €κ°€ 있음.
EHOSTUNREACH ν˜ΈμŠ€νŠΈμ— 도달 λΆˆκ°€λŠ₯함. (POSIX.1-2001)
EHWPOISON λ©”λͺ¨λ¦¬ νŽ˜μ΄μ§€μ— ν•˜λ“œμ›¨μ–΄ 였λ₯˜κ°€ 있음.
EIDRM μ‹λ³„μžκ°€ 제거됐음. (POSIX.1-2001)
EILSEQ

닀쀑 λ°”μ΄νŠΈ λ‚΄μ§€ ν™•μž₯ λ¬Έμžκ°€ μœ νš¨ν•˜μ§€ μ•Šκ±°λ‚˜ λΆˆμ™„μ „ν•¨. (POSIX.1, C99)

μ΄λŠ” glibc의 였λ₯˜ μ„€λͺ…μž„. POSIX.1μ—μ„œλŠ” 이 였λ₯˜λ₯Ό "μœ νš¨ν•˜μ§€ μ•Šμ€ λ°”μ΄νŠΈ μ—΄"이라고 κΈ°μˆ ν•¨.

EINPROGRESS λ™μž‘ μ§„ν–‰ 쀑. (POSIX.1-2001)
EINTR ν•¨μˆ˜ 호좜이 μ€‘λ‹¨λμŒ. (POSIX.1-2001) signal(7) μ°Έκ³ .
EINVAL 잘λͺ»λœ 인자. (POSIX.1-2001)
EIO μž…μΆœλ ₯ 였λ₯˜. (POSIX.1-2001)
EISCONN μ†ŒμΌ“μ΄ 연결돼 있음. (POSIX.1-2001)
EISDIR λ””λ ‰ν„°λ¦¬μž„. (POSIX.1-2001)
EISNAM κΈ°λͺ… νƒ€μž… νŒŒμΌμž„.
EKEYEXPIRED ν‚€κ°€ 만료됐음.
EKEYREJECTED ν‚€κ°€ μ„œλΉ„μŠ€μ—μ„œ κ±°λΆ€λμŒ.
EKEYREVOKED ν‚€κ°€ νμ§€λμŒ.
EL2HLT 2계측 쀑단.
EL2NSYNC 2계측 동기화 μ•ˆ 됨.
EL3HLT 3계측 쀑단.
EL3RST 3계측 μž¬μ„€μ •.
ELIBACC ν•„μš”ν•œ 곡유 λΌμ΄λΈŒλŸ¬λ¦¬μ— μ ‘κ·Όν•  수 μ—†μŒ.
ELIBBAD μ ‘κ·Όν•˜λ €λŠ” 곡유 λΌμ΄λΈŒλŸ¬λ¦¬μ— 였λ₯˜.
ELIBMAX 링크 ν•˜λ €λŠ” 곡유 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λ„ˆλ¬΄ 많음.
ELIBSCN a.out의 .lib μ„Ήμ…˜μ— 였λ₯˜.
ELIBEXEC 곡유 라이브러리λ₯Ό 직접 μ‹€ν–‰ν•  수 μ—†μŒ.
ELNRANGE 링크 κ°œμˆ˜κ°€ λ²”μœ„λ₯Ό 초과.
ELOOP λ„ˆλ¬΄ κΈ΄ 심볼릭 링크 단계. (POSIX.1-2001)
EMEDIUMTYPE 잘λͺ»λœ 맀체 μœ ν˜•.
EMFILE μ—΄λ¦° 파일 λ„ˆλ¬΄ 많음. (POSIX.1-2001) 보톡 getrlimit(2)에 μ„€λͺ…λœ RLIMIT_NOFILE μžμ› μ œν•œ 초과 λ•Œλ¬Έ.
EMLINK 링크 λ„ˆλ¬΄ 많음. (POSIX.1-2001)
EMSGSIZE λ©”μ‹œμ§€κ°€ λ„ˆλ¬΄ κΈΊ. (POSIX.1-2001)
EMULTIHOP 멀티홉 μ‹œλ„ν–ˆμŒ. (POSIX.1-2001)
ENAMETOOLONG 파일 이름이 λ„ˆλ¬΄ κΈΊ. (POSIX.1-2001)
ENETDOWN λ„€νŠΈμ›Œν¬ λ‚΄λ €κ°€ 있음. (POSIX.1-2001)
ENETRESET 연결이 λ„€νŠΈμ›Œν¬μ— μ˜ν•΄ 쀑단됨. (POSIX.1-2001)
ENETUNREACH λ„€νŠΈμ›Œν¬ 도달 λΆˆκ°€λŠ₯. (POSIX.1-2001)
ENFILE μ‹œμŠ€ν…œμ— μ—΄λ¦° 파일 λ„ˆλ¬΄ 많음. (POSIX.1-2001) λ¦¬λˆ…μŠ€μ—μ„œλŠ” μ•„λ§ˆ /proc/sys/fs/file-max μ œν•œ(proc(5) μ°Έκ³ )에 κ±Έλ €μ„œμΌ 것.
ENOANO anode μ—†μŒ.
ENOBUFS κ°€μš© 버퍼 곡간 μ—†μŒ. (POSIX.1 (XSI STREAMS μ˜΅μ…˜))
ENODATA STREAM ν—€λ“œ 읽기 큐에 κ°€μš© λ©”μ‹œμ§€ μ—†μŒ. (POSIX.1-2001)
ENODEV 그런 μž₯치 μ—†μŒ. (POSIX.1-2001)
ENOENT

그런 파일 λ‚΄μ§€ 디렉터리 μ—†μŒ. (POSIX.1-2001)

보톡 μ§€μ •ν•œ 경둜λͺ…이 μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜, 경둜λͺ… 디렉터리 μ„ λ‘λΆ€μ˜ μ–΄λŠ μš”μ†Œκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜, μ§€μ •ν•œ 경둜λͺ…이 κΉ¨μ§„ 심볼릭 링크일 λ•Œ 이 였λ₯˜κ°€ λ°œμƒν•œλ‹€.

ENOEXEC μ‹€ν–‰ 파일 ν˜•μ‹ 였λ₯˜. (POSIX.1-2001)
ENOKEY ν•„μš”ν•œ ν‚€κ°€ μ—†μŒ.
ENOLCK μ“Έ 수 μžˆλŠ” 락 μ—†μŒ. (POSIX.1-2001)
ENOLINK 링크가 μ†μƒλμŒ. (POSIX.1-2001)
ENOMEDIUM 맀체λ₯Ό μ°Ύμ§€ λͺ»ν–ˆμŒ.
ENOMEM 곡간 λΆ€μ‘±/λ©”λͺ¨λ¦¬ ν• λ‹Ήν•  수 μ—†μŒ. (POSIX-1.2001)
ENOMSG μ›ν•˜λŠ” μœ ν˜•μ˜ λ©”μ‹œμ§€ μ—†μŒ. (POSIX.1-2001)
ENONET 머신이 λ„€νŠΈμ›Œν¬ 상에 μ—†μŒ.
ENOPKG νŒ¨ν‚€μ§€ μ„€μΉ˜ μ•ˆ 됐음.
ENOPROTOOPT κ°€μš© ν”„λ‘œν† μ½œ μ—†μŒ. (POSIX.1-2001)
ENOSPC μž₯μΉ˜μ— 남은 곡간 μ—†μŒ. (POSIX.1-2001)
ENOSR STREAM μžμ› μ—†μŒ. (POSIX.1 (XSI STREAMS μ˜΅μ…˜))
ENOSTR STREAM μ•„λ‹˜. (POSIX.1 (XSI STREAMS μ˜΅μ…˜))
ENOSYS κΈ°λŠ₯ κ΅¬ν˜„ μ•ˆ 돼 있음. (POSIX.1-2001)
ENOTBLK 블둝 μž₯치 ν•„μš”ν•¨.
ENOTCONN μ†ŒμΌ“ μ—°κ²° μ•ˆ 돼 있음. (POSIX.1-2001)
ENOTDIR 디렉터리가 μ•„λ‹˜. (POSIX.1-2001)
ENOTEMPTY 디렉터리가 λΉ„μ–΄ μžˆμ§€ μ•ŠμŒ. (POSIX.1-2001)
ENOTRECOVERABLE μƒνƒœ 볡원 λΆˆκ°€λŠ₯. (POSIX.1-2008)
ENOTSOCK μ†ŒμΌ“ μ•„λ‹˜. (POSIX.1-2001)
ENOTSUP 지원 μ•ˆ λ˜λŠ” λ™μž‘. (POSIX.1-2001)
ENOTTY λΆ€μ μ ˆν•œ I/O μ œμ–΄ λ™μž‘. (POSIX.1-2001)
ENOTUNIQ 이름이 λ„€νŠΈμ›Œν¬μ—μ„œ μœ μΌν•˜μ§€ μ•ŠμŒ.
ENXIO 그런 μž₯치 λ‚΄μ§€ μ£Όμ†Œ μ—†μŒ. (POSIX.1-2001)
EOPNOTSUPP

μ†ŒμΌ“μ—μ„œ 지원 μ•ˆ λ˜λŠ” λ™μž‘. (POSIX.1-2001)

(λ¦¬λˆ…μŠ€μ—μ„œλŠ” ENOTSUPκ³Ό EOPNOTSUPP의 값이 κ°™μ§€λ§Œ POSIX.1에 λ”°λ₯΄λ©΄ 두 였λ₯˜ 값이 ꡬ별돼야 ν•œλ‹€.)

EOVERFLOW 값이 λ„ˆλ¬΄ μ»€μ„œ 데이터 νƒ€μž…μ— μ €μž₯ μ•ˆ 됨. (POSIX.1-2001)
EOWNERDEAD μ†Œμœ μžκ°€ μ£½μ—ˆμŒ. (POSIX.1-2008)
EPERM λ™μž‘μ΄ ν—ˆμš©λ˜μ§€ μ•ŠμŒ. (POSIX.1-2001)
EPFNOSUPPORT μ§€μ›ν•˜μ§€ μ•Šμ€ ν”„λ‘œν† μ½œ νŒ¨λ°€λ¦¬.
EPIPE νŒŒμ΄ν”„ 깨쑌음. (POSIX.1-2001)
EPROTO ν”„λ‘œν† μ½œ 였λ₯˜. (POSIX.1-2001)
EPROTONOSUPPORT μ§€μ›ν•˜μ§€ μ•ŠλŠ” ν”„λ‘œν† μ½œ. (POSIX.1-2001)
EPROTOTYPE μ†ŒμΌ“μ— λ§žμ§€ μ•ŠλŠ” ν”„λ‘œν† μ½œ νƒ€μž…. (POSIX.1-2001)
ERANGE κ²°κ³Όκ°€ λ„ˆλ¬΄ 큼. (POSIX.1, C99)
EREMCHG 원격 μ£Όμ†Œκ°€ λ°”λ€Œμ—ˆμŒ.
EREMOTE 객체가 원격에 있음.
EREMOTEIO 원격 I/O 였λ₯˜.
ERESTART μ€‘λ‹¨λœ μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ μž¬μ‹œμž‘ν•΄μ•Ό 함.
ERFKILL RF-kill λ•Œλ¬Έμ— λ™μž‘ λΆˆκ°€λŠ₯.
EROFS 읽기 μ „μš© 파일 μ‹œμŠ€ν…œ. (POSIX.1-2001)
ESHUTDOWN 전솑 쒅단 μ •μ§€ ν›„ 보낼 수 μ—†μŒ.
ESPIPE μœ„μΉ˜ 이동 λΆˆκ°€λŠ₯. (POSIX.1-2001)
ESOCKTNOSUPPORT μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ†ŒμΌ“ μœ ν˜•.
ESRCH 그런 ν”„λ‘œμ„ΈμŠ€κ°€ μ—†μŒ. (POSIX.1-2001)
ESTALE

파일 핸듀이 λ”λŠ” μœ νš¨ν•˜μ§€ μ•ŠμŒ. (POSIX.1-2001)

NFS 및 기타 파일 μ‹œμŠ€ν…œμ—μ„œ 이 였λ₯˜κ°€ λ°œμƒν•  수 μžˆλ‹€.

ESTRPIPE 슀트림 νŒŒμ΄ν”„ 였λ₯˜.
ETIME

타이머 만료됨. (POSIX.1 (XSI STREAMS μ˜΅μ…˜))

(POSIX.1μ—μ„œλŠ” "STREAM ioctl(2) νƒ€μž„μ•„μ›ƒ"이라고 함.

ETIMEDOUT 연결이 νƒ€μž„μ•„μ›ƒ 됨. (POSIX.1-2001)
ETOOMANYREFS μ°Έμ‘°κ°€ λ„ˆλ¬΄ 많음. splice ν•  수 μ—†μŒ.
ETXTBSY ν…μŠ€νŠΈ 파일 μ‚¬μš© 쀑. (POSIX.1-2001)
EUCLEAN ꡬ쑰 정리 ν•„μš”.
EUNATCH ν”„λ‘œν† μ½œ λ“œλΌμ΄λ²„ λΆ™μ–΄ μžˆμ§€ μ•ŠμŒ.
EUSERS μ‚¬μš©μžκ°€ λ„ˆλ¬΄ 많음.
EWOULDBLOCK λ™μž‘μ΄ 블둝 ν•˜κ²Œ 됨. (EAGAINκ³Ό 같은 값일 μˆ˜λ„ 있음.) (POSIX.1-2001)
EXDEV λΆ€μ μ ˆν•œ 링크. (POSIX.1-2001)
EXFULL κ΅ν™˜κΈ°μ— μ—¬μœ  μ—†μŒ.

NOTES

많이 ν•˜λŠ” μ‹€μˆ˜λ‘œ λ‹€μŒκ³Ό 같은 게 μžˆλ‹€.

if (somecall() == -1) {
    printf("somecall() failed\n");
    if (errno == ...) { ... }
}

μ—¬κΈ°μ„œ errnoκ°€ κΌ­ somecall() ν•¨μˆ˜ λ°˜ν™˜ μ‹œμ˜ 값을 κ°€μ§€κ³  μžˆλŠ” 게 μ•„λ‹ˆλ‹€. (즉 printf(3)에 μ˜ν•΄ λ°”λ€Œμ—ˆμ„ μˆ˜λ„ μžˆλ‹€.) 라이브러리 ν˜ΈμΆœμ„ κ±°μΉ˜λ©΄μ„œ errno 값이 보쑴돼야 ν•œλ‹€λ©΄ μ €μž₯을 ν•΄μ•Ό ν•œλ‹€.

if (somecall() == -1) {
    int errsv = errno;
    printf("somecall() failed\n");
    if (errsv == ...) { ... }
}

일뢀 μ•„μ£Ό 였래된 μ‹œμŠ€ν…œμ—μ„œλŠ” <errno.h>κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ errnoλ₯Ό μ„ μ–Έν•΄ μ£Όμ§€ μ•Šμ•˜μœΌλ©°, κ·Έλž˜μ„œ errnoλ₯Ό 직접 μ„ μ–Έ(extern int errno)ν•΄μ•Ό ν–ˆλ‹€. μ§€κΈˆμ€ κ·Έλ ‡κ²Œ ν•΄μ„  μ•ˆ λœλ‹€. 였래 μ „λΆ€ν„° 그럴 ν•„μš”κ°€ μ—†κ²Œ 됐으며 졜근의 C 라이브러리 λ²„μ „λ“€μ—μ„œ 문제λ₯Ό μΌμœΌν‚€κ²Œ λœλ‹€.

SEE ALSO

errno(1), err(3), error(3), perror(3), strerror(3)


2019-03-06

⚠️ **GitHub.com Fallback** ⚠️