summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2003-04-23 21:41:59 +0000
committerkan <kan@FreeBSD.org>2003-04-23 21:41:59 +0000
commitb86b779077f57b963024aa4ff279e986002d957b (patch)
treea13af3b62cf3558a79b9a6a66c4ca050cea453de /sys/arm/include
parentffd04bfbddd49c6770b05d62b4d4aa441be8e345 (diff)
downloadFreeBSD-src-b86b779077f57b963024aa4ff279e986002d957b.zip
FreeBSD-src-b86b779077f57b963024aa4ff279e986002d957b.tar.gz
Add a new sys/limits.h file which in turn depends on machine/_limits.h
to get actual constant values. This is in preparation for machine/limits.h retirement. Discussed on: standards@ Submitted by: Craig Rodrigues <rodrigc@attbi.com> (*) Modified by: kan
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/_limits.h95
1 files changed, 44 insertions, 51 deletions
diff --git a/sys/arm/include/_limits.h b/sys/arm/include/_limits.h
index b5e3bd1..ce1cd20 100644
--- a/sys/arm/include/_limits.h
+++ b/sys/arm/include/_limits.h
@@ -34,72 +34,65 @@
* $FreeBSD$
*/
-#ifndef _MACHINE_LIMITS_H_
-#define _MACHINE_LIMITS_H_
+#ifndef _MACHINE__LIMITS_H_
+#define _MACHINE__LIMITS_H_
-#define CHAR_BIT 8 /* number of bits in a char */
+#define __CHAR_BIT 8 /* number of bits in a char */
-/*
- * According to ANSI (section 2.2.4.2), the values below must be usable by
- * #if preprocessing directives. Additionally, the expression must have the
- * same type as would an expression that is an object of the corresponding
- * type converted according to the integral promotions. The subtraction for
- * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
- * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
- * These numbers are for the default configuration of gcc. They work for
- * some other compilers as well, but this should not be depended on.
- */
-#define SCHAR_MAX 0x7f /* max value for a signed char */
-#define SCHAR_MIN (-0x7f - 1) /* min value for a signed char */
-
-#define UCHAR_MAX 0xff /* max value for an unsigned char */
+#define __SCHAR_MAX 0x7f /* max value for a signed char */
+#define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */
-#ifdef __CHAR_UNSIGNED__
-#define CHAR_MAX UCHAR_MAX /* max value for a char */
-#define CHAR_MIN 0 /* min value for a char */
-#else
-#define CHAR_MAX SCHAR_MAX /* max value for a char */
-#define CHAR_MIN SCHAR_MIN /* min value for a char */
-#endif
+#define __UCHAR_MAX 0xff /* max value for an unsigned char */
-#define USHRT_MAX 0xffff /* max value for an unsigned short */
-#define SHRT_MAX 0x7fff /* max value for a short */
-#define SHRT_MIN (-0x7fff - 1) /* min value for a short */
+#define __USHRT_MAX 0xffff /* max value for an unsigned short */
+#define __SHRT_MAX 0x7fff /* max value for a short */
+#define __SHRT_MIN (-0x7fff - 1) /* min value for a short */
-#define UINT_MAX 0xffffffffU /* max value for an unsigned int */
-#define INT_MAX 0x7fffffff /* max value for an int */
-#define INT_MIN (-0x7fffffff - 1) /* min value for an int */
+#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */
+#define __INT_MAX 0x7fffffff /* max value for an int */
+#define __INT_MIN (-0x7fffffff - 1) /* min value for an int */
/* Bad hack for gcc configured to give 64-bit longs. */
#ifdef _LARGE_LONG
-#define ULONG_MAX 0xffffffffffffffffUL
-#define LONG_MAX 0x7fffffffffffffffL
-#define LONG_MIN (-0x7fffffffffffffffL - 1)
+#define __ULONG_MAX 0xffffffffffffffffUL
+#define __LONG_MAX 0x7fffffffffffffffL
+#define __LONG_MIN (-0x7fffffffffffffffL - 1)
#else
-#define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
-#define LONG_MAX 0x7fffffffL /* max value for a long */
-#define LONG_MIN (-0x7fffffffL - 1) /* min value for a long */
+#define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
+#define __LONG_MAX 0x7fffffffL /* max value for a long */
+#define __LONG_MIN (-0x7fffffffL - 1) /* min value for a long */
#endif
/* max value for an unsigned long long */
-#define ULLONG_MAX 0xffffffffffffffffULL
-#define LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */
-#define LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */
+#define __ULLONG_MAX 0xffffffffffffffffULL
+#define __LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */
+#define __LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */
-#if !defined(_ANSI_SOURCE)
-#define SSIZE_MAX INT_MAX /* max value for a ssize_t */
+#define __SSIZE_MAX __INT_MAX /* max value for a ssize_t */
-#if !defined(_POSIX_SOURCE)
-#define SIZE_T_MAX UINT_MAX /* max value for a size_t */
+#define __SIZE_T_MAX __UINT_MAX /* max value for a size_t */
-#define OFF_MAX LLONG_MAX /* max value for a off_t */
-#define OFF_MIN LLONG_MIN /* min value for a off_t */
+#define __OFF_MAX __LLONG_MAX /* max value for a off_t */
+#define __OFF_MIN __LLONG_MIN /* min value for a off_t */
/* Quads and long longs are the same size. Ensure they stay in sync. */
-#define UQUAD_MAX ULLONG_MAX /* max value for a uquad_t */
-#define QUAD_MAX LLONG_MAX /* max value for a quad_t */
-#define QUAD_MIN LLONG_MIN /* min value for a quad_t */
-#endif /* !_POSIX_SOURCE */
-#endif /* !_ANSI_SOURCE */
+#define __UQUAD_MAX __ULLONG_MAX /* max value for a uquad_t */
+#define __QUAD_MAX __LLONG_MAX /* max value for a quad_t */
+#define __QUAD_MIN __LLONG_MIN /* min value for a quad_t */
+
+#ifdef _LARGE_LONG
+#define __LONG_BIT 64
+#else
+#define __LONG_BIT 32
+#endif
+#define __WORD_BIT 32
+
+#define __DBL_DIG 15
+#define __DBL_MAX 1.7976931348623157E+308
+#define __DBL_MIN 2.2250738585072014E-308
+
+#define __FLT_DIG 6
+#define __FLT_MAX 3.40282347E+38F
+#define __FLT_MIN 1.17549435E-38F
-#endif /* !_MACHINE_LIMITS_H_ */
+#endif /* !_MACHINE__LIMITS_H_ */
OpenPOWER on IntegriCloud