Date: Sat, 14 Sep 2002 09:51:20 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: grog@FreeBSD.org Cc: phk@FreeBSD.org, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/geom geom.h geom_enc.c Message-ID: <20020914.095120.48398209.imp@bsdimp.com> In-Reply-To: <20020914013012.GU25003@wantadilla.lemis.com> References: <200209131033.g8DAXA0q006395@freefall.freebsd.org> <20020914013012.GU25003@wantadilla.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020914013012.GU25003@wantadilla.lemis.com>
"Greg 'groggy' Lehey" <grog@FreeBSD.org> writes:
: On Friday, 13 September 2002 at 3:33:10 -0700, Poul-Henning Kamp wrote:
: > phk 2002/09/13 03:33:10 PDT
: >
: > Modified files:
: > sys/geom geom.h geom_enc.c
: > Log:
: > Add a couple more of the big/little-endian conversion routines and make
: > them visible from userland, if need be.
: >
: > I wish that the C language contained this as part of struct definintions,
: > but failing that, I would settle for an agreed upon set of functions for
: > packing/unpacking integers in various sizes from byte-streams which may
: > have unfriendly alignment.
:
: Is there any reason not to use the Linux function names (be32_to_cpu,
: cpu_to_le16, etc.)?
Because BSD already has these defined in sys/endian.h:
#define htobe16(x) bswap16((x))
#define htobe32(x) bswap32((x))
#define htobe64(x) bswap64((x))
#define htole16(x) ((uint16_t)(x))
#define htole32(x) ((uint32_t)(x))
#define htole64(x) ((uint64_t)(x))
#define be16toh(x) bswap16((x))
#define be32toh(x) bswap32((x))
#define be64toh(x) bswap64((x))
#define le16toh(x) ((uint16_t)(x))
#define le32toh(x) ((uint32_t)(x))
#define le64toh(x) ((uint64_t)(x))
But this is different than what phk wants, since they may not work in
the case of unfriendly alignment.
Warner
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020914.095120.48398209.imp>
