This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]