single, comprehensive kernel data types document?
John Chludzinski
john.chludzinski at vivaldi.net
Fri Apr 15 08:37:56 EDT 2016
Never use stdint.h? Wasn't that the intent of stdint.h ... for kernel
code? For embedded code?
---John
On 2016-04-15 08:27, Greg KH wrote:
> On Fri, Apr 15, 2016 at 08:04:53AM -0400, Robert P. J. Day wrote:
>>
>> is there a single, decent online doc that explains the proper data
>> types (int16_t, int32_t and so on) to use in kernel code?
>
> First off, never use int16_t and friends, that's not ok :)
>
> Second, it's simple, use:
> u8
> u16
> u32
> u64
> and friends in kernel code (s8, s16, and so on for signed values.)
>
> 'int' is a return type, and for loops and other things that you know
> will fit in that size.
>
>> including the relationship with types to be used in code to be
>> exported to user space (include/uapi/linux/types.h)?
>
> For values that cross the user/kernel boundry, add '__' to the front of
> the variable:
> __u8
> __u16
> __u32
> and so on. NEVER use 'int' or 'long' crossing that boundry, it's not
> going to work properly.
>
> I think one of the chapters in LDD3 describes all of this, you might
> want to re-read it for the details.
>
> hope this helps,
>
> greg k-h
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
More information about the Kernelnewbies
mailing list