[PATCH 09/22] Provide cap_rights_t via <sys/types.h>

Sebastian Huber sebastian.huber@embedded-brains.de
Wed Apr 20 09:48:00 GMT 2016



On 20/04/16 10:49, Corinna Vinschen wrote:
> Hi Sebastian,
>
> On Apr 18 15:29, Sebastian Huber wrote:
>> Provide cap_rights_t via <sys/types.h> if __BSD_VISIBLE for BSD
>> compatibility.
> Do we really want to clutter the namespace with all these very
> FreeBSD-centric types?  I'm mostly concerned about this struct
> cap_rights, but also many of the other types are rather... uncommon.
> I checked their existence on OpenBSD, NetBSD, and Linux, and none of
> them define those:
>
>    addr_t
>    accmode_t
>    cap_rights/cap_rights_t
>    c_caddr_t
>    cpulevel_t
>    cpusetid_t
>    cpuwhich_t
>    uintfptr_t
>    vm_offset_t
>    vm_size_t
>    vm_ooffset_t
>    vm_paddr_t
>    vm_pindex_t
>
> addr_t, vm_offset_t, and vm_size_t are defined in Cygwin, but still,
> do we really want them available generically?  __BSD_VISIBLE is set
> by default...

For RTEMS we definitely want these types, since we want to use code from 
FreeBSD. So, the question is, do all Newlib users want to see these 
types? Your survey suggests a no.

What about the following:

As the last step of <sys/types.h> add an

#include <machine/_user_types.h>

so that a particular Newlib target is able to provide additional user types.

Move  "winsup/cygwin/include/cygwin/types.h" to 
"winsup/cygwin/include/machine/_user_types.h". Plague only the RTEMS 
users with these FreeBSD types.

Do we want to keep the special cases for GO32 and __MSDOS__ on i386 or 
may I remove them and potentially break these targets?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Newlib mailing list