rbb 00/01/09 12:58:27
Modified: src/lib/apr/include apr_portable.h src/lib/apr/time/unix Makefile.in time.c Log: add the ap_get_os_*_time funcs after Dean's time re-write. Revision Changes Path 1.18 +12 -6 apache-2.0/src/lib/apr/include/apr_portable.h Index: apr_portable.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_portable.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- apr_portable.h 1999/12/06 18:19:34 1.17 +++ apr_portable.h 2000/01/09 20:58:22 1.18 @@ -91,7 +91,8 @@ typedef HANDLE ap_os_thread_t; typedef PROCESS_INFORMATION ap_os_proc_t; typedef DWORD ap_os_threadkey_t; -typedef SYSTEMTIME ap_os_time_t; +typedef FILETIME ap_os_imp_time_t; +typedef SYSTEMTIME ap_os_exp_time_t; #elif defined(OS2) #define INCL_DOS @@ -103,7 +104,8 @@ typedef TID ap_os_thread_t; typedef PID ap_os_proc_t; typedef PULONG ap_os_threadkey_t; -typedef struct timeval ap_os_time_t; +typedef struct timeval ap_os_imp_time_t; +typedef struct tm ap_os_exp_time_t; #elif defined(BEOS) #include <kernel/OS.h> @@ -124,7 +126,8 @@ typedef thread_id ap_os_thread_t; typedef thread_id ap_os_proc_t; typedef int ap_os_threadkey_t; -typedef struct timeval ap_os_time_t; +typedef struct timeval ap_os_imp_time_t; +typedef struct tm ap_os_exp_time_t; #else /* Any other OS should go above this one. This is the lowest common @@ -173,7 +176,8 @@ typedef pthread_key_t ap_os_threadkey_t; #endif typedef pid_t ap_os_proc_t; -typedef struct timeval ap_os_time_t; +typedef struct timeval ap_os_imp_time_t; +typedef struct tm ap_os_exp_time_t; #endif ap_status_t ap_get_os_file(ap_os_file_t *, ap_file_t *); @@ -181,7 +185,8 @@ ap_status_t ap_get_os_sock(ap_os_sock_t *, ap_socket_t *); ap_status_t ap_get_os_lock(ap_os_lock_t *, ap_lock_t *); ap_status_t ap_get_os_proc(ap_os_proc_t *, ap_proc_t *); -ap_status_t ap_get_os_time(ap_os_time_t **, ap_time_t *); +ap_status_t ap_get_os_exp_time(ap_os_exp_time_t **, ap_exploded_time_t *); +ap_status_t ap_get_os_imp_time(ap_os_imp_time_t **, ap_time_t *); #if APR_HAS_THREADS ap_status_t ap_get_os_thread(ap_os_thread_t *, ap_thread_t *); ap_status_t ap_get_os_threadkey(ap_os_threadkey_t *, ap_key_t *); @@ -192,7 +197,8 @@ ap_status_t ap_put_os_sock(ap_socket_t **, ap_os_sock_t *, ap_context_t *); ap_status_t ap_put_os_lock(ap_lock_t **, ap_os_lock_t *, ap_context_t *); ap_status_t ap_put_os_proc(ap_proc_t **, ap_os_proc_t *, ap_context_t *); -ap_status_t ap_put_os_time(ap_time_t **, ap_os_time_t *, ap_context_t *); +ap_status_t ap_put_os_imp_time(ap_time_t *, ap_os_imp_time_t **, ap_context_t *); +ap_status_t ap_put_os_exp_time(ap_exploded_time_t *, ap_os_exp_time_t **, ap_context_t *); #if APR_HAS_THREADS ap_status_t ap_put_os_thread(ap_thread_t **, ap_os_thread_t *, ap_context_t *); ap_status_t ap_put_os_threadkey(ap_key_t **, ap_os_threadkey_t *, ap_context_t *); 1.11 +12 -12 apache-2.0/src/lib/apr/time/unix/Makefile.in Index: Makefile.in =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/time/unix/Makefile.in,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Makefile.in 2000/01/09 05:18:21 1.10 +++ Makefile.in 2000/01/09 20:58:24 1.11 @@ -50,15 +50,15 @@ && rm Makefile.new # DO NOT REMOVE -time.o: time.c atime.h ../../include/apr_config.h \ - ../../include/apr_time.h ../../include/apr_general.h \ - ../../include/apr.h ../../include/apr_errno.h ../../include/apr_lib.h \ - ../../include/apr_file_io.h ../../include/apr_thread_proc.h \ - ../../include/apr_portable.h ../../include/apr_network_io.h \ - ../../include/apr_lock.h -timestr.o: timestr.c atime.h ../../include/apr_config.h \ - ../../include/apr_time.h ../../include/apr_general.h \ - ../../include/apr.h ../../include/apr_errno.h ../../include/apr_lib.h \ - ../../include/apr_file_io.h ../../include/apr_thread_proc.h \ - ../../include/apr_portable.h ../../include/apr_network_io.h \ - ../../include/apr_lock.h +time.o: time.c atime.h $(INCDIR)/apr_config.h \ + $(INCDIR)/apr_time.h $(INCDIR)/apr_general.h \ + $(INCDIR)/apr.h $(INCDIR)/apr_errno.h $(INCDIR)/apr_lib.h \ + $(INCDIR)/apr_file_io.h $(INCDIR)/apr_thread_proc.h \ + $(INCDIR)/apr_portable.h $(INCDIR)/apr_network_io.h \ + $(INCDIR)/apr_lock.h +timestr.o: timestr.c atime.h $(INCDIR)/apr_config.h \ + $(INCDIR)/apr_time.h $(INCDIR)/apr_general.h \ + $(INCDIR)/apr.h $(INCDIR)/apr_errno.h $(INCDIR)/apr_lib.h \ + $(INCDIR)/apr_file_io.h $(INCDIR)/apr_thread_proc.h \ + $(INCDIR)/apr_portable.h $(INCDIR)/apr_network_io.h \ + $(INCDIR)/apr_lock.h 1.17 +71 -0 apache-2.0/src/lib/apr/time/unix/time.c Index: time.c =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/time/unix/time.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- time.c 2000/01/09 05:18:21 1.16 +++ time.c 2000/01/09 20:58:25 1.17 @@ -223,3 +223,74 @@ *t = days * AP_USEC_PER_SEC + xt->tm_usec; return APR_SUCCESS; } + +/* ***APRDOC******************************************************** + * ap_status_t ap_get_os_imp_time(ap_os_imp_time_t **, ap_time_t *) + * Get the imploded time in the platforms native format. + * arg 1) the native time format + * arg 2) the time to convert + */ +ap_status_t ap_get_os_imp_time(ap_os_imp_time_t **ostime, ap_time_t *aprtime) +{ + (*ostime)->tv_usec = *aprtime % AP_USEC_PER_SEC; + (*ostime)->tv_sec = *aprtime / AP_USEC_PER_SEC; + return APR_SUCCESS; +} + +/* ***APRDOC******************************************************** + * ap_status_t ap_get_os_exp_time(ap_os_exp_time_t **, ap_exploded_time_t *) + * Get the exploded time in the platforms native format. + * arg 1) the native time format + * arg 2) the time to convert + */ +ap_status_t ap_get_os_exp_time(ap_os_exp_time_t **ostime, ap_exploded_time_t *aprtime) +{ + (*ostime)->tm_sec = aprtime->tm_sec; + (*ostime)->tm_min = aprtime->tm_min; + (*ostime)->tm_hour = aprtime->tm_hour; + (*ostime)->tm_mday = aprtime->tm_mday; + (*ostime)->tm_mon = aprtime->tm_mon; + (*ostime)->tm_year = aprtime->tm_year; + (*ostime)->tm_wday = aprtime->tm_wday; + (*ostime)->tm_yday = aprtime->tm_yday; + (*ostime)->tm_isdst = aprtime->tm_isdst; + return APR_SUCCESS; +} + +/* ***APRDOC******************************************************** + * ap_status_t ap_put_os_imp_time(ap_time_t *, ap_os_imp_time_t **, ap_context_t, *cont) + * Put the imploded time in the APR format. + * arg 1) the APR time format + * arg 2) the time to convert + * arg 3) the context to use if necessary + */ +ap_status_t ap_put_os_imp_time(ap_time_t *aprtime, ap_os_imp_time_t **ostime, + ap_context_t *cont) +{ + struct timeval tv; + *aprtime = (*ostime)->tv_sec * AP_USEC_PER_SEC + (*ostime)->tv_usec; + return APR_SUCCESS; +} + +/* ***APRDOC******************************************************** + * ap_status_t ap_put_os_exp_time(ap_exploded_time_t *, ap_os_exp_time_t **, ap_context_t, *cont) + * Put the exploded time in the APR format. + * arg 1) the APR time format + * arg 2) the time to convert + * arg 3) the context to use if necessary + */ +ap_status_t ap_put_os_exp_time(ap_exploded_time_t *aprtime, + ap_os_exp_time_t **ostime, ap_context_t *cont) +{ + aprtime->tm_sec = (*ostime)->tm_sec; + aprtime->tm_min = (*ostime)->tm_min; + aprtime->tm_hour = (*ostime)->tm_hour; + aprtime->tm_mday = (*ostime)->tm_mday; + aprtime->tm_mon = (*ostime)->tm_mon; + aprtime->tm_year = (*ostime)->tm_year; + aprtime->tm_wday = (*ostime)->tm_wday; + aprtime->tm_yday = (*ostime)->tm_yday; + aprtime->tm_isdst = (*ostime)->tm_isdst; + return APR_SUCCESS; +} +