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>