diff options
author | mike <mike@FreeBSD.org> | 2002-08-21 16:20:02 +0000 |
---|---|---|
committer | mike <mike@FreeBSD.org> | 2002-08-21 16:20:02 +0000 |
commit | 9e6f796b0d2083dcc48c062853660f96db0a3c8d (patch) | |
tree | 7e9e16e835d265de592c113ee6c5d85f9be039cb /sys/arm/include/ansi.h | |
parent | d5203d1ff8cef07eff72ad400fde5c759623752e (diff) | |
download | FreeBSD-src-9e6f796b0d2083dcc48c062853660f96db0a3c8d.zip FreeBSD-src-9e6f796b0d2083dcc48c062853660f96db0a3c8d.tar.gz |
o Merge <machine/ansi.h> and <machine/types.h> into a new header
called <machine/_types.h>.
o <machine/ansi.h> will continue to live so it can define MD clock
macros, which are only MD because of gratuitous differences between
architectures.
o Change all headers to make use of this. This mainly involves
changing:
#ifdef _BSD_FOO_T_
typedef _BSD_FOO_T_ foo_t;
#undef _BSD_FOO_T_
#endif
to:
#ifndef _FOO_T_DECLARED
typedef __foo_t foo_t;
#define _FOO_T_DECLARED
#endif
Concept by: bde
Reviewed by: jake, obrien
Diffstat (limited to 'sys/arm/include/ansi.h')
-rw-r--r-- | sys/arm/include/ansi.h | 123 |
1 files changed, 1 insertions, 122 deletions
diff --git a/sys/arm/include/ansi.h b/sys/arm/include/ansi.h index 2596276..5525ef7 100644 --- a/sys/arm/include/ansi.h +++ b/sys/arm/include/ansi.h @@ -38,66 +38,6 @@ #define _MACHINE_ANSI_H_ /* - * 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; - * #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 /* socklen_t (duh) */ -#define _BSD_SSIZE_T_ int /* byte count or error */ -#define _BSD_TIME_T_ int /* 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 - * 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 || __GNUC__ >= 3) -#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */ -#else -#define _BSD_VA_LIST_ char * /* va_list */ -#endif /* post GCC 2.95 */ -#if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) -#define __GNUC_VA_LIST -typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/ -#endif - -/* - * 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 _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. - */ - -/* * Frequencies of the clock ticks reported by clock() and times(). They * are the same as stathz for bogus historical reasons. They should be * 1e6 because clock() and times() are implemented using getrusage() and @@ -110,65 +50,4 @@ typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/ #define _BSD_CLK_TCK_ 100 #define _BSD_CLOCKS_PER_SEC_ 100 -/* - * 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; - -typedef __signed char __int_least8_t; -typedef unsigned char __uint_least8_t; -typedef short __int_least16_t; -typedef unsigned short __uint_least16_t; -typedef int __int_least32_t; -typedef unsigned int __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -typedef int __int_fast8_t; -typedef unsigned int __uint_fast8_t; -typedef int __int_fast16_t; -typedef unsigned int __uint_fast16_t; -typedef int __int_fast32_t; -typedef unsigned int __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; - -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_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_ */ +#endif /* !_MACHINE_ANSI_H_ */ |