Module Name:    src
Committed By:   tsutsui
Date:           Tue Mar 31 16:12:00 UTC 2009

Modified Files:
        src/distrib/sets/lists/comp: mi
        src/share/man/man9: Makefile
Added Files:
        src/share/man/man9: byteorder.9

Log Message:
Add byteorder(9) man page which describes htole32() etc.  From FreeBSD
via PR misc/40770, with some tweaks by me.


To generate a diff of this commit:
cvs rdiff -u -r1.1238 -r1.1239 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.277 -r1.278 src/share/man/man9/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man9/byteorder.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.1238 src/distrib/sets/lists/comp/mi:1.1239
--- src/distrib/sets/lists/comp/mi:1.1238	Sat Mar  7 22:08:07 2009
+++ src/distrib/sets/lists/comp/mi	Tue Mar 31 16:11:59 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: mi,v 1.1238 2009/03/07 22:08:07 ad Exp $
+#	$NetBSD: mi,v 1.1239 2009/03/31 16:11:59 tsutsui Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -8088,6 +8088,15 @@
 ./usr/share/man/cat9/bcopy.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/bdevvp.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/bdwrite.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be16dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be16enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be16toh.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be32dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be32enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be32toh.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be64dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be64enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/be64toh.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/bintobcd.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/bintime.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/binuptime.0		comp-sys-catman		.cat
@@ -8101,6 +8110,9 @@
 ./usr/share/man/cat9/breada.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/breadn.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/brelse.0			comp-sys-catman		.cat
+./usr/share/man/cat9/bswap16.0			comp-sys-catman		.cat
+./usr/share/man/cat9/bswap32.0			comp-sys-catman		.cat
+./usr/share/man/cat9/bswap64.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/buffercache.0		comp-sys-catman		.cat
 ./usr/share/man/cat9/bufq.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/bus_dma.0			comp-sys-catman		.cat
@@ -8161,6 +8173,7 @@
 ./usr/share/man/cat9/bus_space_write_region_4.0	comp-sys-catman		.cat
 ./usr/share/man/cat9/bus_space_write_region_8.0	comp-sys-catman		.cat
 ./usr/share/man/cat9/bwrite.0			comp-sys-catman		.cat
+./usr/share/man/cat9/byteorder.0		comp-sys-catman		.cat
 ./usr/share/man/cat9/bzero.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/cache_enter.0		comp-sys-catman		.cat
 ./usr/share/man/cat9/cache_lookup.0		comp-sys-catman		.cat
@@ -8428,6 +8441,12 @@
 ./usr/share/man/cat9/hashdone.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/hashinit.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/holdrele.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htobe16.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htobe32.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htobe64.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htole16.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htole32.0			comp-sys-catman		.cat
+./usr/share/man/cat9/htole64.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/humanize_number.0		comp-sys-catman		.cat
 ./usr/share/man/cat9/hz.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/i386/bios32_service.0	comp-sys-catman		.cat
@@ -8536,6 +8555,15 @@
 ./usr/share/man/cat9/kthread_create1.0		comp-obsolete		obsolete
 ./usr/share/man/cat9/kthread_destroy.0		comp-sys-catman		.cat
 ./usr/share/man/cat9/kthread_exit.0		comp-sys-catman		.cat
+./usr/share/man/cat9/le16dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le16enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le16toh.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le32dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le32enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le32toh.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le64dec.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le64enc.0			comp-sys-catman		.cat
+./usr/share/man/cat9/le64toh.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/linedisc.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/lock.0			comp-sys-catman		.cat
 ./usr/share/man/cat9/lockinit.0			comp-sys-catman		.cat
@@ -13318,6 +13346,15 @@
 ./usr/share/man/html9/bcopy.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bdevvp.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bdwrite.html		comp-sys-htmlman	html
+./usr/share/man/html9/be16dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/be16enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/be16toh.html		comp-sys-htmlman	html
+./usr/share/man/html9/be32dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/be32enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/be32toh.html		comp-sys-htmlman	html
+./usr/share/man/html9/be64dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/be64enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/be64toh.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bintobcd.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bintime.html		comp-sys-htmlman	html
 ./usr/share/man/html9/binuptime.html		comp-sys-htmlman	html
