ENOANO (No Anode)는 어떤 용도로 사용됩니까?


11

이 질문은 유휴 호기심만을위한 것이지만 다른 사람들도 호기심을 가질 것으로 생각됩니다. (Linux 2.6의) errno.h를 검색하여 ENOANO "No Anode"를 찾았습니다. "음극 없음"오류는 없습니다. 커널 소스 일치를 살펴보면 애노드라는 장치에서 사용하지 않는 것으로 보이며 일부 모호한 장치 드라이버에서 의도적으로 까다로운 오류 코드로만 사용합니다. 인터넷 검색에는 관심이 없었습니다.

농담 일까? POSIX와 같은 표준 문서에 정의되어 있지만 사용하지 않습니까?


3
전원 공급 장치 연결을 잊었을 때 발생하는 오류입니다.
goldilocks

2
Convergent unix systems archive.org/stream/…
Stéphane Chazelas

1
@ Stéphane Chazelas는 그럴듯 ​​해 보인다. 그것은 양극이 양극과 같은 것처럼 보입니다.
Dan Sheppard

답변:


14

ENOANO1992-08-01에 릴리스 된 Linux 0.97에 나타났습니다 . 아주 오랫동안, 그것은 어느 곳에서도 사용되지 않았습니다. 그 이후로 현재 사용 된 다음 일부 드라이버에서 "사용할 오류 코드를 몰랐습니다"로 사용되었습니다. 이제는 uapi/asm-generic/errno.h(즉, userland 프로그램헤더 파일 에만 ) 있지만 자동으로 이동되었으므로 관심이 있는지 여부는 알 수 없습니다.

errno.h0.97 의 헤더는 SCO가 Unix SVR4에서 복사했다고 주장 하는 파일 중 하나이기 때문에 주목을 받았습니다 . SCO 주장 당시 Linus Torvalds는 그 파일이 어떻게 구성되었는지 기억하지 못했습니다 . 그는 나중에 libc 2.2.2에 알려진 값에서 생성 된 것을 발견했습니다 . 이것은 Linux 용 C 라이브러리이며 Linux 용 GCC 포트와 함께 배포됩니다 . 그 라이브러리에는 아마도 당시에 있었던 모든 종류의 유닉스 변형의 오류 코드가 포함되었을 것입니다.

Stéphane Chazelas는 “양극”이라는 용어가 CENTIX (Convergent / Burroughs Unix) 에서 inode 의 동의어 로 사용되었다는 것을 발견 했습니다 . 나는 "노이드"를 "노이드"의 변형으로 언급 한 다른 책 (1993 년부터)을 발견 했지만, 그 외에는 그 당시에도 꽤 모호한 것 같습니다. 솔라리스는errno.h 수렴 원산지를 확인 : 그것은 함께 비의 설명과 몇 가지 다른 오류 코드와 함께하지만, 적어도 ( "융합 오류 반환"이라는 제목의 섹션에서 ENOANO을 나열 "잘못된 교환", "전체 교환"또는 "잘못된 슬롯"같은 막연하게 이해 더 많은 드라이버가 사용합니다).

따라서 ENOANO는 아마도 1980 년대에 일부 상용 Unix에서 커널에 inode에 대한 메모리가 부족하거나 파일 시스템의 inode 테이블이 가득 찼음을 나타냅니다. 유닉스는 이제 잊혀졌고, 그 용어는 잊혀졌으며, 약간의 기발로 인해 오류 코드가 유지되었습니다.

최소한 " lp0 on fire "는 아닙니다 .


2
"Convergent Error Returns"섹션에 errnos를 언급하는 Xenix 2.3.1의 1988 errno.h 사본이 있습니다. 거기에 동일합니다 .
Stéphane Chazelas

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.