diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2014-07-12 16:25:10 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2014-07-12 16:25:10 +0000 |
commit | 2039f6b74df84ee50091647629f3c65b57371135 (patch) | |
tree | 076e09339c1066da837771e8393ddab7ce9ff891 /sys/arch/vax | |
parent | 30586300cf458635b5a017a2f2e7c7345538d628 (diff) |
Tackle the endian.h mess. Make it so that:
* you can #include <sys/endian.h> instead of <machine/endian.h>,
and ditto <endian.h> (fixes code that pulls in <sys/endian.h> first)
* those will always export the symbols that POSIX specified for
<endian.h>, including the new {be,le}{16,32,64}toh() set. c.f.
http://austingroupbugs.net/view.php?id=162
if __BSD_VISIBLE then you also get the symbols that our <machine/endian.h>
currently exports (ntohs, NTOHS, dlg's bemtoh*, etc)
* when doing POSIX compiles (not __BSD_VISIBLE), then <netinet/in.h> and
<arpa/inet.h> will *stop* exporting the extra symbols like BYTE_ORDER
and betoh*
ok deraadt@
Diffstat (limited to 'sys/arch/vax')
-rw-r--r-- | sys/arch/vax/include/endian.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/arch/vax/include/endian.h b/sys/arch/vax/include/endian.h index d3407e2a5d0..b8105016565 100644 --- a/sys/arch/vax/include/endian.h +++ b/sys/arch/vax/include/endian.h @@ -1,4 +1,4 @@ -/* $OpenBSD: endian.h,v 1.16 2013/07/05 21:10:50 miod Exp $ */ +/* $OpenBSD: endian.h,v 1.17 2014/07/12 16:25:09 guenther Exp $ */ /*- * Copyright (c) 1997 Niklas Hallqvist. All rights reserved. @@ -32,7 +32,7 @@ #define __swap64md __swap64gen #define __swap32md(x) __statement({ \ - u_int32_t __swap32md_y, __swap32md_x = (x); \ + __uint32_t __swap32md_y, __swap32md_x = (x); \ \ __asm ("rotl $-8, %1, %0; insv %0, $16, $8, %0; " \ "rotl $8, %1, %%r1; movb %%r1, %0" : \ @@ -41,7 +41,7 @@ }) #define __swap16md(x) __statement({ \ - u_int16_t __swap16md_y, __swap16md_x = (x); \ + __uint16_t __swap16md_y, __swap16md_x = (x); \ \ __asm ("rotl $8, %1, %0; rotl $-8, %1, %%r1; movb %%r1, %0; " \ "movzwl %0, %0" : \ @@ -51,12 +51,15 @@ /* Tell sys/endian.h we have MD variants of the swap macros. */ #ifdef notyet -#define MD_SWAP +#define __HAVE_MD_SWAP #endif #endif /* __GNUC__ */ #define _BYTE_ORDER _LITTLE_ENDIAN + +#ifndef __FROM_SYS__ENDIAN #include <sys/endian.h> +#endif #endif /* _MACHINE_ENDIAN_H_ */ |