[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19156.16146.326389.380625@pilspetsen.it.uu.se>
Date: Tue, 13 Oct 2009 10:49:22 +0200
From: Mikael Pettersson <mikpe@...uu.se>
To: "Leonidas ." <leonidas137@...il.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: Using intptr_t and uintptr_t in Kernel
Leonidas . writes:
> I know variants of this questions have been asked on this list before,
> but I could not
> find a thread where a conclusion was reached, most of the time
> responses were { I don't care,
> developer's choice, might be in future } and variations thereof. But
> one thing was clear
> that do not mix userspace and kernel space data types.
>
> Currently, I am porting a user space application to kernel, this app
> uses intptr_t data type.
>
> A look at linux/types.h shows that,
>
> typedef unsigned long uintptr_t;
>
> but intptr_t is not defined at all. Also, isn't above definition
> incorrect?
No, it's correct because Linux requires sizeof(void*) == sizeof(long).
> Since the whole idea
> behind uintptr_t is to store pointer in a int sized variable,
uintptr_t will use _some_ integer type, not necessarily 'int'.
If ISO C said 'int' there would be no need for {,u}intptr_t.
> are we
> not assuming here that
>
> sizeof(int) = sizeof(unsigned long ) on all archs?
No, see above.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists