Project

General

Profile

Statistics
| Branch: | Revision:

root / prex-0.9.0 / include / x86 / limits.h @ 03e9c04a

History | View | Annotate | Download (3.29 KB)

1 03e9c04a Brad Neuman
/*
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 32-bit 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                (-2147483647-1)        /* 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        (-2147483647L-1L)
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 */