Ignore:
Timestamp:
Sep 11, 2003, 11:49:53 AM (22 years ago)
Author:
bird
Message:

#427: Got new limits from FreeBSD 5.1. Tried my best to merge and check against EMX.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/limits.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r694 r695  
    1 /* limits.h (emx+gcc) */
     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. All advertising materials mentioning features or use of this software
     14 *    must display the following acknowledgement:
     15 *      This product includes software developed by the University of
     16 *      California, Berkeley and its contributors.
     17 * 4. Neither the name of the University nor the names of its contributors
     18 *    may be used to endorse or promote products derived from this software
     19 *    without specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     31 * SUCH DAMAGE.
     32 *
     33 *      @(#)limits.h    8.2 (Berkeley) 1/4/94
     34 * $FreeBSD: src/include/limits.h,v 1.16 2003/04/29 13:35:58 kan Exp $
     35 */
    236
    3 #ifndef _LIMITS_H
    4 #define _LIMITS_H
     37/** @file
     38 * FreeBSD 5.1
     39 * @changed bird: made some minor adjustments.
     40 * @remark  Most of the values here aren't really absolute maximum values.
     41 *          Take care to check the specification before changing anything.
     42 * @todo    Review and make adjustments.
     43 */
    544
    6 #define CHAR_BIT      8
    7 #define SCHAR_MIN   (-128)
    8 #define SCHAR_MAX     127
    9 #define UCHAR_MAX     0xffU
    10 #if defined (__CHAR_UNSIGNED__)
    11 #define CHAR_MIN      0
    12 #define CHAR_MAX      UCHAR_MAX
    13 #else
    14 #define CHAR_MIN      SCHAR_MIN
    15 #define CHAR_MAX      SCHAR_MAX
    16 #endif
    17 #define MB_LEN_MAX    6
    18 #define SHRT_MIN    (-32768)
    19 #define SHRT_MAX      32767
    20 #define USHRT_MAX     0xffffU
    21 #define LONG_MIN    (-0x7fffffffL-1L)
    22 #define LONG_MAX      0x7fffffffL
    23 #define ULONG_MAX     0xffffffffUL
    24 #define LLONG_MIN   (-0x7fffffffffffffffLL-1LL)
    25 #define LLONG_MAX     0x7fffffffffffffffLL
    26 #define ULLONG_MAX    0xffffffffffffffffULL
     45#ifndef _LIMITS_H_
     46#define _LIMITS_H_
    2747
    28 #define INT_MIN     (-0x7fffffff-1)
    29 #define INT_MAX       0x7fffffff
    30 #define UINT_MAX      0xffffffffU
     48#include <sys/cdefs.h>
    3149
     50#if __POSIX_VISIBLE
     51/* bird: these are kind of minimum values, so we don't mess with them,
     52 * max limits are found in sys/syslimits.h for most of them. */
     53#define _POSIX_ARG_MAX          4096
     54#define _POSIX_CHILD_MAX        25
     55#define _POSIX_LINK_MAX         8
     56#define _POSIX_MAX_CANON        255
     57#define _POSIX_MAX_INPUT        255
     58#define _POSIX_NAME_MAX         14
     59#define _POSIX_NGROUPS_MAX      8
     60#define _POSIX_OPEN_MAX         20
     61#define _POSIX_PATH_MAX         256
     62#define _POSIX_PIPE_BUF         512
     63#define _POSIX_SSIZE_MAX        32767
     64#define _POSIX_STREAM_MAX       8
     65#define _POSIX_TZNAME_MAX       6
    3266
    33 #if !defined (__STRICT_ANSI__)
     67#define BC_BASE_MAX                99   /* max ibase/obase values in bc(1) */
     68#define BC_DIM_MAX               2048   /* max array elements in bc(1) */
     69#define BC_SCALE_MAX               99   /* max scale value in bc(1) */
     70#define BC_STRING_MAX            1000   /* max const string length in bc(1) */
     71#define COLL_WEIGHTS_MAX            0   /* max weights for order keyword */
     72#define EXPR_NEST_MAX              32   /* max expressions nested in expr(1) */
     73#define LINE_MAX                 2048   /* max bytes in an input line */
     74#define RE_DUP_MAX                255   /* max RE's in interval notation */
    3475
    35 #define _POSIX_ARG_MAX          4096
    36 #define _POSIX_CHILD_MAX        6
    37 #define _POSIX_LINK_MAX         8
    38 #define _POSIX_MAX_CANON        255
    39 #define _POSIX_MAX_INPUT        255
    40 #define _POSIX_NAME_MAX         14
    41 #define _POSIX_NGROUPS_MAX      0
    42 #define _POSIX_OPEN_MAX         16
    43 #define _POSIX_PATH_MAX         255
    44 #define _POSIX_PIPE_BUF         512
    45 #define _POSIX_SSIZE_MAX        32767
    46 #define _POSIX_STREAM_MAX       8
    47 #define _POSIX_TZNAME_MAX       3
    48 
    49 #define NGROUPS_MAX             0
    50 
    51 #define SSIZE_MAX               INT_MAX
    52 
     76#define _POSIX2_BC_BASE_MAX     99
     77#define _POSIX2_BC_DIM_MAX      2048
     78#define _POSIX2_BC_SCALE_MAX    99
     79#define _POSIX2_BC_STRING_MAX   1000
     80#define _POSIX2_EQUIV_CLASS_MAX 2
     81#define _POSIX2_EXPR_NEST_MAX   32
     82#define _POSIX2_LINE_MAX        2048
     83#define _POSIX2_RE_DUP_MAX      255
    5384#endif
    5485
    55 
    56 #if !defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)
    57 
    58 #define WORD_BIT        32
    59 #define USI_MAX         UINT_MAX
    60 
     86#if __POSIX_VISIBLE >= 199309
     87#define _POSIX_AIO_LISTIO_MAX   16
     88#define _POSIX_AIO_MAX          1
     89#define _POSIX_DELAYTIMER_MAX   32
     90#define _POSIX_MQ_OPEN_MAX      8
     91#define _POSIX_MQ_PRIO_MAX      32
     92#define _POSIX_RTSIG_MAX        8
     93#define _POSIX_SEM_NSEMS_MAX    256
     94#define _POSIX_SEM_VALUE_MAX    32767
     95#define _POSIX_SIGQUEUE_MAX     32
     96#define _POSIX_TIMER_MAX        32
    6197#endif
    6298
    63 #endif /* not _LIMITS_H */
     99#if __POSIX_VISIBLE >= 199506
     100#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
     101#define _POSIX_THREAD_KEYS_MAX  128
     102#define _POSIX_THREAD_THREADS_MAX 64
     103#endif
     104
     105#if __POSIX_VISIBLE >= 200112
     106#define _POSIX_HOST_NAME_MAX    255
     107#define _POSIX_LOGIN_NAME_MAX   9
     108#define _POSIX_SS_REPL_MAX      4
     109#define _POSIX_SYMLINK_MAX      255
     110#define _POSIX_SYMLOOP_MAX      8
     111#define _POSIX_TRACE_EVENT_NAME_MAX 30
     112#define _POSIX_TRACE_NAME_MAX   8
     113#define _POSIX_TRACE_SYS_MAX    8
     114#define _POSIX_TRACE_USER_EVENT_MAX 32
     115#define _POSIX_TTY_NAME_MAX     9
     116#define _POSIX2_CHARCLASS_NAME_MAX 14
     117#define _POSIX2_COLL_WEIGHTS_MAX 2
     118
     119#define _POSIX_RE_DUP_MAX       _POSIX2_RE_DUP_MAX
     120#endif
     121
     122#if __XSI_VISIBLE
     123#define _XOPEN_IOV_MAX          16
     124#define _XOPEN_NAME_MAX         255
     125#define _XOPEN_PATH_MAX         1024
     126#define PASS_MAX                128     /* _PASSWORD_LEN from <pwd.h> */
     127
     128#define NL_ARGMAX               99      /* max # of position args for printf */
     129/* bird: changed value from 31 to 14 as VAC uses that. */
     130#define NL_LANGMAX              14      /* max LANG name length */
     131#define NL_MSGMAX               32767
     132#define NL_NMAX                 1
     133#define NL_SETMAX               255
     134#define NL_TEXTMAX              2048
     135#endif
     136
     137#define MB_LEN_MAX              6       /* 31-bit UTF-8 */
     138
     139#include <sys/limits.h>
     140
     141#if __POSIX_VISIBLE
     142#include <sys/syslimits.h>
     143#endif
     144
     145#endif /* !_LIMITS_H_ */
Note: See TracChangeset for help on using the changeset viewer.