Richard Tobin wrote:
7.26.3 Errors <errno.h>
Macros that begin with E and a digit or E and an uppercase letter
may be added to the declarations in the <errno.hheader.
May an implementation define an error macro EOF with a value different
from the EOF in <stdio.h>?
No, because a conforming program can include both <stdio.h>
and <errno.h>. Note that the freedom to add more EXXX macros
in <errno.hdoes not imply that every EXXX macro everywhere
must be an error number.
The paragraph can be read as a warning and as an implied
promise. First, it warns you not to use EEYORE for your own
purposes, because a future <errno.hmight define it. And
second, it implies that future <errno.hversions will *not*
define E12MANY or EiEiO or E_IS_FOR_ELEPHANT, so you can use
those identifiers as you wish. However, implications are not
actual promises: Witness C99's encroachment on names reserved
to the programmer in C90.
--
Eric Sosman
es*****@ieee-dot-org.invalid