Messages in this thread | | | Date | Thu, 19 Apr 2007 08:26:14 -0600 | From | Robert Hancock <> | Subject | Re: problem with <asm/semaphore.h> |
| |
liangbowen wrote: >> 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. > > someone've said the exact same thing, and he said that I can add the - > D__KERNEL__ to the compilation options, > but I can't see any #ifdef __KERNEL__ macro in that header(<asm/ > semaphore.h>). > Is my header differ from yours? >
It's because the userspace headers have been processed with unifdef to remove any sections which are inside #ifdef __KERNEL__, since userspace apps are not supposed to see those sections.
I'm not sure why you want to use a semaphore in a userspace program. Even if you can get it to compile, they definitely won't function properly. Aside from the legal issues (using internal kernel code like that would make your program a derived work of the kernel and thus covered under the GPL).
-- Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from hancockr@nospamshaw.ca 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |