darwin-xnu/EXTERNAL_HEADERS/ppc/limits.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
   3 *
   4 * @APPLE_LICENSE_HEADER_START@
   5 * 
   6 * The contents of this file constitute Original Code as defined in and
   7 * are subject to the Apple Public Source License Version 1.1 (the
   8 * "License").  You may not use this file except in compliance with the
   9 * License.  Please obtain a copy of the License at
  10 * http://www.apple.com/publicsource and read it before using this file.
  11 * 
  12 * This Original Code and all software distributed under the License are
  13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17 * License for the specific language governing rights and limitations
  18 * under the License.
  19 * 
  20 * @APPLE_LICENSE_HEADER_END@
  21 */
  22/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  23/* Copyright (c) 1988, 1993
  24 *      The Regents of the University of California.  All rights reserved.
  25 *
  26 * Redistribution and use in source and binary forms, with or without
  27 * modification, are permitted provided that the following conditions
  28 * are met:
  29 * 1. Redistributions of source code must retain the above copyright
  30 *    notice, this list of conditions and the following disclaimer.
  31 * 2. Redistributions in binary form must reproduce the above copyright
  32 *    notice, this list of conditions and the following disclaimer in the
  33 *    documentation and/or other materials provided with the distribution.
  34 * 3. All advertising materials mentioning features or use of this software
  35 *    must display the following acknowledgement:
  36 *      This product includes software developed by the University of
  37 *      California, Berkeley and its contributors.
  38 * 4. Neither the name of the University nor the names of its contributors
  39 *    may be used to endorse or promote products derived from this software
  40 *    without specific prior written permission.
  41 *
  42 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  43 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  45 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  46 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  47 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  48 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  49 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  50 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  51 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52 * SUCH DAMAGE.
  53 *
  54 *      @(#)limits.h    8.3 (Berkeley) 1/4/94
  55 */
  56/*
  57 * HISTORY
  58 *
  59 *      10-July-97  Umesh Vaishampayan  (umeshv@apple.com)
  60 *              Fixed conflicts with float.h. Avoid multiple includes.
  61 */
  62
  63#ifndef _PPC_LIMITS_H_
  64#define _PPC_LIMITS_H_
  65
  66#include <ppc/_limits.h>
  67
  68#define CHAR_BIT        8               /* number of bits in a char */
  69#define MB_LEN_MAX      6               /* Allow 31 bit UTF2 */
  70
  71#ifndef CLK_TCK
  72#define CLK_TCK         __DARWIN_CLK_TCK        /* ticks per second */
  73#endif
  74
  75/*
  76 * According to ANSI (section 2.2.4.2), the values below must be usable by
  77 * #if preprocessing directives.  Additionally, the expression must have the
  78 * same type as would an expression that is an object of the corresponding
  79 * type converted according to the integral promotions.  The subtraction for
  80 * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an
  81 * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
  82 * These numbers work for pcc as well.  The UINT_MAX and ULONG_MAX values
  83 * are written as hex so that GCC will be quiet about large integer constants.
  84 */
  85#define SCHAR_MAX       127             /* min value for a signed char */
  86#define SCHAR_MIN       (-128)          /* max value for a signed char */
  87
  88#define UCHAR_MAX       255             /* max value for an unsigned char */
  89#define CHAR_MAX        127             /* max value for a char */
  90#define CHAR_MIN        (-128)          /* min value for a char */
  91
  92#define USHRT_MAX       65535           /* max value for an unsigned short */
  93#define SHRT_MAX        32767           /* max value for a short */
  94#define SHRT_MIN        (-32768)        /* min value for a short */
  95
  96#define UINT_MAX        0xffffffff      /* max value for an unsigned int */
  97#define INT_MAX         2147483647      /* max value for an int */
  98#define INT_MIN         (-2147483647-1) /* min value for an int */
  99
 100#define ULONG_MAX       0xffffffff      /* max value for an unsigned long */
 101#define LONG_MAX        2147483647      /* max value for a long */
 102#define LONG_MIN        (-2147483647-1) /* min value for a long */
 103
 104#if !defined(_ANSI_SOURCE)
 105#define SSIZE_MAX       INT_MAX         /* max value for a ssize_t */
 106
 107#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
 108#define SIZE_T_MAX      UINT_MAX        /* max value for a size_t */
 109
 110#define UQUAD_MAX       0xffffffffffffffffULL           /* max unsigned quad */
 111#define QUAD_MAX        0x7fffffffffffffffLL            /* max signed quad */
 112#define QUAD_MIN        (-0x7fffffffffffffffLL-1)       /* min signed quad */
 113
 114#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
 115#endif /* !_ANSI_SOURCE */
 116
 117#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
 118#define LONG_BIT        32
 119#define WORD_BIT        32
 120#endif /* (!(_ANSI_SOURCE) && !(_POSIX_SOURCE)) || (_XOPEN_SOURCE) */
 121
 122#endif /* _PPC_LIMITS_H_ */
 123
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.