standards/50523: Deprecate <machine/limits.h>, add <sys/limits.h>

Craig Rodrigues rodrigc at attbi.com
Tue Apr 1 05:50:08 PST 2003


>Number:         50523
>Category:       standards
>Synopsis:       Deprecate <machine/limits.h>, add <sys/limits.h>
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-standards
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 01 05:50:05 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Craig Rodrigues
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD h00609772adf0.ne.client2.attbi.com 5.0-CURRENT FreeBSD 5.0-CURRENT #19: Sat Mar 22 21:49:42 EST 2003 rodrigc at h00609772adf0.ne.client2.attbi.com:/usr/obj/usr/src/sys/MYKERNEL1 i386


	
>Description:
As part of my effort to add WCHAR_MIN and WCHAR_MAX macros to
<wchar.h>, an interesting discussion ensued on -standards.
Mike Barcroft suggested that:
 - <machine/limits.h> should be deprecated with a warning
 - <sys/limits.h> should be created
 - a private header file <machine/_limits.h> should be created

Once this patch is accepted, I will submit a followup patch
which adds WCHAR_MIN and WCHAR_MAX macros to <wchar.h>, by including
<machine/_limits.h>, and defining those macros using the underscore
prefixed macros, ie. #define WCHAR_MIN __WCHAR_MIN

>How-To-Repeat:
	
>Fix:


diff --exclude=*.orig -u -r -N orig/include/limits.h new/include/limits.h
--- orig/include/limits.h	Sun Dec 22 01:38:44 2002
+++ new/include/limits.h	Sat Mar  8 11:51:20 2003
@@ -125,7 +125,7 @@
 
 #define	MB_LEN_MAX		6	/* 31-bit UTF-8 */
 
-#include <machine/limits.h>
+#include <sys/limits.h>
 
 #if __POSIX_VISIBLE
 #include <sys/syslimits.h>
diff --exclude=*.orig -u -r -N orig/sys/alpha/include/_limits.h new/sys/alpha/include/_limits.h
--- orig/sys/alpha/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/alpha/include/_limits.h	Sat Mar  8 12:51:02 2003
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2003
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#define	__SCHAR_MAX	0x7f		/* max value for a signed char */
+#define	__SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
+
+#define	__UCHAR_MAX	0xffU		/* max value for an unsigned char */
+#define	__CHAR_MAX	0x7f		/* max value for a char */
+#define	__CHAR_MIN	(-0x7f-1)	/* min value for a char */
+
+#define	__USHRT_MAX	0xffffU		/* 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	__WCHAR_MIN	__INT_MIN	/* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX	/* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN	/* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX	/* max value for wint_t */
+
+#define	__ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
+#define	__LONG_MAX	0x7fffffffffffffffL	/* max for a long */
+#define	__LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
+
+/* Long longs and longs are the same size on the alpha. */
+					/* max for an unsigned long long */
+#define	__ULLONG_MAX	0xffffffffffffffffULL
+#define	__LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
+#define	__LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
+
+#define	__SSIZE_MAX	__LONG_MAX	/* max value for a ssize_t */
+
+#define	__SIZE_T_MAX	__ULONG_MAX	/* max value for a size_t */
+
+#define	__OFF_MAX	__LONG_MAX	/* max value for a off_t */
+#define	__OFF_MIN	__LONG_MIN	/* min value for a off_t */
+
+/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
+#define	__UQUAD_MAX	(__ULONG_MAX)	/* max value for a uquad_t */
+#define	__QUAD_MAX	(__LONG_MAX)	/* max value for a quad_t */
+#define	__QUAD_MIN	(__LONG_MIN)	/* min value for a quad_t */
+
+#define	__LONG_BIT	64
+#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_ */
diff --exclude=*.orig -u -r -N orig/sys/alpha/include/limits.h new/sys/alpha/include/limits.h
--- orig/sys/alpha/include/limits.h	Sun Dec 22 01:38:44 2002
+++ new/sys/alpha/include/limits.h	Sat Mar  8 14:49:24 2003
@@ -38,70 +38,7 @@
 #ifndef	_MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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	0xffU		/* max value for an unsigned char */
