Commit Graph

4 Commits

Author SHA1 Message Date
Sebastian Huber 76a2110b47 BSD compatibility for <machine/endian.h>
Introduce <machine/_endian.h> to let target based customization of
<machine/endian.h> via

 * _LITTLE_ENDIAN,
 * _BIG_ENDIAN,
 * _PDP_ENDIAN, and
 * _BYTE_ORDER.

defines.  Add definitions expected by FreeBSD to
<machine/endian.h> like

 * _QUAD_HIGHWORD,
 * _QUAD_LOWWORD,
 * __bswap16(),
 * __bswap32(),
 * __bswap64(),
 * __htonl(),
 * __htons(),
 * __ntohl(), and
 * __ntohs().

Also, if __BSD_VISIBLE

 * LITTLE_ENDIAN,
 * BIG_ENDIAN,
 * PDP_ENDIAN, and
 * BYTE_ORDER.

Targets that define __machine_host_to_from_network_defined in
<machine/_endian.h> must provide their own implementation of

 * __htonl(),
 * __htons(),
 * __ntohl(), and
 * __ntohs(),

otherwise a default implementation is provided by <machine/endian.h>.
In case of GCC defines to builtins are used.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2016-04-19 16:36:51 +02:00
Jeff Johnston ce3b386964 2010-06-18 Pavel Pisa <ppisa4lists@pikron.com>
* libc/include/machine/ieeefp.h[__arm__][!__VFP_FP__]: Set to
        __IEEE_BIG_ENDIAN and set __IEEE_BYTES_LITTLE_ENDIAN appropriately
        based on __ARMEL flag.
        * libc/include/machine/endian.h: To set byte order to LITTLE_ENDIAN,
        check for __IEEE_LITTLE_ENDIAN or __IEEE_BYTES_LITTLE_ENDIAN.
2010-06-18 16:26:25 +00:00
Aldy Hernandez b5793c5c8c * libc/include/machine/endian.h: Add missing endif. 2004-05-08 17:13:38 +00:00
Jeff Johnston f1559722eb 2004-05-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/param.h: Remove endian info and include
        <machine/endian.h> instead.
        * libc/include/machine/endian.h: New file.
        * libc/machine/arm/machine/endian.h: Ditto.
        * libc/machine/arm/machine/param.h: Ditto.
        * libc/sys/arm/sys/param.h: Removed.
        * libc/sys/sysvi386/sys/param.h: Ditto.
        * libc/sys/rtems/sys/param.h: Modified to include <machine/endian.h>.
2004-05-07 20:29:24 +00:00