diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/tmdiff.c')
-rw-r--r-- | src/lib/libssl/src/crypto/tmdiff.c | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/src/lib/libssl/src/crypto/tmdiff.c b/src/lib/libssl/src/crypto/tmdiff.c index 307523ebba..1c6e052ac9 100644 --- a/src/lib/libssl/src/crypto/tmdiff.c +++ b/src/lib/libssl/src/crypto/tmdiff.c | |||
@@ -72,7 +72,11 @@ | |||
72 | # define TIMES | 72 | # define TIMES |
73 | #endif | 73 | #endif |
74 | 74 | ||
75 | #ifndef _IRIX | 75 | #ifdef OPENSSL_SYS_NETWARE |
76 | #undef TIMES | ||
77 | #endif | ||
78 | |||
79 | #if !defined(_IRIX) || defined (OPENSSL_SYS_NETWARE) | ||
76 | # include <time.h> | 80 | # include <time.h> |
77 | #endif | 81 | #endif |
78 | #ifdef TIMES | 82 | #ifdef TIMES |
@@ -94,7 +98,7 @@ | |||
94 | #include <sys/param.h> | 98 | #include <sys/param.h> |
95 | #endif | 99 | #endif |
96 | 100 | ||
97 | #if !defined(TIMES) && !defined(OPENSSL_SYS_VXWORKS) | 101 | #if !defined(TIMES) && !defined(OPENSSL_SYS_VXWORKS) && !defined(OPENSSL_SYS_NETWARE) |
98 | #include <sys/timeb.h> | 102 | #include <sys/timeb.h> |
99 | #endif | 103 | #endif |
100 | 104 | ||
@@ -106,7 +110,8 @@ | |||
106 | #ifndef HZ | 110 | #ifndef HZ |
107 | # if defined(_SC_CLK_TCK) \ | 111 | # if defined(_SC_CLK_TCK) \ |
108 | && (!defined(OPENSSL_SYS_VMS) || __CTRL_VER >= 70000000) | 112 | && (!defined(OPENSSL_SYS_VMS) || __CTRL_VER >= 70000000) |
109 | # define HZ ((double)sysconf(_SC_CLK_TCK)) | 113 | /* # define HZ ((double)sysconf(_SC_CLK_TCK)) */ |
114 | # define HZ sysconf(_SC_CLK_TCK) | ||
110 | # else | 115 | # else |
111 | # ifndef CLK_TCK | 116 | # ifndef CLK_TCK |
112 | # ifndef _BSD_CLK_TCK_ /* FreeBSD hack */ | 117 | # ifndef _BSD_CLK_TCK_ /* FreeBSD hack */ |
@@ -120,7 +125,7 @@ | |||
120 | # endif | 125 | # endif |
121 | #endif | 126 | #endif |
122 | 127 | ||
123 | typedef struct ms_tm | 128 | struct ms_tm |
124 | { | 129 | { |
125 | #ifdef TIMES | 130 | #ifdef TIMES |
126 | struct tms ms_tms; | 131 | struct tms ms_tms; |
@@ -128,6 +133,8 @@ typedef struct ms_tm | |||
128 | # ifdef OPENSSL_SYS_WIN32 | 133 | # ifdef OPENSSL_SYS_WIN32 |
129 | HANDLE thread_id; | 134 | HANDLE thread_id; |
130 | FILETIME ms_win32; | 135 | FILETIME ms_win32; |
136 | # elif defined (OPENSSL_SYS_NETWARE) | ||
137 | clock_t ms_clock; | ||
131 | # else | 138 | # else |
132 | # ifdef OPENSSL_SYS_VXWORKS | 139 | # ifdef OPENSSL_SYS_VXWORKS |
133 | unsigned long ticks; | 140 | unsigned long ticks; |
@@ -136,9 +143,9 @@ typedef struct ms_tm | |||
136 | # endif | 143 | # endif |
137 | # endif | 144 | # endif |
138 | #endif | 145 | #endif |
139 | } MS_TM; | 146 | }; |
140 | 147 | ||
141 | char *ms_time_new(void) | 148 | MS_TM *ms_time_new(void) |
142 | { | 149 | { |
143 | MS_TM *ret; | 150 | MS_TM *ret; |
144 | 151 | ||
@@ -149,18 +156,17 @@ char *ms_time_new(void) | |||
149 | #ifdef OPENSSL_SYS_WIN32 | 156 | #ifdef OPENSSL_SYS_WIN32 |
150 | ret->thread_id=GetCurrentThread(); | 157 | ret->thread_id=GetCurrentThread(); |
151 | #endif | 158 | #endif |
152 | return((char *)ret); | 159 | return ret; |
153 | } | 160 | } |
154 | 161 | ||
155 | void ms_time_free(char *a) | 162 | void ms_time_free(MS_TM *a) |
156 | { | 163 | { |
157 | if (a != NULL) | 164 | if (a != NULL) |
158 | OPENSSL_free(a); | 165 | OPENSSL_free(a); |
159 | } | 166 | } |
160 | 167 | ||
161 | void ms_time_get(char *a) | 168 | void ms_time_get(MS_TM *tm) |
162 | { | 169 | { |
163 | MS_TM *tm=(MS_TM *)a; | ||
164 | #ifdef OPENSSL_SYS_WIN32 | 170 | #ifdef OPENSSL_SYS_WIN32 |
165 | FILETIME tmpa,tmpb,tmpc; | 171 | FILETIME tmpa,tmpb,tmpc; |
166 | #endif | 172 | #endif |
@@ -170,6 +176,8 @@ void ms_time_get(char *a) | |||
170 | #else | 176 | #else |
171 | # ifdef OPENSSL_SYS_WIN32 | 177 | # ifdef OPENSSL_SYS_WIN32 |
172 | GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32)); | 178 | GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32)); |
179 | # elif defined (OPENSSL_SYS_NETWARE) | ||
180 | tm->ms_clock = clock(); | ||
173 | # else | 181 | # else |
174 | # ifdef OPENSSL_SYS_VXWORKS | 182 | # ifdef OPENSSL_SYS_VXWORKS |
175 | tm->ticks = tickGet(); | 183 | tm->ticks = tickGet(); |
@@ -180,14 +188,13 @@ void ms_time_get(char *a) | |||
180 | #endif | 188 | #endif |
181 | } | 189 | } |
182 | 190 | ||
183 | double ms_time_diff(char *ap, char *bp) | 191 | double ms_time_diff(MS_TM *a, MS_TM *b) |
184 | { | 192 | { |
185 | MS_TM *a=(MS_TM *)ap; | ||
186 | MS_TM *b=(MS_TM *)bp; | ||
187 | double ret; | 193 | double ret; |
188 | 194 | ||
189 | #ifdef TIMES | 195 | #ifdef TIMES |
190 | ret=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; | 196 | ret = HZ; |
197 | ret = (b->ms_tms.tms_utime-a->ms_tms.tms_utime) / ret; | ||
191 | #else | 198 | #else |
192 | # ifdef OPENSSL_SYS_WIN32 | 199 | # ifdef OPENSSL_SYS_WIN32 |
193 | { | 200 | { |
@@ -204,6 +211,8 @@ double ms_time_diff(char *ap, char *bp) | |||
204 | lb+=b->ms_win32.dwLowDateTime; | 211 | lb+=b->ms_win32.dwLowDateTime; |
205 | ret=((double)(lb-la))/1e7; | 212 | ret=((double)(lb-la))/1e7; |
206 | } | 213 | } |
214 | # elif defined (OPENSSL_SYS_NETWARE) | ||
215 | ret= (double)(b->ms_clock - a->ms_clock); | ||
207 | # else | 216 | # else |
208 | # ifdef OPENSSL_SYS_VXWORKS | 217 | # ifdef OPENSSL_SYS_VXWORKS |
209 | ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet(); | 218 | ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet(); |
@@ -217,18 +226,20 @@ double ms_time_diff(char *ap, char *bp) | |||
217 | return((ret < 0.0000001)?0.0000001:ret); | 226 | return((ret < 0.0000001)?0.0000001:ret); |
218 | } | 227 | } |
219 | 228 | ||
220 | int ms_time_cmp(char *ap, char *bp) | 229 | int ms_time_cmp(const MS_TM *a, const MS_TM *b) |
221 | { | 230 | { |
222 | MS_TM *a=(MS_TM *)ap,*b=(MS_TM *)bp; | ||
223 | double d; | 231 | double d; |
224 | int ret; | 232 | int ret; |
225 | 233 | ||
226 | #ifdef TIMES | 234 | #ifdef TIMES |
227 | d=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; | 235 | d = HZ; |
236 | d = (b->ms_tms.tms_utime-a->ms_tms.tms_utime) / d; | ||
228 | #else | 237 | #else |
229 | # ifdef OPENSSL_SYS_WIN32 | 238 | # ifdef OPENSSL_SYS_WIN32 |
230 | d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7; | 239 | d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7; |
231 | d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7; | 240 | d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7; |
241 | # elif defined (OPENSSL_SYS_NETWARE) | ||
242 | d= (double)(b->ms_clock - a->ms_clock); | ||
232 | # else | 243 | # else |
233 | # ifdef OPENSSL_SYS_VXWORKS | 244 | # ifdef OPENSSL_SYS_VXWORKS |
234 | d = (b->ticks - a->ticks); | 245 | d = (b->ticks - a->ticks); |