Re: Integer types

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

 



On Sat, 2005-12-31 at 11:55 +0200, Pekka Enberg wrote:
> > * u8, u16, ...
> > * uint8_t, uint16_t, ...
> > * u_int8_t, t_int16_t, ...
> 
> From the above list, the first ones. See
> http://article.gmane.org/gmane.linux.kernel/259313. Please note that
> there's also __le32 and __be32 for variables that have fixed byte
> ordering.

As ever, however, be aware that our esteemed leader is fickle.
Especially when he's wrong, as he was on that occasion.

The bit about namespace pollution is a red herring -- that's a good
enough reason for using '__u8', '__u16' etc. in those headers which are
user-visible and which mustn't require standard types, but it's no
excuse for the existence of the 'u8', 'u16' forms in code and headers
which _aren't_ user-visible.

The reason for the existence of the 'uXX' form is because once upon a
time, the kernel was buildable with compilers which predated the C99
standard types. It remains for historical reasons and because some
people (especially Linus) have some kind of emotional attachment to it.

The choice of whether to use 'uXX' or to use the proper standard
'uintXX_t' types is to a large extent a matter of the individual
developer's taste. If you're writing large chunks of your own code, then
do as you see fit; if you're modifying existing code, then use what's
there already.

-- 
dwmw2

-
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