summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-05-18 01:40:40 +0000
committerobrien <obrien@FreeBSD.org>2001-05-18 01:40:40 +0000
commitf536c9bfce83ebc10fe2142bfef8b7a1c8e56cda (patch)
tree7452cf0c4b8802cd3de1d603b250cfece7ab3f62 /sys
parent01e54fe1163e67ec6b4e6d1f8f833a5b7723b3e7 (diff)
downloadFreeBSD-src-f536c9bfce83ebc10fe2142bfef8b7a1c8e56cda.zip
FreeBSD-src-f536c9bfce83ebc10fe2142bfef8b7a1c8e56cda.tar.gz
Style changes -- revert ordering to mostly two revs ago.
Embellish some comments, fix tab'ing. Requested by: bde
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/include/ansi.h130
-rw-r--r--sys/arm/include/ansi.h117
-rw-r--r--sys/i386/include/ansi.h102
-rw-r--r--sys/ia64/include/ansi.h110
-rw-r--r--sys/powerpc/include/ansi.h125
5 files changed, 293 insertions, 291 deletions
diff --git a/sys/alpha/include/ansi.h b/sys/alpha/include/ansi.h
index b6a842d..e9f14d6 100644
--- a/sys/alpha/include/ansi.h
+++ b/sys/alpha/include/ansi.h
@@ -39,54 +39,26 @@
#define _MACHINE_ANSI_H_
/*
- * Internal names for basic integral types. Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short __int16_t;
-typedef unsigned short __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-typedef long __int64_t;
-typedef unsigned long __uint64_t;
-
-typedef long __intptr_t;
-typedef unsigned long __uintptr_t;
-
-/*
- * We define this here since both <stddef.h> and <sys/types.h> needs it.
- */
-#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
-
-/*
* Types which are fundamental to the implementation and may appear in
* more than one standard header are defined here. Standard headers
* then use:
* #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
+ * typedef _BSD_SIZE_T_ size_t;
* #undef _BSD_SIZE_T_
* #endif
*/
-#define _BSD_CLOCK_T_ int /* clock() */
-#define _BSD_CLOCKID_T_ int /* clockid_t */
-#define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ unsigned long /* sizeof() */
-#define _BSD_SOCKLEN_T_ __uint32_t
-#define _BSD_SSIZE_T_ long /* byte count or error */
-#define _BSD_TIME_T_ int /* time() */
-#define _BSD_TIMER_T_ int /* timer_t */
-
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
-#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
-#else
-typedef struct {
- char *__base;
- int __offset;
- int __pad;
-} __va_list;
-#define _BSD_VA_LIST_ __va_list /* va_list */
-#endif /*__GNUC__*/
+#define _BSD_CLOCK_T_ int /* clock() */
+#define _BSD_CLOCKID_T_ int /* clockid_t */
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
+#define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */
+#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
+#define _BSD_SIZE_T_ unsigned long /* sizeof() */
+#define _BSD_SOCKLEN_T_ __uint32_t
+#define _BSD_SSIZE_T_ long /* byte count or error */
+#define _BSD_TIME_T_ int /* time()... */
+#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
+#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
/*
* Types which are fundamental to the implementation and must be used
@@ -94,40 +66,38 @@ typedef struct {
* one (perhaps nonstandard) header are defined here. Standard headers
* use _BSD_XXX_T_ without undef'ing it.
*/
+#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ long /* file offset */
#define _BSD_PID_T_ int /* process [group] */
+#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#else
+typedef struct {
+ char *__base;
+ int __offset;
+ int __pad;
+} __va_list;
+#define _BSD_VA_LIST_ __va_list /* va_list */
+#endif /*__GNUC__*/
+
/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. Use wchar_t.
- *
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
+ * The rune type above is declared to be an ``int'' instead of the more natural
* ``unsigned long'' or ``long''. Two things are happening here. It is not
* unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
* it looks like 10646 will be a 31 bit standard. This means that if your
* ints cannot hold 32 bits, you will be in trouble. The reason an int was
* chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
-#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t */
-#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t */
-#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
+ * ANSI C), but they use _BSD_CT_RUNE_T_ instead of int. By changing it
+ * here, you lose a bit of ANSI conformance, but your programs will still
+ * work.
+ *
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
*/
-typedef union {
- char __mbstate8[128];
- __int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
/*
* Frequencies of the clock ticks reported by clock() and times(). They
@@ -142,4 +112,34 @@ typedef union {
#define _BSD_CLK_TCK_ 100
#define _BSD_CLOCKS_PER_SEC_ 100
+/*
+ * We define this here since both <stddef.h> and <sys/types.h> needs it.
+ */
+#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+
+/*
+ * Internal names for basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+typedef __signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef long __int64_t;
+typedef unsigned long __uint64_t;
+
+typedef long __intptr_t;
+typedef unsigned long __uintptr_t;
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ __int64_t _mbstateL; /* for alignment */
+ } __mbstate_t;
+
#endif /* _MACHINE_ANSI_H_ */
diff --git a/sys/arm/include/ansi.h b/sys/arm/include/ansi.h
index 24c3ee4..338a2ad 100644
--- a/sys/arm/include/ansi.h
+++ b/sys/arm/include/ansi.h
@@ -37,50 +37,28 @@
#ifndef _MACHINE_ANSI_H_
#define _MACHINE_ANSI_H_
-/*
- * Internal names for basic integral types. Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short __int16_t;
-typedef unsigned short __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-typedef long long __int64_t;
-typedef unsigned long long __uint64_t;
-
-typedef int __intptr_t;
-typedef unsigned int __uintptr_t;
-
-/*
- * We define this here since both <stddef.h> and <sys/types.h> needs it.
- */
-#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
/*
* Types which are fundamental to the implementation and may appear in
* more than one standard header are defined here. Standard headers
* then use:
* #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
+ * typedef _BSD_SIZE_T_ size_t;
* #undef _BSD_SIZE_T_
* #endif
*/
-#define _BSD_CLOCK_T_ int /* clock() */
-#define _BSD_CLOCKID_T_ int /* clockid_t */
-#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ unsigned int /* sizeof() */
-#define _BSD_SOCKLEN_T_ __uint32_t
-#define _BSD_SSIZE_T_ long /* byte count or error */
-#define _BSD_TIME_T_ long /* time() */
-#define _BSD_TIMER_T_ int /* timer_t */
-
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
-#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
-#else
-#define _BSD_VA_LIST_ char * /* va_list */
-#endif /*__GNUC__*/
+#define _BSD_CLOCK_T_ int /* clock() */
+#define _BSD_CLOCKID_T_ int /* clockid_t */
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
+#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
+#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
+#define _BSD_SIZE_T_ unsigned int /* sizeof() */
+#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */
+#define _BSD_SSIZE_T_ long /* byte count or error */
+#define _BSD_TIME_T_ long /* time() */
+#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
+#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
/*
* Types which are fundamental to the implementation and must be used
@@ -88,40 +66,33 @@ typedef unsigned int __uintptr_t;
* one (perhaps nonstandard) header are defined here. Standard headers
* use _BSD_XXX_T_ without undef'ing it.
*/
+#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ __int64_t /* file offset */
#define _BSD_PID_T_ int /* process [group] */
+#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#else
+#define _BSD_VA_LIST_ char * /* va_list */
+#endif /*__GNUC__*/
+
/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. Use wchar_t.
- *
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
+ * The rune type above is declared to be an ``int'' instead of the more natural
* ``unsigned long'' or ``long''. Two things are happening here. It is not
* unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
* it looks like 10646 will be a 31 bit standard. This means that if your
* ints cannot hold 32 bits, you will be in trouble. The reason an int was
* chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
+ * ANSI C), but they use _BSD_CT_RUNE_T_ instead of int. By changing it
+ * here, you lose a bit of ANSI conformance, but your programs will still
+ * work.
*
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
-#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t */
-#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t */
-#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
*/
-typedef union {
- char __mbstate8[128];
- __int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
/*
* Frequencies of the clock ticks reported by clock() and times(). They
@@ -136,4 +107,34 @@ typedef union {
#define _BSD_CLK_TCK_ 100
#define _BSD_CLOCKS_PER_SEC_ 100
+/*
+ * We define this here since both <stddef.h> and <sys/types.h> needs it.
+ */
+#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+
+/*
+ * Internal names for basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+typedef __signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef long long __int64_t;
+typedef unsigned long long __uint64_t;
+
+typedef int __intptr_t;
+typedef unsigned int __uintptr_t;
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ __int64_t _mbstateL; /* for alignment */
+ } __mbstate_t;
+
#endif /* _MACHINE_ANSI_H_ */
diff --git a/sys/i386/include/ansi.h b/sys/i386/include/ansi.h
index 8f41b26..1089ebf 100644
--- a/sys/i386/include/ansi.h
+++ b/sys/i386/include/ansi.h
@@ -38,54 +38,26 @@
#define _MACHINE_ANSI_H_
/*
- * Typedefs for especially magic types. #define's wouldn't work in the
- * __GNUC__ case, since __attribute__(()) only works in certain contexts.
- * This is not in <machine/types.h>, since that has too much namespace
- * pollution for inclusion in ANSI headers, yet we need __int64_t in at
- * least <stdio.h>.
- */
-#ifdef __GNUC__
-typedef int __attribute__((__mode__(__DI__))) __int64_t;
-typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t;
-#else
-/* LONGLONG */
-typedef long long __int64_t;
-/* LONGLONG */
-typedef unsigned long long __uint64_t;
-#endif
-/*
- * Internal names for basic integral types. Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short __int16_t;
-typedef unsigned short __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-
-typedef int __intptr_t;
-typedef unsigned int __uintptr_t;
-
-/*
* Types which are fundamental to the implementation and must be declared
* in more than one standard header are defined here. Standard headers
* then use:
* #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
+ * typedef _BSD_SIZE_T_ size_t;
* #undef _BSD_SIZE_T_
* #endif
*/
#define _BSD_CLOCK_T_ unsigned long /* clock()... */
#define _BSD_CLOCKID_T_ int /* clock_gettime()... */
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
#define _BSD_SIZE_T_ unsigned int /* sizeof() */
-#define _BSD_SOCKLEN_T_ __uint32_t
+#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */
#define _BSD_SSIZE_T_ int /* byte count or error */
#define _BSD_TIME_T_ long /* time()... */
#define _BSD_TIMER_T_ int /* timer_gettime()... */
#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
+#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
/*
* Types which are fundamental to the implementation and must be used
@@ -93,15 +65,13 @@ typedef unsigned int __uintptr_t;
* one (perhaps nonstandard) header are defined here. Standard headers
* use _BSD_XXX_T_ without undef'ing it.
*/
+#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ __int64_t /* file offset */
#define _BSD_PID_T_ int /* process [group] */
#define _BSD_VA_LIST_ char * /* va_list */
/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. Use wchar_t.
- *
- * The rune type is declared to be an ``int'' instead of the more natural
+ * The rune type above is declared to be an ``int'' instead of the more natural
* ``unsigned long'' or ``long''. Two things are happening here. It is not
* unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
* it looks like 10646 will be a 31 bit standard. This means that if your
@@ -111,22 +81,12 @@ typedef unsigned int __uintptr_t;
* here, you lose a bit of ANSI conformance, but your programs will still
* work.
*
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type.
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
*/
-#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
-#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t */
-#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t */
-#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
- */
-typedef union {
- char __mbstate8[128];
- __int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
/*
* Frequencies of the clock ticks reported by clock() and times(). They
@@ -146,4 +106,44 @@ typedef union {
*/
#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+/*
+ * XXX this paragraph is very out of date.
+ * Typedefs for especially magic types. #define's wouldn't work in the
+ * __GNUC__ case, since __attribute__(()) only works in certain contexts.
+ * This is not in <machine/types.h>, since that has too much namespace
+ * pollution for inclusion in ANSI headers, yet we need __int64_t in at
+ * least <stdio.h>.
+ */
+#ifdef __GNUC__
+typedef int __attribute__((__mode__(__DI__))) __int64_t;
+typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t;
+#else
+/* LONGLONG */
+typedef long long __int64_t;
+/* LONGLONG */
+typedef unsigned long long __uint64_t;
+#endif
+/*
+ * Internal names for basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+typedef __signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+
+typedef int __intptr_t;
+typedef unsigned int __uintptr_t;
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ __int64_t _mbstateL; /* for alignment */
+} __mbstate_t;
+
#endif /* !_MACHINE_ANSI_H_ */
diff --git a/sys/ia64/include/ansi.h b/sys/ia64/include/ansi.h
index 5151df5..5d8cacc 100644
--- a/sys/ia64/include/ansi.h
+++ b/sys/ia64/include/ansi.h
@@ -39,44 +39,26 @@
#define _MACHINE_ANSI_H_
/*
- * Internal names for basic integral types. Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short __int16_t;
-typedef unsigned short __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-typedef long __int64_t;
-typedef unsigned long __uint64_t;
-
-typedef long __intptr_t;
-typedef unsigned long __uintptr_t;
-
-/*
- * We define this here since both <stddef.h> and <sys/types.h> needs it.
- */
-#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
-
-/*
* Types which are fundamental to the implementation and may appear in
* more than one standard header are defined here. Standard headers
* then use:
* #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
+ * typedef _BSD_SIZE_T_ size_t;
* #undef _BSD_SIZE_T_
* #endif
*/
-#define _BSD_CLOCK_T_ int /* clock() */
-#define _BSD_CLOCKID_T_ int /* clockid_t */
-#define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ unsigned long /* sizeof() */
-#define _BSD_SOCKLEN_T_ __uint32_t
-#define _BSD_SSIZE_T_ long /* byte count or error */
-#define _BSD_TIME_T_ int /* time() */
-#define _BSD_TIMER_T_ int /* timer_t */
-#define _BSD_VA_LIST_ __builtin_va_list /* va_list */
+#define _BSD_CLOCK_T_ int /* clock() */
+#define _BSD_CLOCKID_T_ int /* clockid_t */
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
+#define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */
+#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
+#define _BSD_SIZE_T_ unsigned long /* sizeof() */
+#define _BSD_SOCKLEN_T_ __uint32_t
+#define _BSD_SSIZE_T_ long /* byte count or error */
+#define _BSD_TIME_T_ int /* time() */
+#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
+#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
/*
* Types which are fundamental to the implementation and must be used
@@ -84,42 +66,28 @@ typedef unsigned long __uintptr_t;
* one (perhaps nonstandard) header are defined here. Standard headers
* use _BSD_XXX_T_ without undef'ing it.
*/
+#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ long /* file offset */
#define _BSD_PID_T_ int /* process [group] */
+#define _BSD_VA_LIST_ __builtin_va_list /* va_list */
/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. Use wchar_t.
- *
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
+ * The rune type above is declared to be an ``int'' instead of the more natural
* ``unsigned long'' or ``long''. Two things are happening here. It is not
* unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
* it looks like 10646 will be a 31 bit standard. This means that if your
* ints cannot hold 32 bits, you will be in trouble. The reason an int was
* chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
+ * ANSI C), but they use _BSD_CT_RUNE_T_ instead of int. By changing it
+ * here, you lose a bit of ANSI conformance, but your programs will still
+ * work.
*
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type.
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
*/
-#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
-#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t */
-#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t */
-#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
- */
-typedef union {
- char __mbstate8[128];
- __int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
/*
* Frequencies of the clock ticks reported by clock() and times(). They
@@ -134,4 +102,34 @@ typedef union {
#define _BSD_CLK_TCK_ 100
#define _BSD_CLOCKS_PER_SEC_ 100
+/*
+ * We define this here since both <stddef.h> and <sys/types.h> needs it.
+ */
+#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+
+/*
+ * Internal names for basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+typedef __signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef long __int64_t;
+typedef unsigned long __uint64_t;
+
+typedef long __intptr_t;
+typedef unsigned long __uintptr_t;
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ __int64_t _mbstateL; /* for alignment */
+} __mbstate_t;
+
#endif /* _MACHINE_ANSI_H_ */
diff --git a/sys/powerpc/include/ansi.h b/sys/powerpc/include/ansi.h
index f5b8507..93f53f0 100644
--- a/sys/powerpc/include/ansi.h
+++ b/sys/powerpc/include/ansi.h
@@ -38,45 +38,38 @@
#define _MACHINE_ANSI_H_
/*
- * Internal names for basic integral types. Omit the typedef if
- * not possible for a machine/compiler combination.
- */
-typedef __signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef short __int16_t;
-typedef unsigned short __uint16_t;
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-typedef long long __int64_t;
-typedef unsigned long long __uint64_t;
-
-typedef int __intptr_t;
-typedef unsigned int __uintptr_t;
-
-/*
- * We define this here since both <stddef.h> and <sys/types.h> needs it.
- */
-#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
-
-/*
* Types which are fundamental to the implementation and may appear in
* more than one standard header are defined here. Standard headers
* then use:
* #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
+ * typedef _BSD_SIZE_T_ size_t;
* #undef _BSD_SIZE_T_
* #endif
*/
-#define _BSD_CLOCK_T_ int /* clock() */
-#define _BSD_CLOCKID_T_ int /* clockid_t */
-#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ unsigned int /* sizeof() */
-#define _BSD_SOCKLEN_T_ __uint32_t
-#define _BSD_SSIZE_T_ long /* byte count or error */
-#define _BSD_TIME_T_ long /* time() */
-#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_CLOCK_T_ int /* clock() */
+#define _BSD_CLOCKID_T_ int /* clockid_t */
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
+#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
+#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
+#define _BSD_SIZE_T_ unsigned int /* sizeof() */
+#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */
+#define _BSD_SSIZE_T_ long /* byte count or error */
+#define _BSD_TIME_T_ long /* time() */
+#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
+#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
+
+/*
+ * Types which are fundamental to the implementation and must be used
+ * in more than one standard header although they are only declared in
+ * one (perhaps nonstandard) header are defined here. Standard headers
+ * use _BSD_XXX_T_ without undef'ing it.
+ */
+#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
+#define _BSD_OFF_T_ __int64_t /* file offset */
+#define _BSD_PID_T_ int /* process [group] */
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
+#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
#else
typedef struct {
@@ -86,46 +79,26 @@ typedef struct {
char *__stack;
char *__base;
} __va_list;
-#define _BSD_VA_LIST_ __va_list /* va_list */
+#define _BSD_VA_LIST_ __va_list /* va_list */
#endif /*__GNUC__*/
/*
- * Types which are fundamental to the implementation and must be used
- * in more than one standard header although they are only declared in
- * one (perhaps nonstandard) header are defined here. Standard headers
- * use _BSD_XXX_T_ without undef'ing it.
- */
-#define _BSD_OFF_T_ __int64_t /* file offset */
-#define _BSD_PID_T_ int /* process [group] */
-
-/*
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
+ * The rune type above is declared to be an ``int'' instead of the more natural
* ``unsigned long'' or ``long''. Two things are happening here. It is not
* unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
* it looks like 10646 will be a 31 bit standard. This means that if your
* ints cannot hold 32 bits, you will be in trouble. The reason an int was
* chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
+ * ANSI C), but they use _BSD_CT_RUNE_T_ instead of int. By changing it
+ * here, you lose a bit of ANSI conformance, but your programs will still
+ * work.
*
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
-#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t */
-#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t */
-#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
+ * NOTE: rune_t is not covered by ANSI nor other standards, and should not
+ * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
+ * rune_t must be the same type. Also wint_t must be no narrower than
+ * wchar_t, and should also be able to hold all members of the largest
+ * character set plus one extra value (WEOF). wint_t must be at least 16 bits.
*/
-typedef union {
- char __mbstate8[128];
- __int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
/*
* Frequencies of the clock ticks reported by clock() and times(). They
@@ -140,4 +113,34 @@ typedef union {
#define _BSD_CLK_TCK_ 100
#define _BSD_CLOCKS_PER_SEC_ 100
+/*
+ * We define this here since both <stddef.h> and <sys/types.h> needs it.
+ */
+#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
+
+/*
+ * Internal names for basic integral types. Omit the typedef if
+ * not possible for a machine/compiler combination.
+ */
+typedef __signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef short __int16_t;
+typedef unsigned short __uint16_t;
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef long long __int64_t;
+typedef unsigned long long __uint64_t;
+
+typedef int __intptr_t;
+typedef unsigned int __uintptr_t;
+
+/*
+ * mbstate_t is an opaque object to keep conversion state, during multibyte
+ * stream conversions. The content must not be referenced by user programs.
+ */
+typedef union {
+ char __mbstate8[128];
+ __int64_t _mbstateL; /* for alignment */
+} __mbstate_t;
+
#endif /* _MACHINE_ANSI_H_ */
OpenPOWER on IntegriCloud