1*199767f8SToomas Soome /*- 2*199767f8SToomas Soome * Copyright (c) 1988, 1993 3*199767f8SToomas Soome * The Regents of the University of California. All rights reserved. 4*199767f8SToomas Soome * 5*199767f8SToomas Soome * Redistribution and use in source and binary forms, with or without 6*199767f8SToomas Soome * modification, are permitted provided that the following conditions 7*199767f8SToomas Soome * are met: 8*199767f8SToomas Soome * 1. Redistributions of source code must retain the above copyright 9*199767f8SToomas Soome * notice, this list of conditions and the following disclaimer. 10*199767f8SToomas Soome * 2. Redistributions in binary form must reproduce the above copyright 11*199767f8SToomas Soome * notice, this list of conditions and the following disclaimer in the 12*199767f8SToomas Soome * documentation and/or other materials provided with the distribution. 13*199767f8SToomas Soome * 4. Neither the name of the University nor the names of its contributors 14*199767f8SToomas Soome * may be used to endorse or promote products derived from this software 15*199767f8SToomas Soome * without specific prior written permission. 16*199767f8SToomas Soome * 17*199767f8SToomas Soome * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18*199767f8SToomas Soome * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*199767f8SToomas Soome * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*199767f8SToomas Soome * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21*199767f8SToomas Soome * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*199767f8SToomas Soome * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23*199767f8SToomas Soome * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24*199767f8SToomas Soome * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25*199767f8SToomas Soome * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26*199767f8SToomas Soome * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*199767f8SToomas Soome * SUCH DAMAGE. 28*199767f8SToomas Soome * 29*199767f8SToomas Soome * $FreeBSD$ 30*199767f8SToomas Soome */ 31*199767f8SToomas Soome 32*199767f8SToomas Soome #ifndef _SYS_LIMITS_H_ 33*199767f8SToomas Soome #define _SYS_LIMITS_H_ 34*199767f8SToomas Soome 35*199767f8SToomas Soome #include <sys/cdefs.h> 36*199767f8SToomas Soome #include <machine/_limits.h> 37*199767f8SToomas Soome 38*199767f8SToomas Soome #define CHAR_BIT __CHAR_BIT /* number of bits in a char */ 39*199767f8SToomas Soome 40*199767f8SToomas Soome #define SCHAR_MAX __SCHAR_MAX /* max value for a signed char */ 41*199767f8SToomas Soome #define SCHAR_MIN __SCHAR_MIN /* min value for a signed char */ 42*199767f8SToomas Soome 43*199767f8SToomas Soome #define UCHAR_MAX __UCHAR_MAX /* max value for an unsigned char */ 44*199767f8SToomas Soome 45*199767f8SToomas Soome #ifdef __CHAR_UNSIGNED__ 46*199767f8SToomas Soome #define CHAR_MAX UCHAR_MAX /* max value for a char */ 47*199767f8SToomas Soome #define CHAR_MIN 0 /* min value for a char */ 48*199767f8SToomas Soome #else 49*199767f8SToomas Soome #define CHAR_MAX SCHAR_MAX 50*199767f8SToomas Soome #define CHAR_MIN SCHAR_MIN 51*199767f8SToomas Soome #endif 52*199767f8SToomas Soome 53*199767f8SToomas Soome #define USHRT_MAX __USHRT_MAX /* max value for an unsigned short */ 54*199767f8SToomas Soome #define SHRT_MAX __SHRT_MAX /* max value for a short */ 55*199767f8SToomas Soome #define SHRT_MIN __SHRT_MIN /* min value for a short */ 56*199767f8SToomas Soome 57*199767f8SToomas Soome #define UINT_MAX __UINT_MAX /* max value for an unsigned int */ 58*199767f8SToomas Soome #define INT_MAX __INT_MAX /* max value for an int */ 59*199767f8SToomas Soome #define INT_MIN __INT_MIN /* min value for an int */ 60*199767f8SToomas Soome 61*199767f8SToomas Soome #define ULONG_MAX __ULONG_MAX /* max for an unsigned long */ 62*199767f8SToomas Soome #define LONG_MAX __LONG_MAX /* max for a long */ 63*199767f8SToomas Soome #define LONG_MIN __LONG_MIN /* min for a long */ 64*199767f8SToomas Soome 65*199767f8SToomas Soome #ifdef __LONG_LONG_SUPPORTED 66*199767f8SToomas Soome #define ULLONG_MAX __ULLONG_MAX /* max for an unsigned long long */ 67*199767f8SToomas Soome #define LLONG_MAX __LLONG_MAX /* max for a long long */ 68*199767f8SToomas Soome #define LLONG_MIN __LLONG_MIN /* min for a long long */ 69*199767f8SToomas Soome #endif 70*199767f8SToomas Soome 71*199767f8SToomas Soome #if __POSIX_VISIBLE || __XSI_VISIBLE 72*199767f8SToomas Soome #define SSIZE_MAX __SSIZE_MAX /* max value for an ssize_t */ 73*199767f8SToomas Soome #endif 74*199767f8SToomas Soome 75*199767f8SToomas Soome #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE 76*199767f8SToomas Soome #define SIZE_T_MAX __SIZE_T_MAX /* max value for a size_t */ 77*199767f8SToomas Soome 78*199767f8SToomas Soome #define OFF_MAX __OFF_MAX /* max value for an off_t */ 79*199767f8SToomas Soome #define OFF_MIN __OFF_MIN /* min value for an off_t */ 80*199767f8SToomas Soome #endif 81*199767f8SToomas Soome 82*199767f8SToomas Soome #if __BSD_VISIBLE 83*199767f8SToomas Soome #define GID_MAX UINT_MAX /* max value for a gid_t */ 84*199767f8SToomas Soome #define UID_MAX UINT_MAX /* max value for a uid_t */ 85*199767f8SToomas Soome 86*199767f8SToomas Soome #define UQUAD_MAX (__UQUAD_MAX) /* max value for a uquad_t */ 87*199767f8SToomas Soome #define QUAD_MAX (__QUAD_MAX) /* max value for a quad_t */ 88*199767f8SToomas Soome #define QUAD_MIN (__QUAD_MIN) /* min value for a quad_t */ 89*199767f8SToomas Soome #endif 90*199767f8SToomas Soome 91*199767f8SToomas Soome #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 92*199767f8SToomas Soome #define LONG_BIT __LONG_BIT 93*199767f8SToomas Soome #define WORD_BIT __WORD_BIT 94*199767f8SToomas Soome #endif 95*199767f8SToomas Soome 96*199767f8SToomas Soome #if __POSIX_VISIBLE 97*199767f8SToomas Soome #define MQ_PRIO_MAX 64 98*199767f8SToomas Soome #endif 99*199767f8SToomas Soome 100*199767f8SToomas Soome #endif /* !_SYS_LIMITS_H_ */ 101