Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BYTEORDER(9)		   Kernel Developer's Manual		  BYTEORDER(9)

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
       little endian byte order.  On little endian systems, the	number is con-
       verted 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 en-
       dian byte ordered integer converted to the system's native byte	order.
       The return value	will be	the same as the	argument on little endian sys-
       tems.

       The  htobe16(), htobe32(), and htobe64()	functions return an 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 sys-
       tems.

       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.

SEE ALSO
       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.

FreeBSD	14.3			April 29, 2002			  BYTEORDER(9)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=byteorder&sektion=9&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help