Re: problem with <asm/semaphore.h>

From: Robert Hancock
Date: Wed Apr 18 2007 - 20:51:27 EST


liangbowen wrote:
Hi

I compiled the following code with gcc under FC2 :

#include <asm/semaphore.h>
main()
{
struct semaphore sum;

}

It doesn't compile, saying "storage size of `sem'
isn't known".

and I looked inside asm/semaphore.h, I saw:
#ifndef I386_SEMAPHORE_H
#define I386_SEMAPHORE_H

#include <linux/linkage.h>

#endif

Did I missed something? Please guide me how to fix it.

Sincerely

You're trying to use a kernel data structure in a user-space program. Don't. The definitions in that header are inside #ifdef __KERNEL__ and so the provided userspace headers remove that part.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/