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