On Mon, Oct 31, 2005 at 05:51:45PM +0100, Matej Vela wrote: > Daniel Jacobowitz <[EMAIL PROTECTED]> writes: > > > On Mon, Oct 31, 2005 at 10:45:55AM +0100, Matej Vela wrote: > >> Including <linux/sem.h> results in the following error on mips and mipsel: > [...] > > > > Why are you using this header from userspace? In general it's the > > wrong choice. > > > > The only advantage over the userspace header is that it provides union > > semun; but POSIX is quite clear that it is the application's > > responsibility to provide that type. > > For SEMVMX. And you're right, sysconf(_SC_SEM_VALUE_MAX) would be a > better choice, but it isn't implemented... Another solution would be > to call semctl(..., SEM_INFO, arg) and use arg.__buf->semvmx, but that > seemed unportable and inelegant (given that, as you note, the caller > must also define union semun). > > If the fix is non-trivial, feel free to downgrade this to wishlist, > and I'll change dctc and dcgui to use _POSIX_SEM_VALUE_MAX.
In general, most of these headers are not intended or supported for userspace use; so the correct thing to do is either to use the POSIX equivalents, or else to copy the bits you need from some particular version of the kernel headers. -- Daniel Jacobowitz CodeSourcery, LLC -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