@@ -13331,6 +13368,9 @@
 ./usr/share/man/html9/breada.html		comp-sys-htmlman	html
 ./usr/share/man/html9/breadn.html		comp-sys-htmlman	html
 ./usr/share/man/html9/brelse.html		comp-sys-htmlman	html
+./usr/share/man/html9/bswap16.html		comp-sys-htmlman	html
+./usr/share/man/html9/bswap32.html		comp-sys-htmlman	html
+./usr/share/man/html9/bswap64.html		comp-sys-htmlman	html
 ./usr/share/man/html9/buffercache.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bufq.html			comp-sys-htmlman	html
 ./usr/share/man/html9/bus_dma.html		comp-sys-htmlman	html
@@ -13391,6 +13431,7 @@
 ./usr/share/man/html9/bus_space_write_region_4.html	comp-sys-htmlman	html
 ./usr/share/man/html9/bus_space_write_region_8.html	comp-sys-htmlman	html
 ./usr/share/man/html9/bwrite.html		comp-sys-htmlman	html
+./usr/share/man/html9/byteorder.html		comp-sys-htmlman	html
 ./usr/share/man/html9/bzero.html		comp-sys-htmlman	html
 ./usr/share/man/html9/cache_enter.html		comp-sys-htmlman	html
 ./usr/share/man/html9/cache_lookup.html		comp-sys-htmlman	html
@@ -13636,6 +13677,12 @@
 ./usr/share/man/html9/hashdone.html		comp-sys-htmlman	html
 ./usr/share/man/html9/hashinit.html		comp-sys-htmlman	html
 ./usr/share/man/html9/holdrele.html		comp-sys-htmlman	html
+./usr/share/man/html9/htobe16.html		comp-sys-htmlman	html
+./usr/share/man/html9/htobe32.html		comp-sys-htmlman	html
+./usr/share/man/html9/htobe64.html		comp-sys-htmlman	html
+./usr/share/man/html9/htole16.html		comp-sys-htmlman	html
+./usr/share/man/html9/htole32.html		comp-sys-htmlman	html
+./usr/share/man/html9/htole64.html		comp-sys-htmlman	html
 ./usr/share/man/html9/humanize_number.html	comp-sys-htmlman	html
 ./usr/share/man/html9/hz.html			comp-sys-htmlman	html
 ./usr/share/man/html9/i386/bios32_service.html	comp-sys-htmlman	html
@@ -13741,6 +13788,15 @@
 ./usr/share/man/html9/kthread_create.html	comp-sys-htmlman	html
 ./usr/share/man/html9/kthread_destroy.html	comp-sys-htmlman	html
 ./usr/share/man/html9/kthread_exit.html		comp-sys-htmlman	html
+./usr/share/man/html9/le16dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/le16enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/le16toh.html		comp-sys-htmlman	html
+./usr/share/man/html9/le32dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/le32enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/le32toh.html		comp-sys-htmlman	html
+./usr/share/man/html9/le64dec.html		comp-sys-htmlman	html
+./usr/share/man/html9/le64enc.html		comp-sys-htmlman	html
+./usr/share/man/html9/le64toh.html		comp-sys-htmlman	html
 ./usr/share/man/html9/linedisc.html		comp-sys-htmlman	html
 ./usr/share/man/html9/lock.html			comp-sys-htmlman	html
 ./usr/share/man/html9/lockinit.html		comp-sys-htmlman	html
@@ -18660,6 +18716,15 @@
 ./usr/share/man/man9/bcopy.9			comp-sys-man		.man
 ./usr/share/man/man9/bdevvp.9			comp-sys-man		.man
 ./usr/share/man/man9/bdwrite.9			comp-sys-man		.man
