rbb 99/07/02 12:09:29
Modified: apr/file_io/win32 dir.c file_io.def open.c apr/include apr_win.h apr/lib apr_pools.c apr/locks/win32 locks.c locks.def apr/network_io/win32 network_io.def sockets.c apr/threadproc/win32 proc.c thread.c threadpriv.c threadproc.def threadproc.h apr/time/win32 time.c time.def include apr_portable.h Log: Brings the portable APR routines to Windows. These allow a programmer to convert from APR types to platform specific types in a portable manner. Revision Changes Path 1.2 +5 -0 apache-apr/apr/file_io/win32/dir.c Index: dir.c =================================================================== RCS file: /home/cvs/apache-apr/apr/file_io/win32/dir.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dir.c 1999/06/03 19:43:43 1.1 +++ dir.c 1999/07/02 19:09:15 1.2 @@ -71,6 +71,7 @@ #include "fileio.h" #include "apr_file_io.h" #include "apr_lib.h" +#include "apr_portable.h" ap_status_t dir_cleanup(void *thedir) { @@ -208,3 +209,7 @@ return APR_SUCCESS; } +ap_os_dir_t *ap_get_os_dir(struct dir_t *dir) +{ + return &(dir->dirhand); +} \ No newline at end of file 1.4 +2 -1 apache-apr/apr/file_io/win32/file_io.def Index: file_io.def =================================================================== RCS file: /home/cvs/apache-apr/apr/file_io/win32/file_io.def,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- file_io.def 1999/06/23 15:00:06 1.3 +++ file_io.def 1999/07/02 19:09:15 1.4 @@ -31,5 +31,6 @@ ap_seek @24 ap_get_filedata @25 ap_set_filedata @26 - + ap_get_os_file @27 + ap_get_os_dir @28 1.3 +5 -0 apache-apr/apr/file_io/win32/open.c Index: open.c =================================================================== RCS file: /home/cvs/apache-apr/apr/file_io/win32/open.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- open.c 1999/06/07 13:21:41 1.2 +++ open.c 1999/07/02 19:09:15 1.3 @@ -59,6 +59,7 @@ #include "apr_file_io.h" #include "apr_general.h" #include "apr_lib.h" +#include "apr_portable.h" #include <errno.h> #include <string.h> #include <sys/stat.h> @@ -167,3 +168,7 @@ } } +ap_os_file_t *ap_get_os_file(struct file_t *file) +{ + return &(file->filehand); +} 1.7 +2 -1 apache-apr/apr/include/apr_win.h Index: apr_win.h =================================================================== RCS file: /home/cvs/apache-apr/apr/include/apr_win.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apr_win.h 1999/06/30 19:45:36 1.6 +++ apr_win.h 1999/07/02 19:09:16 1.7 @@ -57,7 +57,8 @@ #ifndef APR_WIN_H #define APR_WIN_H - +/*#define WIN32_LEAN_AND_MEAN*/ +#include <winsock2.h> #include <windows.h> #include <sys\types.h> #include <stdio.h> 1.8 +2 -0 apache-apr/apr/lib/apr_pools.c Index: apr_pools.c =================================================================== RCS file: /home/cvs/apache-apr/apr/lib/apr_pools.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- apr_pools.c 1999/06/07 19:27:35 1.7 +++ apr_pools.c 1999/07/02 19:09:16 1.8 @@ -72,6 +72,8 @@ #include "apr_pools.h" #include "apr_lib.h" #include "misc.h" +#include <stdlib.h> +#include <malloc.h> /* * Debugging support: Define this to enable code which helps detect re-use 1.3 +7 -0 apache-apr/apr/locks/win32/locks.c Index: locks.c =================================================================== RCS file: /home/cvs/apache-apr/apr/locks/win32/locks.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- locks.c 1999/06/23 15:00:07 1.2 +++ locks.c 1999/07/02 19:09:17 1.3 @@ -56,6 +56,7 @@ #include "apr_general.h" #include "apr_lib.h" #include "locks.h" +#include "apr_portable.h" ap_status_t ap_create_lock(ap_context_t *cont, ap_locktype_e type, char *fname, struct lock_t **lock) { @@ -152,3 +153,9 @@ return APR_ENOLOCK; } } + +ap_os_lock_t *ap_get_os_lock(struct lock_t *lock) +{ + return &(lock->mutex); +} + 1.3 +1 -0 apache-apr/apr/locks/win32/locks.def Index: locks.def =================================================================== RCS file: /home/cvs/apache-apr/apr/locks/win32/locks.def,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- locks.def 1999/06/23 15:00:07 1.2 +++ locks.def 1999/07/02 19:09:17 1.3 @@ -12,3 +12,4 @@ ap_child_init_lock @5 ap_get_lockdata @6 ap_set_lockdata @7 + ap_get_os_lock @8 \ No newline at end of file 1.3 +2 -1 apache-apr/apr/network_io/win32/network_io.def Index: network_io.def =================================================================== RCS file: /home/cvs/apache-apr/apr/network_io/win32/network_io.def,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- network_io.def 1999/06/23 15:00:09 1.2 +++ network_io.def 1999/07/02 19:09:20 1.3 @@ -25,4 +25,5 @@ ap_get_socketdata @18 ap_set_socketdata @19 ap_get_polldata @20 - ap_set_polldata @21 \ No newline at end of file + ap_set_polldata @21 + ap_get_os_sock @22 \ No newline at end of file 1.4 +5 -0 apache-apr/apr/network_io/win32/sockets.c Index: sockets.c =================================================================== RCS file: /home/cvs/apache-apr/apr/network_io/win32/sockets.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- sockets.c 1999/06/23 15:00:09 1.3 +++ sockets.c 1999/07/02 19:09:22 1.4 @@ -57,6 +57,7 @@ #include "apr_network_io.h" #include "apr_general.h" #include "apr_lib.h" +#include "apr_portable.h" #include <string.h> #include <winsock2.h> #include <windows.h> @@ -263,3 +264,7 @@ } } +ap_os_sock_t *ap_get_os_sock(struct socket_t *sock) +{ + return &(sock->sock); +} \ No newline at end of file 1.6 +6 -0 apache-apr/apr/threadproc/win32/proc.c Index: proc.c =================================================================== RCS file: /home/cvs/apache-apr/apr/threadproc/win32/proc.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- proc.c 1999/06/29 15:52:13 1.5 +++ proc.c 1999/07/02 19:09:25 1.6 @@ -60,6 +60,8 @@ #include "apr_file_io.h" #include "apr_general.h" #include "apr_lib.h" +#include "apr_portable.h" +#include <stdlib.h> #include <signal.h> #include <string.h> #include <process.h> @@ -358,3 +360,7 @@ } } +ap_os_proc_t *ap_get_os_proc(struct proc_t *process) +{ + return &(process->pi); +} \ No newline at end of file 1.4 +7 -2 apache-apr/apr/threadproc/win32/thread.c Index: thread.c =================================================================== RCS file: /home/cvs/apache-apr/apr/threadproc/win32/thread.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- thread.c 1999/06/23 15:00:10 1.3 +++ thread.c 1999/07/02 19:09:26 1.4 @@ -52,12 +52,12 @@ * project, please see <http://www.apache.org/>. * */ - +#include "apr_win.h" #include "threadproc.h" #include "apr_thread_proc.h" #include "apr_general.h" #include "apr_lib.h" -#include "apr_win.h" +#include "apr_portable.h" #include <process.h> @@ -176,6 +176,11 @@ data = NULL; return APR_ENOTHREAD; } +} + +ap_os_thread_t *ap_get_os_thread(ap_thread_t *thd) +{ + return &(thd->td); } 1.3 +6 -0 apache-apr/apr/threadproc/win32/threadpriv.c Index: threadpriv.c =================================================================== RCS file: /home/cvs/apache-apr/apr/threadproc/win32/threadpriv.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- threadpriv.c 1999/06/23 15:00:10 1.2 +++ threadpriv.c 1999/07/02 19:09:26 1.3 @@ -57,6 +57,7 @@ #include "apr_thread_proc.h" #include "apr_general.h" #include "apr_errno.h" +#include "apr_portable.h" ap_status_t ap_create_thread_private(ap_context_t *cont, void (*dest)(void *), struct threadkey_t **key) @@ -110,3 +111,8 @@ return APR_ENOTHDKEY; } } + +ap_os_threadkey_t *ap_get_os_threadkey(ap_key_t *key) +{ + return &(key->key); +} \ No newline at end of file 1.3 +3 -0 apache-apr/apr/threadproc/win32/threadproc.def Index: threadproc.def =================================================================== RCS file: /home/cvs/apache-apr/apr/threadproc/win32/threadproc.def,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- threadproc.def 1999/06/23 15:00:10 1.2 +++ threadproc.def 1999/07/02 19:09:26 1.3 @@ -34,3 +34,6 @@ ap_set_threadkeydata @27 ap_get_procdata @28 ap_set_procdata @29 + ap_get_os_proc @30 + ap_get_os_thread @31 + ap_get_os_threadkey @32 1.2 +2 -2 apache-apr/apr/threadproc/win32/threadproc.h Index: threadproc.h =================================================================== RCS file: /home/cvs/apache-apr/apr/threadproc/win32/threadproc.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- threadproc.h 1999/06/08 15:38:11 1.1 +++ threadproc.h 1999/07/02 19:09:27 1.2 @@ -52,10 +52,10 @@ * project, please see <http://www.apache.org/>. * */ - -#include <windows.h> +#include "apr_win.h" #include "apr_thread_proc.h" #include "apr_file_io.h" +#include <windows.h> #ifndef THREAD_PROC_H #define THREAD_PROC_H 1.2 +8 -0 apache-apr/apr/time/win32/time.c Index: time.c =================================================================== RCS file: /home/cvs/apache-apr/apr/time/win32/time.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- time.c 1999/06/17 18:56:22 1.1 +++ time.c 1999/07/02 19:09:28 1.2 @@ -57,6 +57,7 @@ #include "apr_time.h" #include "apr_general.h" #include "apr_lib.h" +#include "apr_portable.h" #include <time.h> #include <errno.h> #include <string.h> @@ -110,3 +111,10 @@ return APR_SUCCESS; } +ap_os_time_t *ap_get_os_time(ap_time_t *atime) +{ + if (atime->explodedtime == NULL) { + ap_implode_time(atime); + } + return atime->explodedtime; +} \ No newline at end of file 1.3 +2 -1 apache-apr/apr/time/win32/time.def Index: time.def =================================================================== RCS file: /home/cvs/apache-apr/apr/time/win32/time.def,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- time.def 1999/06/23 15:00:12 1.2 +++ time.def 1999/07/02 19:09:28 1.3 @@ -25,4 +25,5 @@ ap_set_year @18 ap_set_wday @19 ap_get_timedata @20 - ap_set_timedata @21 \ No newline at end of file + ap_set_timedata @21 + ap_get_os_time @22 \ No newline at end of file 1.2 +16 -16 apache-apr/include/apr_portable.h Index: apr_portable.h =================================================================== RCS file: /home/cvs/apache-apr/include/apr_portable.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- apr_portable.h 1999/07/02 17:46:45 1.1 +++ apr_portable.h 1999/07/02 19:09:29 1.2 @@ -74,14 +74,14 @@ #ifdef WIN32 /* The primitives for Windows types */ -typedef HANDLE ap_os_file_t; -typedef HANDLE ap_os_dir_t; -typedef HANDLE ap_os_sock_t; -typedef HANDLE ap_os_lock_t; -typedef HANDLE ap_os_thread_t; -typedef HANDLE ap_os_proc_t; -typedef DWORD ap_os_threadkey_t; -typedef SYSTEMTIME ap_os_time_t; +typedef HANDLE ap_os_file_t; +typedef HANDLE ap_os_dir_t; +typedef SOCKET ap_os_sock_t; +typedef HANDLE ap_os_lock_t; +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; #else /* Any other OS should go above this one. This is the lowest common * denominator typedefs for all UNIX-like systems. :) @@ -117,14 +117,14 @@ #endif }; -typedef int ap_os_file_t; -typedef DIR ap_os_dir_t; -typedef int ap_os_sock_t; -typedef struct os_lock_t ap_os_lock_t; -typedef pthread_t ap_os_thread_t; -typedef pid_t ap_os_proc_t; -typedef pthread_key_t ap_os_threadkey_t; -typedef time_t ap_os_time_t; +typedef int ap_os_file_t; +typedef DIR ap_os_dir_t; +typedef int ap_os_sock_t; +typedef struct os_lock_t ap_os_lock_t; +typedef pthread_t ap_os_thread_t; +typedef pid_t ap_os_proc_t; +typedef pthread_key_t ap_os_threadkey_t; +typedef time_t ap_os_time_t; #endif ap_os_file_t *ap_get_os_file(ap_file_t *);