Re: Use enum to declare errno values

From: Denis Vlasenko
Date: Wed Nov 23 2005 - 09:25:24 EST


On Wednesday 23 November 2005 16:19, linux-os (Dick Johnson) wrote:
> > I'm just wondering why not declaring errno values using enumaration ?
> > It is just more convenient when debuging the kernel.
> >
> > Thanks
>
> There is an attempt to keep kernel errno values similar to
> user-mode errno values. This simplifies the user-kernel
> interface where the kernel will return -ERRNO and the user-mode
> code negates it and puts it into the user errno then sets the
> return value to -1 (a Unix convention).
>
> The user-mode errno's therefore must correspond. You can't
> expect the 'C' runtime libraries to be rebuilt and/or all the
> programs recompiled just because the kernel got changed so
> the errno's are hard-coded. 0 will always mean "no error" and
> 1 will always be EPERM, etc. There are error-codes that are
> the same number also, EWOULDBLOCK and EAGAIN are examples.
>
> So, you can't just auto-enumerate. If auto-enumeration isn't
> possible, then you might just as well use #define, which is
> what is done.

?!!

enum {
one,
two,
ten = 10
};

--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/