+./usr/share/man/man9/be16dec.9			comp-sys-man		.man
+./usr/share/man/man9/be16enc.9			comp-sys-man		.man
+./usr/share/man/man9/be16toh.9			comp-sys-man		.man
+./usr/share/man/man9/be32dec.9			comp-sys-man		.man
+./usr/share/man/man9/be32enc.9			comp-sys-man		.man
+./usr/share/man/man9/be32toh.9			comp-sys-man		.man
+./usr/share/man/man9/be64dec.9			comp-sys-man		.man
+./usr/share/man/man9/be64enc.9			comp-sys-man		.man
+./usr/share/man/man9/be64toh.9			comp-sys-man		.man
 ./usr/share/man/man9/bintobcd.9			comp-sys-man		.man
 ./usr/share/man/man9/bintime.9			comp-sys-man		.man
 ./usr/share/man/man9/binuptime.9		comp-sys-man		.man
@@ -18673,6 +18738,9 @@
 ./usr/share/man/man9/breada.9			comp-sys-man		.man
 ./usr/share/man/man9/breadn.9			comp-sys-man		.man
 ./usr/share/man/man9/brelse.9			comp-sys-man		.man
+./usr/share/man/man9/bswap16.9			comp-sys-man		.man
+./usr/share/man/man9/bswap32.9			comp-sys-man		.man
+./usr/share/man/man9/bswap64.9			comp-sys-man		.man
 ./usr/share/man/man9/buffercache.9		comp-sys-man		.man
 ./usr/share/man/man9/bufq.9			comp-sys-man		.man
 ./usr/share/man/man9/bus_dma.9			comp-sys-man		.man
@@ -18733,6 +18801,7 @@
 ./usr/share/man/man9/bus_space_write_region_4.9	comp-sys-man		.man
 ./usr/share/man/man9/bus_space_write_region_8.9	comp-sys-man		.man
 ./usr/share/man/man9/bwrite.9			comp-sys-man		.man
+./usr/share/man/man9/byteorder.9		comp-sys-man		.man
 ./usr/share/man/man9/bzero.9			comp-sys-man		.man
 ./usr/share/man/man9/cache_enter.9		comp-sys-man		.man
 ./usr/share/man/man9/cache_lookup.9		comp-sys-man		.man
@@ -19000,6 +19069,12 @@
 ./usr/share/man/man9/hashdone.9			comp-sys-man		.man
 ./usr/share/man/man9/hashinit.9			comp-sys-man		.man
 ./usr/share/man/man9/holdrele.9			comp-sys-man		.man
+./usr/share/man/man9/htobe16.9			comp-sys-man		.man
+./usr/share/man/man9/htobe32.9			comp-sys-man		.man
+./usr/share/man/man9/htobe64.9			comp-sys-man		.man
+./usr/share/man/man9/htole16.9			comp-sys-man		.man
+./usr/share/man/man9/htole32.9			comp-sys-man		.man
+./usr/share/man/man9/htole64.9			comp-sys-man		.man
 ./usr/share/man/man9/humanize_number.9		comp-sys-man		.man
 ./usr/share/man/man9/hz.9			comp-sys-man		.man
 ./usr/share/man/man9/i386/bios32_service.9	comp-sys-man		.man
@@ -19108,6 +19183,15 @@
 ./usr/share/man/man9/kthread_create1.9		comp-obsolete		obsolete
 ./usr/share/man/man9/kthread_destroy.9		comp-sys-man		.man
 ./usr/share/man/man9/kthread_exit.9		comp-sys-man		.man
+./usr/share/man/man9/le16dec.9			comp-sys-man		.man
+./usr/share/man/man9/le16enc.9			comp-sys-man		.man
+./usr/share/man/man9/le16toh.9			comp-sys-man		.man
+./usr/share/man/man9/le32dec.9			comp-sys-man		.man
+./usr/share/man/man9/le32enc.9			comp-sys-man		.man
+./usr/share/man/man9/le32toh.9			comp-sys-man		.man
+./usr/share/man/man9/le64dec.9			comp-sys-man		.man
+./usr/share/man/man9/le64enc.9			comp-sys-man		.man
+./usr/share/man/man9/le64toh.9			comp-sys-man		.man
 ./usr/share/man/man9/linedisc.9			comp-sys-man		.man
 ./usr/share/man/man9/lock.9			comp-sys-man		.man
 ./usr/share/man/man9/lockinit.9			comp-sys-man		.man

