summaryrefslogtreecommitdiff
path: root/usr/src/man/man3head/endian.h.3head
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man3head/endian.h.3head')
-rw-r--r--usr/src/man/man3head/endian.h.3head88
1 files changed, 88 insertions, 0 deletions
diff --git a/usr/src/man/man3head/endian.h.3head b/usr/src/man/man3head/endian.h.3head
new file mode 100644
index 0000000000..0fe5931751
--- /dev/null
+++ b/usr/src/man/man3head/endian.h.3head
@@ -0,0 +1,88 @@
+.\"
+.\" This file and its contents are supplied under the terms of the
+.\" Common Development and Distribution License ("CDDL"), version 1.0.
+.\" You may only use this file in accordance with the terms of version
+.\" 1.0 of the CDDL.
+.\"
+.\" A full copy of the text of the CDDL should have accompanied this
+.\" source. A copy of the CDDL is also available via the Internet at
+.\" http://www.illumos.org/license/CDDL.
+.\"
+.\"
+.\" Copyright 2016 Joyent, Inc.
+.\"
+.Dd January 30, 2016
+.Dt ENDIAN.H 3HEAD
+.Os
+.Sh NAME
+.Nm endian.h
+.Nd definitions for endian routines
+.Sh SYNOPSIS
+.In endian.h
+.Sh DESCRIPTION
+The
+.In endian.h
+header defines functions and macros focused on converting data between
+the host machines native byte order and big or little-endian values.
+While the manual page details the macros defined by
+.In endian.h ,
+the functions are documented separately in
+.Xr endian 3C.
+More information on endianness and a general background on the topic can
+be found in
+.Xr byteorder 5 .
+.Pp
+The
+.In endian.h
+header defines the following macros:
+.Bl -tag -width Ds
+.It Sy LITTLE_ENDIAN
+A constant used to indicate a little-endian integer. It is always
+defined, regardless of the actual endianess of the underlying platform.
+This macro should be used to compare against the
+.Sy BYTE_ORDER
+macro.
+.It Sy BIG_ENDIAN
+A constant used to indicate a big-endian integer. It is always defined,
+regardless of the actual endianess of the underlying platform. This
+macro should be used to compare against the
+.Sy BYTE_ORDER
+macro.
+.It Sy PDP_ENDIAN
+A constant used to indicate the endianness used for four byte values on
+the PDP-11. It is always defined, regardless of the actual endianess of
+the underlying platform. This macro should be used to compare against
+the
+.Sy BYTE_ORDER
+macro.
+.It Sy BYTE_ORDER
+The value of the
+.Sy BYTE_ORDER
+macro will be one of
+.Sy LITTLE_ENDIAN
+or
+.Sy BIG_ENDIAN .
+At this time, no supported architectures use the byte order indicated by
+the
+.Sy PDP_ENDIAN
+macro.
+.Pp
+To determine the byte order of a system, one may compare the
+.Sy BYTE_ORDER
+to one of the aforementioned macros.
+.El
+.Pp
+In addition to the routines provided by this header, standardized
+functions may be found in
+.Xr byteorder 3C .
+The header
+.Xr types.h 3HEAD
+also defines additional pre-processor symbols to determine the current
+endianness of the system.
+.Sh INTERFACE STABILITY
+.Sy Committed
+.Sh SEE ALSO
+.Xr endian 3C ,
+.Xr types.h 3HEAD ,
+.Xr attributes 5 ,
+.Xr byteorder 5