This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: errno.h: ESTRPIPE
On Mar 16 16:35, Ralf Corsepius wrote:
> Corinna Vinschen wrote:
>> The error code is used at least in Linux and Solaris.
> It's not part of any POSIX or other standard I am aware about.
>
> If there should be one, please point me to it.
>
>> If we generate
>> our own Cygwin-specific error codes we will at one point have a errno
>> list where the same error code is used for different purposes on
>> different systems. I don't see that this gains anybody anything.
>
> I don't have much of a problem with Cygwin wanting to adopt other OS's
> proprietary extensions. But this is not what your patch is doing.
>
> Your patch is infecting newlib with Cygwin's wish to generalize ESTRIPE.
> This is wrong. ESTRIPE is a non-standardized and OS-specific extension,
> and therefore should be treated as such (i.e. #ifdef'ed).
It's not ESTRIPE but ESTRPIPE.
> C.f. the patch below.
Newlib already defines the following errors not present in the POSIX standard:
EADV /* Advertise error */
EBADE /* Invalid exchange */
EBADFD /* f.d. invalid for this operation */
EBADR /* Invalid request descriptor */
EBADRQC /* Invalid request code */
EBADSLT /* Invalid slot */
EBFONT /* Bad font file fmt */
ECHRNG /* Channel number out of range */
ECOMM /* Communication error on send */
EDEADLOCK /* File locking deadlock error */
EDOTDOT /* Cross mount point (not really error) */
EFTYPE /* Inappropriate file type or format */
EHOSTDOWN /* Host is down */
EL2HLT /* Level 2 halted */
EL2NSYNC /* Level 2 not synchronized */
EL3HLT /* Level 3 halted */
EL3RST /* Level 3 reset */
ELBIN /* Inode is remote (not really error) */
ELIBACC /* Can't access a needed shared lib */
ELIBBAD /* Accessing a corrupted shared lib */
ELIBEXEC /* Attempting to exec a shared library */
ELIBMAX /* Attempting to link in too many libs */
ELIBSCN /* .lib section in a.out corrupted */
ELNRNG /* Link number out of range */
ENMFILE /* No more files */
ENOANO /* No anode */
ENOCSI /* No CSI structure available */
ENONET /* Machine is not on the network */
ENOPKG /* Package not installed */
ENOTBLK /* Block device required */
ENOTUNIQ /* Given log. name not unique */
EPFNOSUPPORT /* Protocol family not supported */
EPROCLIM
EREMCHG /* Remote address changed */
EREMOTE /* The object is remote */
ESHUTDOWN /* Can't send after socket shutdown */
ESOCKTNOSUPPORT /* Socket type not supported */
ESRMNT /* Srmount error */
ETOOMANYREFS
EUNATCH /* Protocol driver not attached */
EUSERS
EXFULL /* Exchange full */
And I even didn't mention the Cygwin-specific
ECASECLASH /* Filename exists with different case */
ENOMEDIUM /* No medium (in tape drive) */
ENOSHARE /* No such host or network path */
What's different with ESTRPIPE now?
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat