1 /* 2 * Copyright (c) 2000-2001 Proofpoint, 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.7 2013/11/22 20:51:31 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 */ 56