Merge from vendor branch SENDMAIL:
[dragonfly.git] / contrib / sendmail-8.13.8 / include / sm / limits.h
1 /*
2  * Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
3  *      All rights reserved.
4  *
5  * By using this file, you agree to the terms and conditions set
6  * forth in the LICENSE file which can be found at the top level of
7  * the sendmail distribution.
8  *
9  *      $Id: limits.h,v 1.6 2001/03/08 03:23:08 ca Exp $
10  */
11
12 /*
13 **  <sm/limits.h>
14 **  This header file is a portability wrapper for <limits.h>.
15 **  It includes <limits.h>, then it ensures that the following macros
16 **  from the C 1999 standard for <limits.h> are defined:
17 **      LLONG_MIN, LLONG_MAX
18 **      ULLONG_MAX
19 */
20
21 #ifndef SM_LIMITS_H
22 # define SM_LIMITS_H
23
24 # include <limits.h>
25 # include <sm/types.h>
26 # include <sys/param.h>
27
28 /*
29 **  The following assumes two's complement binary arithmetic.
30 */
31
32 # ifndef LLONG_MIN
33 #  define LLONG_MIN     ((LONGLONG_T)(~(ULLONG_MAX >> 1)))
34 # endif /* ! LLONG_MIN */
35 # ifndef LLONG_MAX
36 #  define LLONG_MAX     ((LONGLONG_T)(ULLONG_MAX >> 1))
37 # endif /* ! LLONG_MAX */
38 # ifndef ULLONG_MAX
39 #  define ULLONG_MAX    ((ULONGLONG_T)(-1))
40 # endif /* ! ULLONG_MAX */
41
42 /*
43 **  PATH_MAX is defined by the POSIX standard.  All modern systems
44 **  provide it.  Older systems define MAXPATHLEN in <sys/param.h> instead.
45 */
46
47 # ifndef PATH_MAX
48 #  ifdef MAXPATHLEN
49 #   define PATH_MAX     MAXPATHLEN
50 #  else /* MAXPATHLEN */
51 #   define PATH_MAX     2048
52 #  endif /* MAXPATHLEN */
53 # endif /* ! PATH_MAX */
54
55 #endif /* ! SM_LIMITS_H */