www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/02/02/00:20:22

Message-Id: <3.0.6.32.19990202001525.00831260@pop.netaddress.com>
X-Sender: pderbysh AT pop DOT netaddress DOT com
X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32)
Date: Tue, 02 Feb 1999 00:15:25 -0500
To: djgpp AT delorie DOT com
From: Paul Derbyshire <pderbysh AT usa DOT net>
Subject: Re: Clarification of some errno values.
In-Reply-To: <199902020334.WAA06724@envy.delorie.com>
References: <3 DOT 0 DOT 6 DOT 32 DOT 19990201215716 DOT 008b0840 AT pop DOT netaddress DOT com>
<3 DOT 0 DOT 6 DOT 32 DOT 19990201215716 DOT 008b0840 AT pop DOT netaddress DOT com>
Mime-Version: 1.0
Reply-To: djgpp AT delorie DOT com

At 10:34 PM 2/1/99 -0500, you wrote:

[Much deletia]

Thanks much -- perhaps the info files should be updated to be more
detailled about it. Say by pasting exactly your descriptions and comments
below into the errno info node. Then everyone that didn't see the thread
and wants to check the info files before they check the archives can
benefit from your knowledge :-)

>>    EFAULT     'Bad address'              -- Not a memory address,
>>                                             which causes SIGSEGV...
>>                                             raw disk address?
>
>This is for when a libc function can tell it's a bogus address without
>actually using it (like NULL or -1), rather than just segfaulting
>inside libc.

IOW, this is basically an illegal argument given to a function.

>>    ENOLCK     'No locks available'       -- Where does this come
>>                                             from?
>
>flock() and/or lockf()

I can't find an info file on these functions...it's like they are missing
from libc or something! Are they new to DJGPP 2.02?

>No, but sbrk() might, or exec*() on unix.  If malloc() returns it,
>it's only because sbrk() returned it.

IOW, a good occasion for a C++ program to throw bad_alloc.

>ENODEV is for an inappropriate access to an existing device, like
>reading from a printer.  ENXIO is for trying to access a device the
>system knows about, but which is physically not present, like an empty
>tape drive.

IOW, either a device not there or removable media expected but not there.

>>    EXDEV      'Improper link'            -- ???
>
>Like renaming a file to a directory on another drive.

???
IOW trying to move the file across drives with the rename? Or trying to
overwrite a directory by renaming a file?

>readdir() returns this when it's at the end of a directory scan, as
>opposed to stopping due to some actual error condition.

I suspected as much.

>Most are ANSI or POSIX.  The DJGPP header files tell you which are
>which, but you can use #ifdef to test for each anyway.

errno.h I presume?


Thanks.
-- 
   .*.  "Clouds are not spheres, mountains are not cones, coastlines are not
-()  <  circles, and bark is not smooth, nor does lightning travel in a
   `*'  straight line."    -------------------------------------------------
        -- B. Mandelbrot  |http://surf.to/pgd.net
_____________________ ____|________     Paul Derbyshire     pderbysh AT usa DOT net
Programmer & Humanist|ICQ: 10423848|

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019