This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] ENOATTR and EDOOFUS
- From: Roland McGrath <roland at redhat dot com>
- To: Robert Millan <rmh at aybabtu dot com>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Tue, 21 Feb 2006 19:07:06 -0800 (PST)
- Subject: Re: [PATCH] ENOATTR and EDOOFUS
We endeavor to have a uniform API across variant GNU systems to the extent
possible. This is one of the core purposes of glibc. This may require
translating the kernel's native errno codes into the ones we expect in the
glibc interface, or perhaps just providing GNU-compatible names for new
error codes from other kernels.
How is EDOOFUS used in practice? We have EGRATUITOUS, which is falsely
documented in the manual, and is actually used on the Hurd when internal
protocols are violated that indicate parts of the implementation are
broken. Your description of EDOOFUS sounds like it might be used in cases
that should in fact be EINVAL.
There is also EGREGIOUS, which is in fact never used. Perhaps EDOOFUS
should be an alias for EGREGIOUS on your platform.
I gather from your description that ENOATTR is returned by getxattr et al
when the attribute name is not found. Linux uses ENODATA for that.
Perhaps ENOATTR should be an alias for ENODATA. (The manual unfortunately
does not say anything useful about ENODATA; fixing that would of course be
more than welcome.)
Thanks,
Roland