]> git.saurik.com Git - apple/xnu.git/blame - osfmk/arm/machlimits.h
xnu-4903.221.2.tar.gz
[apple/xnu.git] / osfmk / arm / machlimits.h
CommitLineData
5ba3f43e
A
1/*
2 * Copyright (c) 2007 Apple Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28/*
29 * @OSF_COPYRIGHT@
30 */
31/*
32 * HISTORY
33 *
34 * Revision 1.1.1.1 1998/09/22 21:05:41 wsanchez
35 * Import of Mac OS X kernel (~semeria)
36 *
37 * Revision 1.1.1.1 1998/03/07 02:26:02 wsanchez
38 * Import of OSF Mach kernel (~mburg)
39 *
40 * Revision 1.1.2.1 1996/12/09 16:55:05 stephen
41 * nmklinux_1.0b3_shared into pmk1.1
42 * New file based on hp_pa
43 * [1996/12/09 11:09:22 stephen]
44 *
45 * $EndLog$
46 */
47/*
48 * Copyright (c) 1988 The Regents of the University of California.
49 * All rights reserved.
50 *
51 * Redistribution and use in source and binary forms are permitted
52 * provided that the above copyright notice and this paragraph are
53 * duplicated in all such forms and that any documentation,
54 * advertising materials, and other materials related to such
55 * distribution and use acknowledge that the software was developed
56 * by the University of California, Berkeley. The name of the
57 * University may not be used to endorse or promote products derived
58 * from this software without specific prior written permission.
59 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
60 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
61 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
62 *
63 * @(#)machlimits.h 7.1 (Berkeley) 2/15/89
64 */
65#ifndef _MACH_MACHLIMITS_H_
66#define _MACH_MACHLIMITS_H_
67
68#define CHAR_BIT 8 /* number of bits in a char */
69
70#define SCHAR_MAX 127 /* max value for a signed char */
71#define SCHAR_MIN (-128) /* min value for a signed char */
72
73#define UCHAR_MAX 255U /* max value for an unsigned char */
74#define CHAR_MAX 127 /* max value for a char */
75#define CHAR_MIN (-128) /* min value for a char */
76
77#define USHRT_MAX 65535U /* max value for an unsigned short */
78#define SHRT_MAX 32767 /* max value for a short */
79#define SHRT_MIN (-32768) /* min value for a short */
80
81#define UINT_MAX 0xFFFFFFFFU /* max value for an unsigned int */
82#define INT_MAX 2147483647 /* max value for an int */
83#define INT_MIN (-2147483647-1) /* min value for an int */
84
85#ifdef __LP64__
86#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */
87#define LONG_MAX 0x7fffffffffffffffL /* max signed long */
88#define LONG_MIN (-0x7fffffffffffffffL-1)/* min signed long */
89#else /* !__LP64__ */
90#define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
91#define LONG_MAX 2147483647L /* max value for a long */
92#define LONG_MIN (-2147483647L-1) /* min value for a long */
93#endif /* __LP64__ */
94
95/* Must be at least two, for internationalization (NLS/KJI) */
96#define MB_LEN_MAX 4 /* multibyte characters */
97
98#endif /* _MACH_MACHLIMITS_H_ */