ENOANO(无阳极)打算用于什么用途?


11

这个问题仅仅是出于好奇,但我怀疑其他人也会好奇。通过搜索errno.h(Linux 2.6的),我发现ENOANO“ No Anode”。没有“无阴极”错误的迹象。查看内核源代码的一致性,它似乎并没有被称为阳极的设备使用,而只是被一些晦涩的设备驱动程序故意作为怪异的错误代码使用。谷歌搜索没有发现任何兴趣。

这可能是个玩笑吗?它是在POSIX之类的标准文档中定义的,但是没有用吗?


3
如果您忘记连接电源,则会遇到此错误。
goldilocks 2014年

2
似乎是从收敛未来UNIX系统archive.org/stream/...
斯特凡Chazelas

1
嗯,看起来很合理,@StéphaneChazelas。看起来阳极是一个阳极,就像一个inode。
Dan Sheppard 2014年

Answers:


14

ENOANO出现在1992年9月1日发布的Linux 0.97中。很长一段时间,它没有在任何地方使用。从那以后,它在某些驱动程序中不时被使用为“我不知道要使用什么错误代码”。现在只在其中uapi/asm-generic/errno.h(即在userland程序头文件中),但是它已自动移动到那里,因此这并不表示是否有人在乎它。

errno.h0.97中的标头引起了一些注意,因为它是SCO声称是从Unix SVR4复制的文件之一。在上合组织提出索赔时,莱纳斯·托瓦尔兹Linus Torvalds)不记得那个文件是如何组装的。他后来发现它是由libc 2.2.2已知的值生成的。这是用于LinuxC库,并随Linux的GCC端口一起分发。该库可能包含当时各种unix变体的错误代码。

StéphaneChazelas发现在Convergent / Burroughs Unix(CENTIX)中使用 “阳极”一词作为inode的同义词。我发现另一本书(从1993年开始)提到“阳极”是“索引节点”的变体,但除此之外,即使到那时,它似乎还是很模糊的。该的Solariserrno.h印证了收敛起源:它在题为“收敛错误归来”(与深奥说明一些其他错误代码在一起,但至少部分列出ENOANO隐约理解喜欢“无效的交流”,“汇全”或“无效的插槽”还有更多的驱动程序使用)。

因此,ENOANO可能表明,在1980年代的某些商用Unix中,内核已耗尽了inode的内存,或者文件系统的inode表已满。现在忘记了Unix,现在忘记了其术语,并且由于一些怪癖,错误代码一直存在。

至少不是“ lp0 on fire ”。


2
我从Xenix 2.3.1获得了1988 errno.h的副本,在标题为“收敛错误返回”的部分下提到了一堆errnos。同样在那里
斯特凡Chazelas

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.