scoutos / prex0.9.0 / include / x86 / limits.h @ 03e9c04a
History  View  Annotate  Download (3.29 KB)
1 
/*


2 
* Copyright (c) 1988, 1993

3 
* The Regents of the University of California. All rights reserved.

4 
*

5 
* Redistribution and use in source and binary forms, with or without

6 
* modification, are permitted provided that the following conditions

7 
* are met:

8 
* 1. Redistributions of source code must retain the above copyright

9 
* notice, this list of conditions and the following disclaimer.

10 
* 2. Redistributions in binary form must reproduce the above copyright

11 
* notice, this list of conditions and the following disclaimer in the

12 
* documentation and/or other materials provided with the distribution.

13 
* 3. Neither the name of the University nor the names of its contributors

14 
* may be used to endorse or promote products derived from this software

15 
* without specific prior written permission.

16 
*

17 
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND

18 
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

19 
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

20 
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE

21 
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

22 
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

23 
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

24 
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

25 
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY

26 
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

27 
* SUCH DAMAGE.

28 
*

29 
* @(#)limits.h 8.4 (Berkeley) 4/28/95

30 
*/

31 
#ifndef _X86_LIMITS_H

32 
#define _X86_LIMITS_H

33  
34 
#define CHAR_BIT 8 /* number of bits in a char */ 
35 
#define MB_LEN_MAX 32 /* no multibyte characters */ 
36  
37  
38 
/*

39 
* According to ANSI (section 2.2.4.2), the values below must be usable by

40 
* #if preprocessing directives. Additionally, the expression must have the

41 
* same type as would an expression that is an object of the corresponding

42 
* type converted according to the integral promotions. The subtraction for

43 
* INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an

44 
* unsigned int for 32bit two's complement ANSI compilers (section 3.1.3.2).

45 
* These numbers work for pcc as well. The UINT_MAX and ULONG_MAX values

46 
* are written as hex so that GCC will be quiet about large integer constants.

47 
*/

48 
#define SCHAR_MAX 127 /* min value for a signed char */ 
49 
#define SCHAR_MIN (128) /* max value for a signed char */ 
50  
51 
#define UCHAR_MAX 255 /* max value for an unsigned char */ 
52 
#define CHAR_MAX 127 /* max value for a char */ 
53 
#define CHAR_MIN (128) /* min value for a char */ 
54  
55 
#define USHRT_MAX 65535 /* max value for an unsigned short */ 
56 
#define SHRT_MAX 32767 /* max value for a short */ 
57 
#define SHRT_MIN (32768) /* min value for a short */ 
58  
59 
#define UINT_MAX 0xffffffffU /* max value for an unsigned int */ 
60 
#define INT_MAX 2147483647 /* max value for an int */ 
61 
#define INT_MIN (21474836471) /* min value for an int */ 
62  
63 
#define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ 
64 
#define LONG_MAX 2147483647L /* max value for a long */ 
65 
/* min value for a long */

66 
#define LONG_MIN (2147483647L1L) 
67  
68 
#define SSIZE_MAX INT_MAX /* max value for a ssize_t */ 
69 
#define SIZE_T_MAX UINT_MAX /* max value for a size_t */ 
70  
71 
#endif /* _X86_LIMITS_H */ 