Re: Use enum to declare errno values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 23 November 2005 17:44, moreau francis wrote:
> 
> --- Alan Cox <[email protected]> a écrit :
> 
> > On Mer, 2005-11-23 at 16:31 +0200, Denis Vlasenko wrote:
> > > Enums are really nice substitute for integer constants instead of #defines.
> > > Enums obey scope rules, #defines do not.
> > > 
> > > However enums are not widely used because of
> > > 1. tradition and style
> > > 2. awkward syntax required:   enum { ABC = 123 };
> > 
> > The SATA layer uses enum for constants and while it was a bit of change
> > in style when I met it, it does seem to work just as well
> 
> I guess we won't use enumeration because it needs to many changes...Each
> function that returns a errno value should have their prototype changed like
> this:
> 
>     int foo(void)
>     {
>             int retval;
>             [...]
>             return retval;
>     }
> 
> should be changed into
> 
>     enum errnoval foo(void)
>     {
>             enum errnoval retval;
>             [...]
>             return retval;
>     }

There exist "unnamed" enums, which do not introduce new type,
just a few symbolic constants of type 'int':

enum /* no name here! */ { A, B, C, D, E };
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux