ERRNO.H ¶
담당: 송수생
Volatile ¶
extern int errno | 리턴값으로 에러 획인 |
Erro code ¶
return 값 | 메크로 | 내용 |
1 | int EPERM | 허가되지 않은 작동; 파일의 소유자(또는 다른 자원)나 명령을 수행할수 있는 특별한 권리를 가진 프로세스. |
2 | int ENOENT | 그러한 파일이나 디렉토리 없음: 이것은 이미 존재하고 있을 걸로 예상한 파일이 없는 경우에 일어 나는 "파일이 존재하지 않습니다"라는 에러이다. |
3 | int ESRCH | 처리가 지정된 처리 ID와 합치되지 않는다. |
4 | int EINTR | 가로채기 함수 호출;발생한 비동기 신호와 호출의 방해된 종료. 이럴 경우에 당신은 다시 호출을 시도해보라. |
5 | int EIO | 입출력 에러;언제나 물리적인 입출력 에러에 사용됨. |
6 | int ENXIO | 그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정한 장치를 사용하고자 하나 그러한 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미한다. |
7 | int E2BIG | 인수가 너무 길다;실행함수에 의해서 실행되는 새로운 프로그램에 주어진 인수가 너무 큰 메모리 공간을 사용할 때. |
8 | int ENOEXEC | 유효하지 않은 실행파일 포맷. |
9 | int EBADF | 잘못된 파일 기록; 예를 들어,닫혀진 파일을 기록하려고 하든지 쓰기 모드로 열려진 파일을 읽으려 고 하는 경우(그 반대의 경우도) |
10 | int ECHILD | 자식 프로세스(child process)가 없다. 이 에러는 자식 프로세스를 다루는 오퍼레시션을 사용했는 데 다루기위한 어느 프로세스도 존재하재 않을 때 발생한다. |
11 | int EAGAIN | 자원을 일시적으로 사용할수 없다.; 그 호출은 나중에 당신이 다시 재시도 할수 있도록 한다. 오 직 분기점에서 이러한 이유로 EAGAIN에러 코드를 리턴한다. |
12 | int ENOMEM | 이용할 메모리가 없음. 메모리 용량을 다 썼으므로 시스템이 더이상 메모리를 할당할 수 없다. |
13 | int EACCES | 허용되지 않음;파일이 시도하려는 작동을 허용하지 않는다. |
14 | int EFAULT | 주소 오류; 유효하지 않은 포인터가 발견됨. |
16 | int EBUSY | 시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 한개의 파일을 지우려 할 때에 이 에러를 만난다. |
17 | int EEXIST | 파일이 존재: 새로운 파일로 만들겠다고 한 파일이 이미 존재한다. |
18 | int EXDEV | 파일시스템이 인지할수 없는 영역에 부적당한 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 한다. |
19 | int ENODEV | 디바이스의 특별한 정렬을 하는 함수에 주어진 디바이스가 잘못된 타입이다. |
20 | int ENOTDIR | 필요하다고 요청된 디렉토리가 존재하지 않을 때 발생. |
21 | int EISDIR | 파일이 하나의 디렉토리 이다; 쓰기(writing)위해 이 디렉토리를 열려고 시도할 때 이 에러는 발생 한다. |
22 | int EINVAL | 적합하지 않은 인수. 이것은 라이브러리 함수에 잘못된 인수를 주는것과 같은 종류의 다양한 문제 를 지적하는데 사용한다. |
23 | int ENFILE | 지금 현재 프로세스에 너무 많은 파일이 오픈되어서 더 이상 오픈할수 없다. 복제된 기술자가 이 제한에 대하여 셈한다. |
24 | int ENFILE | 전체 시스템에 열려져있는 너무 많은 개별파일들이 있다. 연결되 채널의 어떤 것이라도 파일 하 나를 여는것과 같이 센다. |
25 | int ENOTTY | 하나의 보통 파일에서 터미날 모드를 정하려 시도하는것과 같은 부적합한 입출력 제어 오퍼레이션 에 발생. |
27 | int EFBIG | 파일이 너무 크다; 파일의 크기가 시스템이 허용하는 것 보다 더 크다. |
28 | int ENOSPC | 디바이스에 공간이 남겨지지 않았다.; 파일에 쓰기 명령을 줬을 때 디스크가 가득차서 공간이 남아 있지 않으면 실패한다. |
29 | int EXPIPE | 적합하지 않은 탐색 명령.( pipe에서 처럼 ) |
30 | int EROFS | 읽기 전용으로 된 어떤 파일시스템에 무언가를 수정하려고 시도할 때 |
31 | int ENLINK | 너무 많이 연결.; 하나의 단일한 파일의 링크 수가 너무 길다. 리네임은 이미 할수 있는것보다 많은 링크를 가진 한 파일을 리네임하면 이 에러의 원인이 된다. |
32 | int EPIPE | 부러진 파이프; 다른 파이프의 끝에서 프로세스를 읽는 것은 불가능 하다. 모든 라이브러리 함수 는 SIGPIPE로 일반화된 에러코드를 리턴한다. 이 신호는 만약 처리되지 않거나 막아지지 않으면 그 프로그램을 멈추게 한다. 그러므로 프로그램이 처리되거나 블록된 SIGPIPE를 갖지 않으면 항상 EPIPE가 보일 것이다. |
33 | int EDOM | 도메인 에러; 인수의 값이 정의된 함수를 지나 도메인에게 전달되지 않았을 때 수학적 함수에 의해 사용된다. |
34 | int ERANGE | 범위 에러; 결과 값이 오버플로우나 언더플로우로 인해 표현되지 않을 때 수학적 함수에 의해 사 용된다. |
36 | int EDEADLK | 교착상태 회피; 시스템 자원의 점유는 교착상태의 결과를 낳는다. 시스템이 모든 상황을 다 알아 챌거라고 보증하지 못한다. |
39 | int ENOLCK | 유용한 락이 아니다. 이것은 파일 락킹 함수들에 의해 사용된다. |
40 | int ENOSYS | 함수가 이행되지 않았다. 어떤 함수들은 정의된 옵션이나 명령들이 어떤것에서도 지원되지 않는 것이 있다. 만약 요청한 함수에서 이런 에러를 얻는다면 그것들은 지원되지 않는 것이다. |
41 | int ENOTEMPTY | 빈 디렉토리라고 예상했던 곳이 비어있지 않다. 특별히 이 에러는 당신이 디렉토리를 지우려 시도 할 때 발생한다. |
int ENOTBLK | 어떤 상황에서 주어진 파일에 특별한 블록이 없는 경우. 예를 들면, 보통의 파일을 유닉스 파일 시스 템에 마운트하려 하면 이 에러가 발생한다. | |
int ETXTBSY | 현재 사용되고 있는 파일을 다시 읽거나 쓰기위해 오픈하려 시도할 때 발생 ("text fiel busy" 라고 한다.) | |
int EWOULDBLOCK | 비블럭화 모드로 정해진 어떤 대상에 블록을 시도하려 하는 오퍼레이션에 대해 발생. | |
int EINPROGRESS | 비블록화 모드로 선택된 대상에 일으킨 완전하지 않은 오퍼레이션에 대해 발생. 어떤 함수들은 항 상 블록을 결코 리턴하지 않아야한다. | |
int EALREADY | 한 오퍼레이션이 비블럭화 모드의 선택을 가진 대상에 이미 진행중이다. | |
int EALREADY | 소켓을 요청했을 때 지정된 소켓이 존재하지 않는다. | |
int EDESTADDRREQ | 목적 주소가 그것이 필요한 소켓 오퍼레이션에 공급될수 없다. | |
int EMSGSIZE | 소켓에 보낸 메시지의 크기가 지원되는 최대 크기보다 크다. | |
int EPROTOTYPE | 그 소켓 타입이 요청된 통신 프로토콜에서 지원하지 않는다. | |
int ENOPROTOOPT | 당신은 소켓에 의해 사용되어지고 있는 특별한 프로토콜에서 이해할수 없는 소켓옵션을 지정하였다. | |
int EPROTONOSUPPORT | 그 소켓 도메인은 요청한 통신 프로토콜을 지원하지 않는다. ( 아마도 요청된 프로토콜이 완전히 부 적합하다.) | |
int ESOCKTNOSUPPORT | 그 소켓타입을 지원하지 않는다. | |
int EOPNOTSUPP | 당신이 요청한 그 오퍼레이션을 지원하지 않는다. 어떤 소켓함수는 소켓의 모든 타입들에서 이해할 수 없고 다른것들은 모든 통신 프로토콜을 충족시키지 못할 것이다. | |
int EPFNOSUPPORT | 당신이 요청한 소켓통신 프로토콜 부류들은 지원하지 않는다. | |
int EAFNOSUPPORT | 소켓을 위하여 지정된 주소의 부류들이 지원되지 않는다; 그 주소가 소켓에서 사용되는 프로토콜과 일치하지 않는 것이다. | |
int EADDRINUSE | 요청된 소켓주소가 이미 사용중이다. | |
int EADDRNOTAVAIL | 요청된 소켓주소가 유용하지 않다.; 예를 들어 소켓이름으로 주려고 시도한 것이 로컬 호스 트 이름과 맞지 않다. | |
int ENETDOWN | 소켓 오퍼레이션이 네크웍 다운이 이유가 되어 실패했다. | |
int ENETUNREACH | 소켓 오퍼레이션이 호스트가 포함하고 있는 subnet에 도달할수 없어서 실패했다. | |
int ENETRESET | 원격 호스트가 파괴되었기 때문에 네트웍 연결을 다시 지정한다. | |
int ECONNABORTED | 네트웍 연결이 실패하였다. 네트웍 연결이 단절되었는데 그 이유는 원격 시스템이 재부팅하거나 아 니면 복구할수 없는 프로토콜 위반인 경우처럼 로컬 호스트의 제어를 벗어난 것이 이유이다. | |
int ENOBUFS | 입출력 오퍼레이션을 위한 커널의 버퍼들이 모두 사용중이다. | |
int EISCONN | 당신은 이미 연결된 소켓을 다시 연결하려 시도하고 있다. | |
int ENOTCONN | 그 소켓은 어느것과도 연결할수 없다. 첫째로 데이터의 목적지를 정하지 않고 한 소켓을 통해 데이터를 전송하려 할 때 이 에러가 발생한다. | |
int ESHUTDOWN | 그 소켓은 이미 폐쇠되었다. | |
int ETIMEDOUT | 정해진 타임아웃을(timeout) 갖은 소켓 오퍼레이션이 정해진 시간 동안 응답을 받지 못했다. | |
int ECONNREFUSED | 원격 호스트가 네트웍 연결에 대한 허용을 거절하였다. (특별히 요청된 서비스가 실행되지 않기 때 문에) | |
int ELOOP | 파일이름을 탐색하려는데 너무 많은 수준의 기호연결(sysbolic links)이 있다. 이것은 종종 기호연결 의 한 주기를 가리킨다. | |
참고로 sysbolic links는 데이터베이스 프로그램과 스프레드 시트 등과 같은 프로그램들 사이에서 상호 간의 원활한 데이터 교환을 위해 사용되는 데이터 파일의 형식 | ||
int ENANETOOLONG | 파일 이름이 너무 길거나 호스트 이름이 너무 길다. | |
int EHOSTDOWN | 요청된 네트웍 연결을 위한 원격 호스트가 다운이다. | |
int EHOSTUNREACH | 요청된 네트웍 연결을 위한 원격 호스트에 도달할수 없다. | |
int EUSERS | 파일할당 시스템이 너무 많은 유저로 인해 혼란하다. | |
int EDQUOT | 사용자의 디스크 할당이 초과되었다. | |
int ESTALE | 맛이간 NFS 파일 핸들. 이것은 파일 시스템이 서버 호스트 상에서 재정열한것에 기인한 것으로 NFS 시스템안의 내부적 혼란을 지적한다. | |
int ERENOTE | 이미 NFS 마운트 파일로 지정된 한 파일을 한 원격 파일 시스템이 NFS 마운트로 만들려 시도할 때 발생. | |
int EBACKGROUND | GNU 시스템에서 어떤 오퍼레이션의 호출자가 터미날의 전면처리 그룹에 없을 때 서버지원 프로토 콜에 이 에러가 리턴된다. 사용자들은 보통 이 에러를 보지 못하는데 왜냐하면 함수들은 SIGTTIN 이나 SIGTTOU신호로 해석하여 읽고 쓰기 때문이다. | |
int ED | 경험있는 사용자는 무엇이 잘못인지 알 것이다. | |
int EGREGIOUS | 당신이 무엇을 했지? | |
int EIEIO | 집에가서 따뜻하고, 신선한 한잔의 우유를 마셔라 | |
int EGRATUITOUS | 이 에러 코드는 목적이 없다. |
OurMajorLangIsCAndCPlusPlus