File: /usr/include/limits.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: /*
       2:  * Copyright (c) 2000, 2004-2007, 2009 Apple Inc. All rights reserved.
       3:  *
       4:  * @APPLE_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. Please obtain a copy of the License at
      10:  * http://www.opensource.apple.com/apsl/ and read it before using this
      11:  * file.
      12:  * 
      13:  * The Original Code and all software distributed under the License are
      14:  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
      15:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
      16:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
      17:  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
      18:  * Please see the License for the specific language governing rights and
      19:  * limitations under the License.
      20:  * 
      21:  * @APPLE_LICENSE_HEADER_END@
      22:  */
      23: /*    $NetBSD: limits.h,v 1.8 1996/10/21 05:10:50 jtc Exp $    */
      24: 
      25: /*
      26:  * Copyright (c) 1988, 1993
      27:  *    The Regents of the University of California.  All rights reserved.
      28:  *
      29:  * Redistribution and use in source and binary forms, with or without
      30:  * modification, are permitted provided that the following conditions
      31:  * are met:
      32:  * 1. Redistributions of source code must retain the above copyright
      33:  *    notice, this list of conditions and the following disclaimer.
      34:  * 2. Redistributions in binary form must reproduce the above copyright
      35:  *    notice, this list of conditions and the following disclaimer in the
      36:  *    documentation and/or other materials provided with the distribution.
      37:  * 3. All advertising materials mentioning features or use of this software
      38:  *    must display the following acknowledgement:
      39:  *    This product includes software developed by the University of
      40:  *    California, Berkeley and its contributors.
      41:  * 4. Neither the name of the University nor the names of its contributors
      42:  *    may be used to endorse or promote products derived from this software
      43:  *    without specific prior written permission.
      44:  *
      45:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
      46:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      47:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
      48:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
      49:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      50:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
      51:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      52:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
      53:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
      54:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
      55:  * SUCH DAMAGE.
      56:  *
      57:  *    @(#)limits.h    8.2 (Berkeley) 1/4/94
      58:  */
      59: 
      60: #ifndef _LIMITS_H_
      61: #define    _LIMITS_H_
      62: 
      63: #include <sys/cdefs.h>
      64: #include <machine/limits.h>
      65: #include <sys/syslimits.h>
      66: 
      67: #if __DARWIN_C_LEVEL > __DARWIN_C_ANSI
      68: #define    _POSIX_ARG_MAX        4096
      69: #define    _POSIX_CHILD_MAX    25
      70: #define    _POSIX_LINK_MAX        8
      71: #define    _POSIX_MAX_CANON    255
      72: #define    _POSIX_MAX_INPUT    255
      73: #define    _POSIX_NAME_MAX        14
      74: #define    _POSIX_NGROUPS_MAX    8
      75: #define    _POSIX_OPEN_MAX        20
      76: #define    _POSIX_PATH_MAX        256
      77: #define    _POSIX_PIPE_BUF        512
      78: #define    _POSIX_SSIZE_MAX    32767
      79: #define    _POSIX_STREAM_MAX    8
      80: #define    _POSIX_TZNAME_MAX    6
      81: 
      82: #define    _POSIX2_BC_BASE_MAX        99
      83: #define    _POSIX2_BC_DIM_MAX        2048
      84: #define    _POSIX2_BC_SCALE_MAX        99
      85: #define    _POSIX2_BC_STRING_MAX        1000
      86: #define    _POSIX2_EQUIV_CLASS_MAX        2
      87: #define    _POSIX2_EXPR_NEST_MAX        32
      88: #define    _POSIX2_LINE_MAX        2048
      89: #define    _POSIX2_RE_DUP_MAX        255
      90: #endif /* __DARWIN_C_LEVEL > __DARWIN_C_ANSI */
      91: 
      92: #if __DARWIN_C_LEVEL >= 199309L
      93: #define _POSIX_AIO_LISTIO_MAX   2
      94: #define _POSIX_AIO_MAX          1
      95: #define _POSIX_DELAYTIMER_MAX   32
      96: #define _POSIX_MQ_OPEN_MAX      8
      97: #define _POSIX_MQ_PRIO_MAX    32
      98: #define _POSIX_RTSIG_MAX             8
      99: #define _POSIX_SEM_NSEMS_MAX             256
     100: #define _POSIX_SEM_VALUE_MAX             32767
     101: #define _POSIX_SIGQUEUE_MAX             32
     102: #define _POSIX_TIMER_MAX             32
     103: #endif /* __DARWIN_C_LEVEL >= 199309L */
     104: 
     105: #if __DARWIN_C_LEVEL >= 199506L
     106: #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS     4
     107: #define _POSIX_THREAD_KEYS_MAX             128
     108: #define _POSIX_THREAD_THREADS_MAX         64
     109: 
     110: #define PTHREAD_DESTRUCTOR_ITERATIONS     4
     111: #define PTHREAD_KEYS_MAX         512
     112: #define PTHREAD_STACK_MIN         8192
     113: #endif /* __DARWIN_C_LEVEL >= 199506L */
     114: 
     115: #if __DARWIN_C_LEVEL >= 200112
     116: #define _POSIX_HOST_NAME_MAX    255
     117: #define _POSIX_LOGIN_NAME_MAX   9
     118: #define _POSIX_SS_REPL_MAX             4
     119: #define _POSIX_SYMLINK_MAX             255
     120: #define _POSIX_SYMLOOP_MAX             8
     121: #define _POSIX_TRACE_EVENT_NAME_MAX         30
     122: #define _POSIX_TRACE_NAME_MAX             8
     123: #define _POSIX_TRACE_SYS_MAX             8
     124: #define _POSIX_TRACE_USER_EVENT_MAX         32
     125: #define _POSIX_TTY_NAME_MAX             9
     126: #define _POSIX2_CHARCLASS_NAME_MAX    14
     127: #define    _POSIX2_COLL_WEIGHTS_MAX    2
     128: 
     129: #define _POSIX_RE_DUP_MAX         _POSIX2_RE_DUP_MAX
     130: #endif /* __DARWIN_C_LEVEL >= 200112 */
     131: 
     132: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     133: #define OFF_MIN        LLONG_MIN    /* min value for an off_t */
     134: #define OFF_MAX        LLONG_MAX    /* max value for an off_t */
     135: #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
     136: 
     137: /* Actually for XSI Visible */
     138: #if __DARWIN_C_LEVEL > __DARWIN_C_ANSI
     139: 
     140: /* Removed in Issue 6 */
     141: #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
     142: #define PASS_MAX    128
     143: #endif
     144: 
     145: #define NL_ARGMAX    9
     146: #define NL_LANGMAX    14
     147: #define NL_MSGMAX    32767
     148: #define NL_NMAX        1
     149: #define NL_SETMAX    255
     150: #define NL_TEXTMAX    2048
     151: 
     152: #define _XOPEN_IOV_MAX    16
     153: #define IOV_MAX        1024
     154: #define _XOPEN_NAME_MAX 255
     155: #define _XOPEN_PATH_MAX 1024
     156: 
     157: #endif /* __DARWIN_C_LEVEL > __DARWIN_C_ANSI */
     158: 
     159: /* NZERO to be defined here. TBD. See also sys/param.h  */
     160: 
     161: #endif /* !_LIMITS_H_ */
     162: