FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

bswap16, bswap32, bswap64, be16toh, be32toh, be64toh, htobe16, htobe32,

 

NAME

      bswap16, bswap32, bswap64, be16toh, be32toh, be64toh, htobe16, htobe32,
      htobe64, htole16, htole32, htole64, le16toh, le32toh, le64toh, be16enc,
      be16dec, be32enc, be32dec, be64enc, be64dec, le16enc, le16dec, le32enc,
      le32dec, le64enc, le64dec - byte order operations
 

SYNOPSIS

      #include <sys/endian.h>
 
      uint16_t
      bswap16(uint16_t int16);
 
      uint32_t
      bswap32(uint32_t int32);
 
      uint64_t
      bswap64(uint64_t int64);
 
      uint16_t
      be16toh(uint16_t big16);
 
      uint32_t
      be32toh(uint32_t big32);
 
      uint64_t
      be64toh(uint64_t big64);
 
      uint16_t
      htobe16(uint16_t host16);
 
      uint32_t
      htobe32(uint32_t host32);
 
      uint64_t
      htobe64(uint64_t host64);
 
      uint16_t
      htole16(uint16_t host16);
 
      uint32_t
      htole32(uint32_t host32);
 
      uint64_t
      htole64(uint64_t host64);
 
      uint16_t
      le16toh(uint16_t little16);
 
      uint32_t
      le32toh(uint32_t little32);
 
      uint64_t
      le64toh(uint64_t little64);
 
      uint16_t
      be16dec(const void *);
 
      uint32_t
      be32dec(const void *);
 
      uint64_t
      be64dec(const void *);
 
      uint16_t
      le16dec(const void *);
 
      uint32_t
      le32dec(const void *);
 
      uint64_t
      le64dec(const void *);
 
      void
      be16enc(void *, uint16_t);
 
      void
      be32enc(void *, uint32_t);
 
      void
      be64enc(void *, uint64_t);
 
      void
      le16enc(void *, uint16_t);
 
      void
      le32enc(void *, uint32_t);
 
      void
      le64enc(void *, uint64_t);
 

DESCRIPTION

      The bswap16(), bswap32(), and bswap64() functions return a byte order
      swapped integer.  On big endian systems, the number is converted to lit‐
      tle endian byte order.  On little endian systems, the number is converted
      to big endian byte order.
 
      The be16toh(), be32toh(), and be64toh() functions return a big endian
      byte ordered integer converted to the system’s native byte order.  The
      return value will be the same as the argument on big endian systems.
 
      The le16toh(), le32toh(), and le64toh() functions return a little endian
      byte ordered integer converted to the system’s native byte order.  The
      return value will be the same as the argument on little endian systems.
 
      The htobe16(), htobe32(), and htobe64() functions return a integer in the
      system’s native byte order converted to big endian byte order.  The
      return value will be the same as the argument on big endian systems.
 
      The htole16(), htole32(), and htole64() functions return a integer in the
      system’s native byte order converted to little endian byte order.  The
      return value will be the same as the argument on little endian systems.
 
      The be16enc(), be16dec(), be32enc(), be32dec(), be64enc(), be64dec(),
      le16enc(), le16dec(), le32enc(), le32dec(), le64enc(), and le64dec()
      functions encode and decode integers to/from byte strings on any align‐
      ment in big/little endian format.
      byteorder(3)
 

HISTORY

      The hto*() and toh*() functions first appeared in FreeBSD 5.0, and were
      originally developed by the NetBSD project.
 
      The encode/decode functions first appeared in FreeBSD 5.1.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.