Messages in this thread | | | From | Denis Vlasenko <> | Subject | Re: Use enum to declare errno values | Date | Thu, 24 Nov 2005 09:22:37 +0200 |
| |
On Wednesday 23 November 2005 17:44, moreau francis wrote: > > --- Alan Cox <alan@lxorguk.ukuu.org.uk> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |