Do czego służy ENOANO (bez anody)?


11

To pytanie dotyczy tylko bezczynnej ciekawości, ale podejrzewam, że inni też będą ciekawi. Przeszukując errno.h (Linux 2.6) znalazłem ENOANO „Brak anody”. Nie ma śladu błędu „Brak katody”. Przeglądając konkordancje między źródłami jądra, nie wydaje się, aby był używany przez urządzenie zwane anodą, a jedynie jako celowo błędny kod błędu przez niektóre niejasne sterowniki urządzeń. Googling nie zdradził nic ciekawego.

Czy to może żart? Czy jest to zdefiniowane w dokumencie standardowym, takim jak POSIX, ale bezużyteczne?


3
Jest to błąd, który pojawia się, jeśli zapomnisz podłączyć zasilacz.
goldilocks,

2
Wygląda na to, że pochodzi z konwergentnych systemów unix archive.org/stream/…
Stéphane Chazelas,

1
Ach, to wydaje się prawdopodobne, @ Stéphane Chazelas. Wygląda na to, że anoda jest węzłem a, jak i-węzeł.
Dan Sheppard

Odpowiedzi:


14

ENOANOpojawił się w Linuksie 0.97 , który został wydany w dniu 1992-08-01. Przez bardzo długi czas nigdzie nie był używany; od tego czasu był używany od czasu do czasu w niektórych sterownikach jako „Nie wiedziałem, jakiego kodu błędu użyć”. Teraz jest tylko w uapi/asm-generic/errno.h(tj. W plikach nagłówkowych programów użytkownika ), ale został tam przeniesiony automatycznie, więc nie ma to wskazania, czy ktokolwiek się tym przejmuje.

errno.hNagłówek w 0,97 dostał trochę uwagi, ponieważ jest to jeden z plików, które SCO twierdził została skopiowana z Unix SVR4 . W chwili roszczenia SCO Linus Torvalds nie pamiętał, jak zebrano ten plik ; później stwierdził, że został wygenerowany na podstawie wartości znanych z libc 2.2.2 . To była biblioteka C dla systemu Linux, dystrybuowana z portem GCC dla systemu Linux . Ta biblioteka prawdopodobnie zawierałaby kody błędów z wszelkiego rodzaju wariantów uniksowych, które były w tym czasie.

Stéphane Chazelas stwierdził, że termin „anoda” został użyty w Convergent / Burroughs Unix (CENTIX) jako synonim i- węzła . Znalazłem inną książkę (z 1993 r.), W której wzmiankowano „anodę” jako wariant „inody”, ale poza tym wydaje się, że nawet wtedy była dość niejasna. Solariserrno.h potwierdza pochodzenie Convergent: to wymienia ENOANO w części zatytułowanej „zbieżny zwraca błąd” (wraz z kilkoma innymi kodów błędów z ezoterycznych opisów ale przynajmniej niejasno zrozumiały jak „Nieprawidłowy zamian”, „wymianie pełnej” lub „Nieprawidłowy slot” z których korzysta jeszcze kilka sterowników).

Dlatego ENOANO prawdopodobnie wskazało, że albo w jądrze zabrakło pamięci dla i-węzłów, lub że tabela i-węzłów systemu plików jest pełna, w niektórych komercyjnych systemach Unix w latach 80-tych. To, że Unix jest teraz zapomniany, jego terminologia jest teraz zapomniana, a z powodu dziwactwa kod błędu pozostał.

Przynajmniej nie jest to „ lp0 w ogniu ”.


2
Mam kopię errno.h z 1988 roku z Xenix 2.3.1, w której wspominam o grupie errnos w części zatytułowanej „Convergent Error Returns”. Tam samo .
Stéphane Chazelas

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.