-#define	CHAR_MAX	0x7f		/* max value for a char */
-#define	CHAR_MIN	(-0x7f-1)	/* min value for a char */
-
-#define	USHRT_MAX	0xffffU		/* 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	ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
-#define	LONG_MAX	0x7fffffffffffffffL	/* max for a long */
-#define	LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
-
-/* Long longs and longs are the same size on the alpha. */
-					/* max for an unsigned long long */
-#define	ULLONG_MAX	0xffffffffffffffffULL
-#define	LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
-#define	LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
-
-#if !defined(_ANSI_SOURCE)
-#define	SSIZE_MAX	LONG_MAX	/* max value for a ssize_t */
-
-#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
-#define	SIZE_T_MAX	ULONG_MAX	/* max value for a size_t */
-
-#define	OFF_MAX		LONG_MAX	/* max value for a off_t */
-#define	OFF_MIN		LONG_MIN	/* min value for a off_t */
-
-/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
-#define	UQUAD_MAX	(ULONG_MAX)	/* max value for a uquad_t */
-#define	QUAD_MAX	(LONG_MAX)	/* max value for a quad_t */
-#define	QUAD_MIN	(LONG_MIN)	/* min value for a quad_t */
-#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
-#define	LONG_BIT	64
-#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
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/arm/include/_limits.h new/sys/arm/include/_limits.h
--- orig/sys/arm/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/arm/include/_limits.h	Sat Mar  8 12:51:14 2003
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#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 */
+
+#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	__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	__WCHAR_MIN     __INT_MIN       /* min value for wchar_t */
+#define	__WCHAR_MAX     __INT_MAX       /* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN	/* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX	/* max value for wint_t */   
+
+/* 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)
+#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 */
+#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	__SSIZE_MAX	__INT_MAX		/* max value for a ssize_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 */
+
+/* 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 /* !_MACHINE__LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/arm/include/limits.h new/sys/arm/include/limits.h
--- orig/sys/arm/include/limits.h	Sun Dec 22 01:38:44 2002
+++ new/sys/arm/include/limits.h	Sat Mar  8 12:40:36 2003
@@ -31,75 +31,14 @@
  * SUCH DAMAGE.
  *
  *	@(#)limits.h	8.3 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/arm/include/limits.h,v 1.3 2002/12/22 06:38:44 tjr Exp $
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * $FreeBSD: src/sys/alpha/include/limits.h,v 1.10 2002/12/22 06:38:44 tjr Exp $
  */
 
 #ifndef _MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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 */
