Agar

<-- Back to AG_Intro.3

SYNOPSIS

#include <agar/core/byteswap.h>

DESCRIPTION

These macros swap the order of bytes in integers and floating-point types. They are useful when reading or writing data of a specific endianness.


Uint16 AG_Swap16 (Uint16 value)

Uint32 AG_Swap32 (Uint32 value)

Uint64 AG_Swap64 (Uint64 value)

Uint16 AG_SwapLE16 (Uint16 value)

Uint32 AG_SwapLE32 (Uint32 value)

Uint64 AG_SwapLE64 (Uint64 value)

Uint16 AG_SwapBE16 (Uint16 value)

Uint32 AG_SwapBE32 (Uint32 value)

Uint64 AG_SwapBE64 (Uint64 value)


The AG_Swap16(), AG_Swap32() and AG_Swap64() functions return the parameter's value with the byte order reversed.

AG_SwapLE16(), AG_SwapLE32(), and AG_SwapLE64() return the given value with the byte order reversed if the current architecture is big-endian. On little-endian machines, these functions return the value unchanged.

AG_SwapBE16(), AG_SwapBE32() and AG_SwapBE64() return the given value with the byte order reversed if the current architecture is little-endian. On big-endian machines, these functions return the value unchanged.

If 64-bit types are not supported (!AG_HAVE_64BIT), then AG_Swap64(), AG_SwapLE64() and AG_SwapBE64() are undefined.

SEE ALSO

AG_DataSource(3), AG_Intro(3)

HISTORY

The AG_ByteSwap macros first appeared in Agar 1.3
Csoft.net ElectronTubeStore