[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Missing datatypes in lib/include/machine/types.h ?
- Date: 01 Dec 2001 02:05:02 +0100
- From: corsepiu at faw.uni-ulm.de (Ralf Corsepius)
- Subject: Missing datatypes in lib/include/machine/types.h ?
Am Sam, 2001-12-01 um 00.02 schrieb Charlie &:
>
> Hi,
> I am porting some UNIX C code to work under RTEMS. The software is
> expecting the following typedefs in lib/include/machine/types.h:
>
> typedef unsigned char uint8_t;
> typedef unsigned short uint16_t;
> typedef unsigned int uint32_t;
> typedef unsigned long long uint64_t;
>
> I see that the OpenBSD version of this file does define these values
> but the RTEMS version only has the u_intXX_t versions. Should
> the RTEMS version be updated into include the above typedefs or
> are these not standard datatypes?
AFAIK, these are ISOC99 types and are supposed to be defined in stdint.h
and to be included into sources via stdint.h or inttypes.h (normally
implictly includes stdint.h).
Apparently, newlib is not ISOC99-ready. As a work-around, we could
either provide a stdint.h with RTEMS or try to get it properly
introduced into newlib.
Anyway, if the code your are trying to compile is expecting these typesm
in machine/types.h, it is bugged (machine/*.h should not be accessed
directly and is not standardized at all) or probably relies on a
BSD-proprietary feature.
Ralf