Erik Andersen (
Wed, 24 Sep 1997 09:48:08 -0600 (MDT)

Hmm. If ENODEV is "No such device" then when should a driver return a
ENXIO? These two seem to overlap a bit, and I am working on a driver that
returns ENXIO when the hardware is not present. Is that correct? Does
ENODEV mean no special file in the /dev directory, while ENXIO means no

While on the subject, it looks like EOPNOTSUPP _could_ be what Gerd was
wanting, except it refers to a "transport endpoint". Does that mean that
this error code is specific to networking, or would it be OK to use it for
things like "Sorry, the device can't do that"?


Erik B. Andersen   Web: 
--This message was written using 73% post-consumer electrons--

On 24 Sep 1997, H. Peter Anvin wrote:

> Followup to: <Pine.SOL.3.95q.970923164015.28919L-100000@ultra1> > By author: Erik Andersen <> > In newsgroup: > > > > Oops. Looks like I mis-understood what you meant. Sorry. If there > > really is no "Device does not implement this functionality that should > > normally be supported by this type of device" type of error > > message in errno.h (I'm still at work so I can't check), then you could > > submit a request to the libc folks to get something added to errno.h. I > > know David VanLeewen got ENOMEDIUM and EMEDIUMTYPE added to errno.h just > > because adding them was the right thing to do. Now, cdrom.c returns > > them when appropriate. If ENODEV truly means "No device", then getting a > > new error code added to libc would be appropriate. > > > > ENODEV is what a device driver should return when the physical device > is not present, for example, /dev/ttyS3 on a machine with only two > serial ports. It is thus truly "no such device". > > -hpa > -- > PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD 1E DF FE 69 EE 35 BD 74 > See for web page and full PGP public key > I am Bahá'í -- ask me about it or see > "To love another person is to see the face of God." -- Les Misérables >