1*480020cdSdholland /* $NetBSD: limits.h,v 1.24 2019/01/21 20:28:17 dholland Exp $ */ 257fb77a1Scgd 3a3219ac4Scgd /* 4a3219ac4Scgd * Copyright (c) 1988 The Regents of the University of California. 5a3219ac4Scgd * All rights reserved. 6a3219ac4Scgd * 7a3219ac4Scgd * Redistribution and use in source and binary forms, with or without 8a3219ac4Scgd * modification, are permitted provided that the following conditions 9a3219ac4Scgd * are met: 10a3219ac4Scgd * 1. Redistributions of source code must retain the above copyright 11a3219ac4Scgd * notice, this list of conditions and the following disclaimer. 12a3219ac4Scgd * 2. Redistributions in binary form must reproduce the above copyright 13a3219ac4Scgd * notice, this list of conditions and the following disclaimer in the 14a3219ac4Scgd * documentation and/or other materials provided with the distribution. 15aad01611Sagc * 3. Neither the name of the University nor the names of its contributors 16a3219ac4Scgd * may be used to endorse or promote products derived from this software 17a3219ac4Scgd * without specific prior written permission. 18a3219ac4Scgd * 19a3219ac4Scgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20a3219ac4Scgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21a3219ac4Scgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22a3219ac4Scgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23a3219ac4Scgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24a3219ac4Scgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25a3219ac4Scgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26a3219ac4Scgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27a3219ac4Scgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28a3219ac4Scgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29a3219ac4Scgd * SUCH DAMAGE. 30a3219ac4Scgd * 3157fb77a1Scgd * @(#)limits.h 7.2 (Berkeley) 6/28/90 32a3219ac4Scgd */ 33badcc17aSjtc 346f57e5c5Sperry #ifndef _M68K_MACHINE_LIMITS_H_ 356f57e5c5Sperry #define _M68K_MACHINE_LIMITS_H_ 366f57e5c5Sperry 374be7a2dcSbjh21 #include <sys/featuretest.h> 384be7a2dcSbjh21 39a3219ac4Scgd #define CHAR_BIT 8 /* number of bits in a char */ 40a3219ac4Scgd 410e0fe2c3Sdrochner #define UCHAR_MAX 0xff /* max value for an unsigned char */ 427484a2dbSchristos #define SCHAR_MAX 0x7f /* max value for a signed char */ 437484a2dbSchristos #define SCHAR_MIN (-0x7f-1) /* min value for a signed char */ 44a3219ac4Scgd 450e0fe2c3Sdrochner #define USHRT_MAX 0xffff /* max value for an unsigned short */ 46a3219ac4Scgd #define SHRT_MAX 0x7fff /* max value for a short */ 47f573b79dSmycroft #define SHRT_MIN (-0x7fff-1) /* min value for a short */ 48a3219ac4Scgd 49896d6fdbSchopps #define UINT_MAX 0xffffffffU /* max value for an unsigned int */ 50a3219ac4Scgd #define INT_MAX 0x7fffffff /* max value for an int */ 51f573b79dSmycroft #define INT_MIN (-0x7fffffff-1) /* min value for an int */ 52a3219ac4Scgd 53896d6fdbSchopps #define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ 54896d6fdbSchopps #define LONG_MAX 0x7fffffffL /* max value for a long */ 55896d6fdbSchopps #define LONG_MIN (-0x7fffffffL-1) /* min value for a long */ 5673f2af05Smycroft 574be7a2dcSbjh21 #if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \ 584be7a2dcSbjh21 defined(_NETBSD_SOURCE) 59a9ebf7bbSkleink #define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */ 60a9ebf7bbSkleink #define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */ 61a9ebf7bbSkleink #define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */ 62a9ebf7bbSkleink #endif 63a9ebf7bbSkleink 64*480020cdSdholland #if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ 65*480020cdSdholland defined(_NETBSD_SOURCE) 66*480020cdSdholland #define SSIZE_MAX INT_MAX /* max value for a ssize_t */ 67*480020cdSdholland 684be7a2dcSbjh21 #if defined(_NETBSD_SOURCE) 69caafbf4eSchristos #define SSIZE_MIN INT_MIN /* min value for a ssize_t */ 70896d6fdbSchopps #define SIZE_T_MAX UINT_MAX /* max value for a size_t */ 71896d6fdbSchopps 72896d6fdbSchopps #define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */ 7373f2af05Smycroft #define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */ 7473f2af05Smycroft #define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */ 758ae488d6Schopps 764be7a2dcSbjh21 #endif /* _NETBSD_SOURCE */ 774be7a2dcSbjh21 #endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */ 78badcc17aSjtc 794be7a2dcSbjh21 #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) 80badcc17aSjtc #define LONG_BIT 32 81badcc17aSjtc #define WORD_BIT 32 82badcc17aSjtc 838ed9a6d8Smatt #define DBL_DIG __DBL_DIG__ 848ed9a6d8Smatt #define DBL_MAX __DBL_MAX__ 858ed9a6d8Smatt #define DBL_MIN __DBL_MIN__ 86badcc17aSjtc 878ed9a6d8Smatt #define FLT_DIG __FLT_DIG__ 888ed9a6d8Smatt #define FLT_MAX __FLT_MAX__ 898ed9a6d8Smatt #define FLT_MIN __FLT_MIN__ 90badcc17aSjtc #endif 916f57e5c5Sperry 926f57e5c5Sperry #endif /* _M68K_MACHINE_LIMITS_H_ */ 93