-
-#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	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 */
-
-/* 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)
-#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 */
-#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 */
-
-#if !defined(_ANSI_SOURCE)
-#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	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 */
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/i386/include/_limits.h new/sys/i386/include/_limits.h
--- orig/sys/i386/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/i386/include/_limits.h	Sat Mar  8 12:51:24 2003
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#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 */
+
+#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	__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	__WCHAR_MIN	__INT_MIN       /* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX       /* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN       /* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX       /* max value for wint_t */   
+
+/* 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)
+#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 */
+#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	__SSIZE_MAX	__INT_MAX		/* max value for a ssize_t */
+
+#define	__SIZE_T_MAX	__UINT_MAX	/* max value for a size_t */
+
+#define	__OFF_MAX	__LLONG_MAX	/* max value for an off_t */
+#define	__OFF_MIN	__LLONG_MIN	/* min value for an 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 /* !_MACHINE__LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/i386/include/limits.h new/sys/i386/include/limits.h
--- orig/sys/i386/include/limits.h	Wed Jan  1 13:48:53 2003
+++ new/sys/i386/include/limits.h	Sat Mar  8 14:49:57 2003
@@ -31,75 +31,14 @@
  * SUCH DAMAGE.
  *
  *	@(#)limits.h	8.3 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/i386/include/limits.h,v 1.22 2003/01/01 18:48:53 schweikh Exp $
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * $FreeBSD: src/sys/alpha/include/limits.h,v 1.10 2002/12/22 06:38:44 tjr Exp $
  */
 
 #ifndef _MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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 */
-
-#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	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 */
-
-/* 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)
-#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 */
-#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 */
-
-#if !defined(_ANSI_SOURCE)
-#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	OFF_MAX		LLONG_MAX	/* max value for an off_t */
-#define	OFF_MIN		LLONG_MIN	/* min value for an 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 */
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/ia64/include/_limits.h new/sys/ia64/include/_limits.h
--- orig/sys/ia64/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/ia64/include/_limits.h	Sat Mar  8 12:51:35 2003
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#define	__SCHAR_MAX	0x7f		/* max value for a signed char */
+#define	__SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
+
+#define	__UCHAR_MAX	0xffU		/* max value for an unsigned char */
+#define	__CHAR_MAX	0x7f		/* max value for a char */
+#define	__CHAR_MIN	(-0x7f-1)	/* min value for a char */
+
+#define	__USHRT_MAX	0xffffU		/* 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	__WCHAR_MIN	__INT_MIN	/* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX	/* max value for wchar_t */
+ 
+#define	__WINT_MIN      __INT_MIN       /* min value for wint_t */ 
+#define	__WINT_MAX      __INT_MAX       /* max value for wint_t */
+
+#define	__ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
+#define	__LONG_MAX	0x7fffffffffffffffL	/* max for a long */
+#define	__LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
+
+/* Long longs and longs are the same size on the IA-64. */
+					/* max for an unsigned long long */
+#define	__ULLONG_MAX	0xffffffffffffffffULL
+#define	__LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
+#define	__LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
+
+#define	__SSIZE_MAX	__LONG_MAX	/* max value for a ssize_t */
+
+#define	__SIZE_T_MAX	__ULONG_MAX	/* max value for a size_t */
+
+#define	__OFF_MAX	__LONG_MAX	/* max value for an off_t */
+#define	__OFF_MIN	__LONG_MIN	/* min value for an off_t */
+
+/* Quads and longs are the same.  Ensure they stay in sync. */
+#define	__UQUAD_MAX	(__ULONG_MAX)	/* max value for a uquad_t */
+#define	__QUAD_MAX	(__LONG_MAX)	/* max value for a quad_t */
+#define	__QUAD_MIN	(__LONG_MIN)	/* min value for a quad_t */
+
+#define	__LONG_BIT	64
+#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
diff --exclude=*.orig -u -r -N orig/sys/ia64/include/limits.h new/sys/ia64/include/limits.h
--- orig/sys/ia64/include/limits.h	Wed Jan  1 13:48:54 2003
+++ new/sys/ia64/include/limits.h	Sat Mar  8 14:50:10 2003
@@ -1,6 +1,3 @@
-/* $FreeBSD: src/sys/ia64/include/limits.h,v 1.8 2003/01/01 18:48:54 schweikh Exp $ */
-/* From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp */
-
 /*
  * Copyright (c) 1988, 1993
  *	The Regents of the University of California.  All rights reserved.
@@ -34,70 +31,14 @@
  * SUCH DAMAGE.
  *
  *	@(#)limits.h	8.3 (Berkeley) 1/4/94
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * $FreeBSD: src/sys/alpha/include/limits.h,v 1.10 2002/12/22 06:38:44 tjr Exp $
  */
 
-#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	0xffU		/* max value for an unsigned char */
-#define	CHAR_MAX	0x7f		/* max value for a char */
-#define	CHAR_MIN	(-0x7f-1)	/* min value for a char */
-
-#define	USHRT_MAX	0xffffU		/* 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	ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
-#define	LONG_MAX	0x7fffffffffffffffL	/* max for a long */
-#define	LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
-
-/* Long longs and longs are the same size on the IA-64. */
-					/* max for an unsigned long long */
-#define	ULLONG_MAX	0xffffffffffffffffULL
-#define	LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
-#define	LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
-
-#if !defined(_ANSI_SOURCE)
-#define	SSIZE_MAX	LONG_MAX	/* max value for a ssize_t */
-
-#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
-#define	SIZE_T_MAX	ULONG_MAX	/* max value for a size_t */
-
-#define	OFF_MAX		LONG_MAX	/* max value for an off_t */
-#define	OFF_MIN		LONG_MIN	/* min value for an off_t */
-
-/* Quads and longs are the same.  Ensure they stay in sync. */
-#define	UQUAD_MAX	(ULONG_MAX)	/* max value for a uquad_t */
-#define	QUAD_MAX	(LONG_MAX)	/* max value for a quad_t */
-#define	QUAD_MIN	(LONG_MIN)	/* min value for a quad_t */
-#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
-#define	LONG_BIT	64
-#define	WORD_BIT	32
+#ifndef	_MACHINE_LIMITS_H_
+#define	_MACHINE_LIMITS_H_
 
-#define	DBL_DIG		15
-#define	DBL_MAX		1.7976931348623157E+308
-#define	DBL_MIN		2.2250738585072014E-308
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
-#define	FLT_DIG		6
-#define	FLT_MAX		3.40282347E+38F
-#define	FLT_MIN		1.17549435E-38F
-#endif
+#endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/powerpc/include/_limits.h new/sys/powerpc/include/_limits.h
--- orig/sys/powerpc/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/powerpc/include/_limits.h	Sat Mar  8 13:06:05 2003
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#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 */
+
+#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	__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	__WCHAR_MIN	__INT_MIN	/* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX	/* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN	/* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX	/* max value for wint_t */ 
+
+/* 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)
+#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 */
+#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	__SSIZE_MAX	__INT_MAX		/* max value for a ssize_t */
+#define	__SIZE_T_MAX	__UINT_MAX	/* max value for a size_t */
+#define	__OFF_MAX	__LLONG_MAX	/* max value for an off_t */
+#define	__OFF_MIN	__LLONG_MIN	/* min value for an 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 */
+
+#define	__LONG_BIT	32
+
+#endif /* !_MACHINE__LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/powerpc/include/limits.h new/sys/powerpc/include/limits.h
--- orig/sys/powerpc/include/limits.h	Sat Jan 18 06:23:42 2003
+++ new/sys/powerpc/include/limits.h	Sat Mar  8 14:50:24 2003
@@ -31,78 +31,14 @@
  * SUCH DAMAGE.
  *
  *	@(#)limits.h	8.3 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/powerpc/include/limits.h,v 1.23 2003/01/18 11:23:42 grehan Exp $
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * $FreeBSD$
  */
 
 #ifndef _MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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 */
-
-#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	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 */
-
-/* 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)
-#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 */
-#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 */
-
-#if !defined(_ANSI_SOURCE)
-#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	OFF_MAX		LLONG_MAX	/* max value for an off_t */
-#define	OFF_MIN		LLONG_MIN	/* min value for an 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 */
-
-#define LONG_BIT	32
-
-#endif /* !_POSIX_SOURCE */
-#endif /* !_ANSI_SOURCE */
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/sparc64/include/_limits.h new/sys/sparc64/include/_limits.h
--- orig/sys/sparc64/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/sparc64/include/_limits.h	Sat Mar  8 12:52:03 2003
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#define	__SCHAR_MAX	0x7f		/* max value for a signed char */
+#define	__SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
+
+#define	__UCHAR_MAX	0xffU		/* max value for an unsigned char */
+#define	__CHAR_MAX	0x7f		/* max value for a char */
+#define	__CHAR_MIN	(-0x7f-1)	/* min value for a char */
+
+#define	__USHRT_MAX	0xffffU		/* 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	__WCHAR_MIN	__INT_MIN	/* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX	/* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN	/* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX	/* max value for wint_t */ 
+
+#define	__ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
+#define	__LONG_MAX	0x7fffffffffffffffL	/* max for a long */
+#define	__LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
+
+/* Long longs and longs are the same size on the alpha. */
+					/* max for an unsigned long long */
+#define	__ULLONG_MAX	0xffffffffffffffffULL
+#define	__LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
+#define	__LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
+
+#define	__SSIZE_MAX	__LONG_MAX	/* max value for a ssize_t */
+
+#define	__SIZE_T_MAX	__ULONG_MAX	/* max value for a size_t */
+
+#define	__OFF_MAX	__LONG_MAX	/* max value for an off_t */
+#define	__OFF_MIN	__LONG_MIN	/* min value for an off_t */
+
+/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
+#define	__UQUAD_MAX	(__ULONG_MAX)	/* max value for a uquad_t */
+#define	__QUAD_MAX	(__LONG_MAX)	/* max value for a quad_t */
+#define	__QUAD_MIN	(__LONG_MIN)	/* min value for a quad_t */
+
+
+#define	__LONG_BIT	64
+#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_ */
diff --exclude=*.orig -u -r -N orig/sys/sparc64/include/limits.h new/sys/sparc64/include/limits.h
--- orig/sys/sparc64/include/limits.h	Wed Jan  1 13:48:58 2003
+++ new/sys/sparc64/include/limits.h	Sat Mar  8 14:50:41 2003
@@ -10,6 +10,13 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the University of
+ *	California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -24,76 +31,14 @@
  * SUCH DAMAGE.
  *
  *	@(#)limits.h	8.3 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/sparc64/include/limits.h,v 1.8 2003/01/01 18:48:58 schweikh Exp $
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * $FreeBSD: src/sys/alpha/include/limits.h,v 1.10 2002/12/22 06:38:44 tjr Exp $
  */
 
 #ifndef	_MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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	0xffU		/* max value for an unsigned char */
-#define	CHAR_MAX	0x7f		/* max value for a char */
-#define	CHAR_MIN	(-0x7f-1)	/* min value for a char */
-
-#define	USHRT_MAX	0xffffU		/* 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	ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
-#define	LONG_MAX	0x7fffffffffffffffL	/* max for a long */
-#define	LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
-
-/* Long longs and longs are the same size on the alpha. */
-					/* max for an unsigned long long */
-#define	ULLONG_MAX	0xffffffffffffffffULL
-#define	LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
-#define	LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
-
-#if !defined(_ANSI_SOURCE)
-#define	SSIZE_MAX	LONG_MAX	/* max value for a ssize_t */
-
-#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
-#define	SIZE_T_MAX	ULONG_MAX	/* max value for a size_t */
-
-#define	OFF_MAX		LONG_MAX	/* max value for an off_t */
-#define	OFF_MIN		LONG_MIN	/* min value for an off_t */
-
-/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
-#define	UQUAD_MAX	(ULONG_MAX)	/* max value for a uquad_t */
-#define	QUAD_MAX	(LONG_MAX)	/* max value for a quad_t */
-#define	QUAD_MIN	(LONG_MIN)	/* min value for a quad_t */
-#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
-#define	LONG_BIT	64
-#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
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/sys/limits.h new/sys/sys/limits.h
--- orig/sys/sys/limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/sys/limits.h	Sat Mar  8 12:55:34 2003
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2003 
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef	_SYS_LIMITS_H_
+#define	_SYS_LIMITS_H_
+
+#include <machine/_limits.h>
+
+#define	CHAR_BIT	__CHAR_BIT		/* 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	__SCHAR_MAX		/* max value for a signed char */
+#define	SCHAR_MIN	(__SCHAR_MIN)	/* min value for a signed char */
+
+#define	UCHAR_MAX	(__UCHAR_MAX)		/* max value for an unsigned char */
+#define	CHAR_MAX	(__CHAR_MAX)		/* max value for a char */
+#define	CHAR_MIN	(__CHAR_MIN)	/* min value for a char */
+
+#define	USHRT_MAX	__USHRT_MAX		/* max value for an unsigned short */
+#define	SHRT_MAX	__SHRT_MAX		/* max value for a short */
+#define	SHRT_MIN	__SHRT_MIN	/* min value for a short */
+
+#define	UINT_MAX	__UNIT_MAX	/* max value for an unsigned int */
+#define	INT_MAX		__INT_MAX	/* max value for an int */
+#define	INT_MIN		__INT_MIN	/* min value for an int */
+
+#define	ULONG_MAX	__ULONG_MAX	/* max for an unsigned long */
+#define	LONG_MAX	__LONG_MAX	/* max for a long */
+#define	LONG_MIN	(__LONG_MIN) /* min for a long */
+
+/* Long longs and longs are the same size on the alpha. */
+					/* max for an unsigned long long */
+#define	ULLONG_MAX	__ULLONG_MAX
+#define	LLONG_MAX	__LLONG_MAX	/* max for a long long */
+#define	LLONG_MIN	__LLONG_MIN /* min for a long long */
+
+#if !defined(_ANSI_SOURCE)
+#define	SSIZE_MAX	__SSIZE_MAX	/* max value for a ssize_t */
+
+#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
+#define	SIZE_T_MAX	__SIZE_T_MAX	/* max value for a size_t */
+
+#define	OFF_MAX		__OFF_MAX	/* max value for a off_t */
+#define	OFF_MIN		__OFF_MIN	/* min value for a off_t */
+
+/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
+#define	UQUAD_MAX	(__UQUAD_MAX)	/* max value for a uquad_t */
+#define	QUAD_MAX	(__QUAD_MAX)	/* max value for a quad_t */
+#define	QUAD_MIN	(__QUAD_MIN)	/* min value for a quad_t */
+#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
+#endif /* !_ANSI_SOURCE */
+
+#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
+#define	LONG_BIT	__LONG_BIT
+#define	WORD_BIT	__WORD_BIT
+
+#define	DBL_DIG		__DBL_DIG
+#define	DBL_MAX		__DBL_MAX
+#define	DBL_MIN		__DBL_MIN
+
+#define	FLT_DIG		__FLT_DIG
+#define	FLT_MAX		__FLT_MAX
+#define	FLT_MIN		__FLT_MIN
+#endif
+
+#endif /* !_SYS_LIMITS_H_ */
diff --exclude=*.orig -u -r -N orig/sys/x86_64/include/_limits.h new/sys/x86_64/include/_limits.h
--- orig/sys/x86_64/include/_limits.h	Wed Dec 31 19:00:00 1969
+++ new/sys/x86_64/include/_limits.h	Sat Mar  8 12:52:15 2003
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2003
+ *	All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)limits.h	8.3 (Berkeley) 1/4/94
+ *	From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp
+ * 	From: FreeBSD: src/sys/alpha/include/limits.h,v 1.8 2001/11/02
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE__LIMITS_H_
+#define	_MACHINE__LIMITS_H_
+
+#define	__CHAR_BIT	8		/* number of bits in a char */
+
+#define	__SCHAR_MAX	0x7f		/* max value for a signed char */
+#define	__SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
+
+#define	__UCHAR_MAX	0xffU		/* max value for an unsigned char */
+#define	__CHAR_MAX	0x7f		/* max value for a char */
+#define	__CHAR_MIN	(-0x7f-1)	/* min value for a char */
+
+#define	__USHRT_MAX	0xffffU		/* 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	__WCHAR_MIN	__INT_MIN	/* min value for wchar_t */
+#define	__WCHAR_MAX	__INT_MAX	/* max value for wchar_t */
+
+#define	__WINT_MIN	__INT_MIN	/* min value for wint_t */
+#define	__WINT_MAX	__INT_MAX	/* max value for wint_t */ 
+
+#define	__ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
+#define	__LONG_MAX	0x7fffffffffffffffL	/* max for a long */
+#define	__LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
+
+/* Long longs and longs are the same size on the alpha. */
+					/* max for an unsigned long long */
+#define	__ULLONG_MAX	0xffffffffffffffffULL
+#define	__LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
+#define	__LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
+
+#define	__SSIZE_MAX	__LONG_MAX	/* max value for a ssize_t */
+
+#define	__SIZE_T_MAX	__ULONG_MAX	/* max value for a size_t */
+
+#define	__OFF_MAX	__LONG_MAX	/* max value for an off_t */
+#define	__OFF_MIN	__LONG_MIN	/* min value for an off_t */
+
+/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
+#define	__UQUAD_MAX	(__ULONG_MAX)	/* max value for a uquad_t */
+#define	__QUAD_MAX	(__LONG_MAX)	/* max value for a quad_t */
+#define	__QUAD_MIN	(__LONG_MIN)	/* min value for a quad_t */
+
+#define	__LONG_BIT	64
+#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_ */
diff --exclude=*.orig -u -r -N orig/sys/x86_64/include/limits.h new/sys/x86_64/include/limits.h
--- orig/sys/x86_64/include/limits.h	Wed Jan  1 13:48:59 2003
+++ new/sys/x86_64/include/limits.h	Sat Mar  8 14:51:03 2003
@@ -39,70 +39,7 @@
 #ifndef	_MACHINE_LIMITS_H_
 #define	_MACHINE_LIMITS_H_
 
-#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	0xffU		/* max value for an unsigned char */
-#define	CHAR_MAX	0x7f		/* max value for a char */
-#define	CHAR_MIN	(-0x7f-1)	/* min value for a char */
-
-#define	USHRT_MAX	0xffffU		/* 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	ULONG_MAX	0xffffffffffffffffUL	/* max for an unsigned long */
-#define	LONG_MAX	0x7fffffffffffffffL	/* max for a long */
-#define	LONG_MIN	(-0x7fffffffffffffffL-1) /* min for a long */
-
-/* Long longs and longs are the same size on the alpha. */
-					/* max for an unsigned long long */
-#define	ULLONG_MAX	0xffffffffffffffffULL
-#define	LLONG_MAX	0x7fffffffffffffffLL	/* max for a long long */
-#define	LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min for a long long */
-
-#if !defined(_ANSI_SOURCE)
-#define	SSIZE_MAX	LONG_MAX	/* max value for a ssize_t */
-
-#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
-#define	SIZE_T_MAX	ULONG_MAX	/* max value for a size_t */
-
-#define	OFF_MAX		LONG_MAX	/* max value for an off_t */
-#define	OFF_MIN		LONG_MIN	/* min value for an off_t */
-
-/* Quads and longs are the same on the alpha.  Ensure they stay in sync. */
-#define	UQUAD_MAX	(ULONG_MAX)	/* max value for a uquad_t */
-#define	QUAD_MAX	(LONG_MAX)	/* max value for a quad_t */
-#define	QUAD_MIN	(LONG_MIN)	/* min value for a quad_t */
-#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
-#endif /* !_ANSI_SOURCE */
-
-#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
-#define	LONG_BIT	64
-#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
+#warning "<machine/limits.h> is deprecated.  Include <sys/limits.h> instead."
+#include <sys/limits.h>
 
 #endif /* !_MACHINE_LIMITS_H_ */

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-standards mailing list