Index: src/share/man/man9/Makefile
diff -u src/share/man/man9/Makefile:1.277 src/share/man/man9/Makefile:1.278
--- src/share/man/man9/Makefile:1.277	Fri Jan 16 09:51:34 2009
+++ src/share/man/man9/Makefile	Tue Mar 31 16:12:00 2009
@@ -1,11 +1,11 @@
-#       $NetBSD: Makefile,v 1.277 2009/01/16 09:51:34 uebayasi Exp $
+#       $NetBSD: Makefile,v 1.278 2009/03/31 16:12:00 tsutsui Exp $
 
 #	Makefile for section 9 (kernel function and variable) manual pages.
 
 MAN=	accept_filter.9 accf_data.9 accf_http.9 \
 	altq.9 arc4random.9 arp.9 audio.9 autoconf.9 \
 	bcdtobin.9 bcmp.9 bcopy.9 bluetooth.9 bzero.9 \
-	buffercache.9 bufq.9 bus_dma.9 bus_space.9 \
+	buffercache.9 bufq.9 bus_dma.9 bus_space.9 byteorder.9 \
 	callout.9 cardbus.9 cnmagic.9 condvar.9 config.9 cons.9 copy.9 \
 	coredump_write.9 \
 	cpu_configure.9 cpu_coredump.9 cpu_dumpconf.9 \
@@ -152,6 +152,15 @@
 	bus_dma.9 bus_dmamem_map.9 bus_dma.9 bus_dmamem_unmap.9 \
 	bus_dma.9 bus_dmamem_mmap.9 \
 	bus_dma.9 bus_dmatag_subregion.9 bus_dma.9 bus_dmatag_destroy.9
+MLINKS+=byteorder.9 bswap16.9 byteorder.9 bswap32.9 byteorder.9 bswap64.9 \
+	byteorder.9 be16toh.9 byteorder.9 be32toh.9 byteorder.9 be64toh.9 \
+	byteorder.9 htobe16.9 byteorder.9 htobe32.9 byteorder.9 htobe64.9 \
+	byteorder.9 htole16.9 byteorder.9 htole32.9 byteorder.9 htole64.9 \
+	byteorder.9 le16toh.9 byteorder.9 le32toh.9 byteorder.9 le64toh.9 \
+	byteorder.9 be16dec.9 byteorder.9 be32dec.9 byteorder.9 be64dec.9 \
+	byteorder.9 le16dec.9 byteorder.9 le32dec.9 byteorder.9 le64dec.9 \
+	byteorder.9 be16enc.9 byteorder.9 be32enc.9 byteorder.9 be64enc.9 \
+	byteorder.9 le16enc.9 byteorder.9 le32enc.9 byteorder.9 le64enc.9
 MLINKS+=callout.9 callout_init.9 callout.9 callout_destroy.9 \
 	callout.9 callout_reset.9 callout.9 callout_schedule.9 \
 	callout.9 callout_setfunc.9 callout.9 callout_stop.9 \

Added files:

