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 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 Content-Type: text/plain; charset="us-ascii" 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|