1 1.1 jtc #ifndef PRIVATE_H 2 1.1 jtc 3 1.1 jtc #define PRIVATE_H 4 1.1 jtc 5 1.1 jtc /* 6 1.1 jtc ** This header is for use ONLY with the time conversion code. 7 1.1 jtc ** There is no guarantee that it will remain unchanged, 8 1.1 jtc ** or that it will remain at all. 9 1.1 jtc ** Do NOT copy it to any system include directory. 10 1.1 jtc ** Thank you! 11 1.1 jtc */ 12 1.1 jtc 13 1.1 jtc /* 14 1.1 jtc ** ID 15 1.1 jtc */ 16 1.1 jtc 17 1.1 jtc #ifndef lint 18 1.1 jtc #ifndef NOID 19 1.1 jtc static char privatehid[] = "@(#)private.h 7.33"; 20 1.1 jtc #endif /* !defined NOID */ 21 1.1 jtc #endif /* !defined lint */ 22 1.1 jtc 23 1.1 jtc /* 24 1.1 jtc ** Defaults for preprocessor symbols. 25 1.1 jtc ** You can override these in your C compiler options, e.g. `-DHAVE_ADJTIME=0'. 26 1.1 jtc */ 27 1.1 jtc 28 1.1 jtc #ifndef HAVE_ADJTIME 29 1.1 jtc #define HAVE_ADJTIME 1 30 1.1 jtc #endif /* !defined HAVE_ADJTIME */ 31 1.1 jtc 32 1.1 jtc #ifndef HAVE_SETTIMEOFDAY 33 1.1 jtc #define HAVE_SETTIMEOFDAY 3 34 1.1 jtc #endif /* !defined HAVE_SETTIMEOFDAY */ 35 1.1 jtc 36 1.1 jtc #ifndef HAVE_UNISTD_H 37 1.1 jtc #define HAVE_UNISTD_H 1 38 1.1 jtc #endif /* !defined HAVE_UNISTD_H */ 39 1.1 jtc 40 1.1 jtc #ifndef LOCALE_HOME 41 1.1 jtc #define LOCALE_HOME "/usr/lib/locale" 42 1.1 jtc #endif /* !defined LOCALE_HOME */ 43 1.1 jtc 44 1.1 jtc /* 45 1.1 jtc ** Nested includes 46 1.1 jtc */ 47 1.1 jtc 48 1.1 jtc #include "sys/types.h" /* for time_t */ 49 1.1 jtc #include "stdio.h" 50 1.1 jtc #include "ctype.h" 51 1.1 jtc #include "errno.h" 52 1.1 jtc #include "string.h" 53 1.1 jtc #include "limits.h" /* for CHAR_BIT */ 54 1.1 jtc #include "time.h" 55 1.1 jtc #include "stdlib.h" 56 1.1 jtc 57 1.1 jtc #if HAVE_UNISTD_H - 0 58 1.1 jtc #include "unistd.h" /* for F_OK and R_OK */ 59 1.1 jtc #endif /* HAVE_UNISTD_H - 0 */ 60 1.1 jtc 61 1.1 jtc #if !(HAVE_UNISTD_H - 0) 62 1.1 jtc #ifndef F_OK 63 1.1 jtc #define F_OK 0 64 1.1 jtc #endif /* !defined F_OK */ 65 1.1 jtc #ifndef R_OK 66 1.1 jtc #define R_OK 4 67 1.1 jtc #endif /* !defined R_OK */ 68 1.1 jtc #endif /* !(HAVE_UNISTD_H - 0) */ 69 1.1 jtc 70 1.1 jtc /* 71 1.1 jtc ** Workarounds for compilers/systems. 72 1.1 jtc */ 73 1.1 jtc 74 1.1 jtc /* 75 1.1 jtc ** SunOS 4.1.1 cc lacks const. 76 1.1 jtc */ 77 1.1 jtc 78 1.1 jtc #ifndef const 79 1.1 jtc #ifndef __STDC__ 80 1.1 jtc #define const 81 1.1 jtc #endif /* !defined __STDC__ */ 82 1.1 jtc #endif /* !defined const */ 83 1.1 jtc 84 1.1 jtc /* 85 1.1 jtc ** SunOS 4.1.1 cc lacks prototypes. 86 1.1 jtc */ 87 1.1 jtc 88 1.1 jtc #ifndef P 89 1.1 jtc #ifdef __STDC__ 90 1.1 jtc #define P(x) x 91 1.1 jtc #endif /* defined __STDC__ */ 92 1.1 jtc #ifndef __STDC__ 93 1.1 jtc #define P(x) () 94 1.1 jtc #endif /* !defined __STDC__ */ 95 1.1 jtc #endif /* !defined P */ 96 1.1 jtc 97 1.1 jtc /* 98 1.1 jtc ** SunOS 4.1.1 headers lack EXIT_SUCCESS. 99 1.1 jtc */ 100 1.1 jtc 101 1.1 jtc #ifndef EXIT_SUCCESS 102 1.1 jtc #define EXIT_SUCCESS 0 103 1.1 jtc #endif /* !defined EXIT_SUCCESS */ 104 1.1 jtc 105 1.1 jtc /* 106 1.1 jtc ** SunOS 4.1.1 headers lack EXIT_FAILURE. 107 1.1 jtc */ 108 1.1 jtc 109 1.1 jtc #ifndef EXIT_FAILURE 110 1.1 jtc #define EXIT_FAILURE 1 111 1.1 jtc #endif /* !defined EXIT_FAILURE */ 112 1.1 jtc 113 1.1 jtc /* 114 1.1 jtc ** SunOS 4.1.1 headers lack FILENAME_MAX. 115 1.1 jtc */ 116 1.1 jtc 117 1.1 jtc #ifndef FILENAME_MAX 118 1.1 jtc 119 1.1 jtc #ifndef MAXPATHLEN 120 1.1 jtc #ifdef unix 121 1.1 jtc #include "sys/param.h" 122 1.1 jtc #endif /* defined unix */ 123 1.1 jtc #endif /* !defined MAXPATHLEN */ 124 1.1 jtc 125 1.1 jtc #ifdef MAXPATHLEN 126 1.1 jtc #define FILENAME_MAX MAXPATHLEN 127 1.1 jtc #endif /* defined MAXPATHLEN */ 128 1.1 jtc #ifndef MAXPATHLEN 129 1.1 jtc #define FILENAME_MAX 1024 /* Pure guesswork */ 130 1.1 jtc #endif /* !defined MAXPATHLEN */ 131 1.1 jtc 132 1.1 jtc #endif /* !defined FILENAME_MAX */ 133 1.1 jtc 134 1.1 jtc /* 135 1.1 jtc ** SunOS 4.1.1 libraries lack remove. 136 1.1 jtc */ 137 1.1 jtc 138 1.1 jtc #ifndef remove 139 1.1 jtc extern int unlink P((const char * filename)); 140 1.1 jtc #define remove unlink 141 1.1 jtc #endif /* !defined remove */ 142 1.1 jtc 143 1.1 jtc /* 144 1.1 jtc ** Finally, some convenience items. 145 1.1 jtc */ 146 1.1 jtc 147 1.1 jtc #ifndef TRUE 148 1.1 jtc #define TRUE 1 149 1.1 jtc #endif /* !defined TRUE */ 150 1.1 jtc 151 1.1 jtc #ifndef FALSE 152 1.1 jtc #define FALSE 0 153 1.1 jtc #endif /* !defined FALSE */ 154 1.1 jtc 155 1.1 jtc #ifndef INT_STRLEN_MAXIMUM 156 1.1 jtc /* 157 1.1 jtc ** 302 / 1000 is log10(2.0) rounded up. 158 1.1 jtc ** Subtract one for the sign bit; 159 1.1 jtc ** add one for integer division truncation; 160 1.1 jtc ** add one more for a minus sign. 161 1.1 jtc */ 162 1.1 jtc #define INT_STRLEN_MAXIMUM(type) \ 163 1.1 jtc ((sizeof(type) * CHAR_BIT - 1) * 302 / 1000 + 2) 164 1.1 jtc #endif /* !defined INT_STRLEN_MAXIMUM */ 165 1.1 jtc 166 1.1 jtc /* 167 1.1 jtc ** INITIALIZE(x) 168 1.1 jtc */ 169 1.1 jtc 170 1.1 jtc #ifndef GNUC_or_lint 171 1.1 jtc #ifdef lint 172 1.1 jtc #define GNUC_or_lint 173 1.1 jtc #endif /* defined lint */ 174 1.1 jtc #ifndef lint 175 1.1 jtc #ifdef __GNUC__ 176 1.1 jtc #define GNUC_or_lint 177 1.1 jtc #endif /* defined __GNUC__ */ 178 1.1 jtc #endif /* !defined lint */ 179 1.1 jtc #endif /* !defined GNUC_or_lint */ 180 1.1 jtc 181 1.1 jtc #ifndef INITIALIZE 182 1.1 jtc #ifdef GNUC_or_lint 183 1.1 jtc #define INITIALIZE(x) ((x) = 0) 184 1.1 jtc #endif /* defined GNUC_or_lint */ 185 1.1 jtc #ifndef GNUC_or_lint 186 1.1 jtc #define INITIALIZE(x) 187 1.1 jtc #endif /* !defined GNUC_or_lint */ 188 1.1 jtc #endif /* !defined INITIALIZE */ 189 1.1 jtc 190 1.1 jtc /* 191 1.1 jtc ** UNIX was a registered trademark of UNIX System Laboratories in 1993. 192 1.1 jtc */ 193 1.1 jtc 194 1.1 jtc #endif /* !defined PRIVATE_H */ 195