Index: src/share/man/man9/byteorder.9
diff -u /dev/null src/share/man/man9/byteorder.9:1.1
--- /dev/null	Tue Mar 31 16:12:00 2009
+++ src/share/man/man9/byteorder.9	Tue Mar 31 16:12:00 2009
@@ -0,0 +1,200 @@
+.\"	$NetBSD: byteorder.9,v 1.1 2009/03/31 16:12:00 tsutsui Exp $
+.\"
+.\" Copyright (c) 2002 Mike Barcroft <m...@freebsd.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: src/share/man/man9/byteorder.9,v 1.6 2003/05/21 17:32:55 ru Exp $
+.\"
+.Dd March 31, 2009
+.Dt BYTEORDER 9
+.Os
+.Sh NAME
+.Nm bswap16 ,
+.Nm bswap32 ,
+.Nm bswap64 ,
+.Nm be16toh ,
+.Nm be32toh ,
+.Nm be64toh ,
+.Nm htobe16 ,
+.Nm htobe32 ,
+.Nm htobe64 ,
+.Nm htole16 ,
+.Nm htole32 ,
+.Nm htole64 ,
+.Nm le16toh ,
+.Nm le32toh ,
+.Nm le64toh ,
+.Nm be16enc ,
+.Nm be16dec ,
+.Nm be32enc ,
+.Nm be32dec ,
+.Nm be64enc ,
+.Nm be64dec ,
+.Nm le16enc ,
+.Nm le16dec ,
+.Nm le32enc ,
+.Nm le32dec ,
+.Nm le64enc ,
+.Nm le64dec
+.Nd byte order operations
+.Sh SYNOPSIS
+.In sys/endian.h
+.Ft uint16_t
+.Fn bswap16 "uint16_t int16"
+.Ft uint32_t
+.Fn bswap32 "uint32_t int32"
+.Ft uint64_t
+.Fn bswap64 "uint64_t int64"
+.Ft uint16_t
+.Fn be16toh "uint16_t big16"
+.Ft uint32_t
+.Fn be32toh "uint32_t big32"
+.Ft uint64_t
+.Fn be64toh "uint64_t big64"
+.Ft uint16_t
+.Fn htobe16 "uint16_t host16"
+.Ft uint32_t
+.Fn htobe32 "uint32_t host32"
+.Ft uint64_t
+.Fn htobe64 "uint64_t host64"
+.Ft uint16_t
+.Fn htole16 "uint16_t host16"
+.Ft uint32_t
+.Fn htole32 "uint32_t host32"
+.Ft uint64_t
+.Fn htole64 "uint64_t host64"
+.Ft uint16_t
+.Fn le16toh "uint16_t little16"
+.Ft uint32_t
+.Fn le32toh "uint32_t little32"
+.Ft uint64_t
+.Fn le64toh "uint64_t little64"
+.Ft uint16_t
+.Fn be16dec "const void *stream"
+.Ft uint32_t
+.Fn be32dec "const void *stream"
+.Ft uint64_t
+.Fn be64dec "const void *stream"
+.Ft uint16_t
+.Fn le16dec "const void *stream"
+.Ft uint32_t
+.Fn le32dec "const void *stream"
+.Ft uint64_t
+.Fn le64dec "const void *stream"
+.Ft void
+.Fn be16enc "void *stream" "uint16_t host16"
+.Ft void
+.Fn be32enc "void *stream" "uint32_t host32"
+.Ft void
+.Fn be64enc "void *stream" "uint64_t host64"
+.Ft void
+.Fn le16enc "void *stream" "uint16_t host16"
+.Ft void
+.Fn le32enc "void *stream" "uint32_t host32"
+.Ft void
+.Fn le64enc "void *stream" "uint64_t host64"
+.Sh DESCRIPTION
+The
+.Fn bswap16 ,
+.Fn bswap32 ,
+and
+.Fn 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 converted to big endian byte order.
+.Pp
+The
+.Fn be16toh ,
+.Fn be32toh ,
+and
+.Fn 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.
+.Pp
+The
+.Fn le16toh ,
+.Fn le32toh ,
+and
+.Fn 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.
+.Pp
+The
+.Fn htobe16 ,
+.Fn htobe32 ,
+and
+.Fn 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.
+.Pp
+The
+.Fn htole16 ,
+.Fn htole32 ,
+and
+.Fn 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.
+.Pp
+The
+.Fn be16enc ,
+.Fn be16dec ,
+.Fn be32enc ,
+.Fn be32dec ,
+.Fn be64enc ,
+.Fn be64dec ,
+.Fn le16enc ,
+.Fn le16dec ,
+.Fn le32enc ,
+.Fn le32dec ,
+.Fn le64enc ,
+and
+.Fn le64dec
+functions encode and decode integers to/from octet stream
+on any alignment in big/little endian format.
+.Sh SEE ALSO
+.Xr byteorder 3
+.Sh HISTORY
+The
+.Fn hto*
+and
+.Fn toh*
+functions first appeared in
+.Nx 1.5 .
+These functions were introduced to handle PCI bus master devices which assumed
+host's memory used to pass integer parameters via DMA transfer was
+always little endian even on big endian systems.
+.Pp
+The encode/decode functions first appeared in
+.Fx 5.1 ,
+and ported to
+.Nx 3.0
+as a part of
+.Xr uuidgen 2
+support.
+.Sh AUTHORS
+This manual page was written by Mike Barcroft <m...@freebsd.org>.

Reply via email to