Date: Tue, 13 Aug 2019 09:50:14 -0700 From: "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com> To: Alan Somers <asomers@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head@freebsd.org Subject: Re: svn commit: r350993 - head/sbin/ping6 Message-ID: <B49D11C2-BD72-4610-ACE1-F212C85BD568@gmail.com> In-Reply-To: <201908131622.x7DGMhUL047226@repo.freebsd.org> References: <201908131622.x7DGMhUL047226@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Aug 13, 2019, at 09:22, Alan Somers <asomers@freebsd.org> wrote: >=20 > Author: asomers > Date: Tue Aug 13 16:22:43 2019 > New Revision: 350993 > URL: https://svnweb.freebsd.org/changeset/base/350993 >=20 > Log: > Consistently use the byteorder functions in the correct direction >=20 > Though ntohs and htons are functionally identical, they have = different meanings.Using the correct one helps to document the code. This statement is only true for BE platforms. For LE platforms like = i386/x64, ntohs and htons actually does a endianness conversion: sys/powerpc/include/endian.h:#define __ntohs(x) = (__bswap16((__uint16_t)(x))) sys/powerpc/include/endian.h:#define __ntohs(x) = ((__uint16_t)(x)) sys/sparc64/include/endian.h:#define __ntohs(x) = ((__uint16_t)(x)) sys/x86/include/endian.h:#define __ntohs(x) __bswap16(x) sys/mips/include/endian.h:#define __ntohs(x) = ((__uint16_t)(x)) sys/mips/include/endian.h:#define __ntohs(x) (__bswap16((x))) sys/arm/include/endian.h:#define __ntohs(x) ((__uint16_t)(x)) sys/arm/include/endian.h:#define __ntohs(x) (__bswap16(x)) sys/arm64/include/endian.h:#define __ntohs(x) (__bswap16(x)) sys/riscv/include/endian.h:#define __ntohs(x) (__bswap16(x)) sys/sys/param.h:#define ntohs(x) __ntohs(x) sys/netinet/in.h:#define ntohs(x) __ntohs(x) Thanks, -Enji
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B49D11C2-BD72-4610-ACE1-F212C85BD568>