From 0425aadc78680e53000fd0108b540d6eca048516 Mon Sep 17 00:00:00 2001 From: gmcdonald Date: Sat, 13 Feb 2010 01:32:03 +0000 Subject: Moving axis svn, part of TLP move INFRA-2441 git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68 --- .../windows/axutil_date_time_util_windows.h | 45 ++++ .../include/platforms/windows/axutil_dir_windows.h | 123 +++++++++ .../platforms/windows/axutil_getopt_windows.h | 79 ++++++ .../windows/axutil_thread_mutex_windows.h | 44 ++++ .../platforms/windows/axutil_thread_windows.h | 140 +++++++++++ .../platforms/windows/axutil_uuid_gen_windows.h | 46 ++++ util/include/platforms/windows/axutil_windows.h | 278 +++++++++++++++++++++ 7 files changed, 755 insertions(+) create mode 100644 util/include/platforms/windows/axutil_date_time_util_windows.h create mode 100644 util/include/platforms/windows/axutil_dir_windows.h create mode 100644 util/include/platforms/windows/axutil_getopt_windows.h create mode 100644 util/include/platforms/windows/axutil_thread_mutex_windows.h create mode 100644 util/include/platforms/windows/axutil_thread_windows.h create mode 100644 util/include/platforms/windows/axutil_uuid_gen_windows.h create mode 100644 util/include/platforms/windows/axutil_windows.h (limited to 'util/include/platforms/windows') diff --git a/util/include/platforms/windows/axutil_date_time_util_windows.h b/util/include/platforms/windows/axutil_date_time_util_windows.h new file mode 100644 index 0000000..2c5eef9 --- /dev/null +++ b/util/include/platforms/windows/axutil_date_time_util_windows.h @@ -0,0 +1,45 @@ + +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain count copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXUTIL_DATE_TIME_UTIL_WINDOWS_H +#define AXUTIL_DATE_TIME_UTIL_WINDOWS_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** + * @defgroup axutil_date_time_util + * @ingroup axutil_date_time_util + * @{ + */ + AXIS2_EXTERN int AXIS2_CALL + axis2_platform_get_milliseconds( + ); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/util/include/platforms/windows/axutil_dir_windows.h b/util/include/platforms/windows/axutil_dir_windows.h new file mode 100644 index 0000000..89ba297 --- /dev/null +++ b/util/include/platforms/windows/axutil_dir_windows.h @@ -0,0 +1,123 @@ + +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef READDIR_H +#define READDIR_H +#include +#include +#include +#include +#include +#include +#include +#include + + +/* struct dirent - same as Unix dirent.h */ +struct dirent +{ + long d_ino; /* inode number (always 1 in WIN32) */ + off_t d_off; /* offset to this dirent */ + unsigned short d_reclen; /* length of d_name */ + char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */ + + /*unsigned char d_type; *//*type of file */ +}; + + +/* def struct DIR - different from Unix DIR */ +typedef struct +{ + long handle; /* _findfirst/_findnext handle */ + short offset; /* offset into directory */ + short finished; /* 1 if there are not more files */ + struct _finddata_t fileinfo; /* from _findfirst/_findnext */ + char *dirname; /* the dir we are reading */ + struct dirent dent; /* the dirent to return */ + +} +AXIS2_DIR; + + +/* Function prototypes */ + + +/** + * open a directory on a given name + * returns a DIR if successful, or NULL if the path cannot be opened + */ +AXIS2_EXTERN AXIS2_DIR * AXIS2_CALL + axis2_opendir(const char *); + + +/** + * Close the directory stream DIRP. + * Return 0 if successful, -1 otherwise. + */ +AXIS2_EXTERN int AXIS2_CALL + axis2_closedir( + AXIS2_DIR *); + + +/** + * Read a directory entry from DIRP. Return a pointer to a `struct + * dirent' describing the entry, or NULL for EOF or error. + */ +AXIS2_EXTERN struct dirent *AXIS2_CALL + axis2_readdir( + AXIS2_DIR *); + + +/** + * Reentrant version of `readdir' + */ +AXIS2_EXTERN int AXIS2_CALL + axis2_readdir_r( + AXIS2_DIR *, + struct dirent *, + struct dirent **); + + +/** + * Rewind DIRP to the beginning of the directory. + */ +AXIS2_EXTERN int AXIS2_CALL + axis2_rewinddir( + AXIS2_DIR *); + + +/** + * Scan the directory DIR + * Returns the number of entries selected, or -1 on error + */ +AXIS2_EXTERN int AXIS2_CALL + axis2_scandir( + const char *_dirname, + struct dirent **__namelist[], + int(*selector)(const struct dirent * entry), + int(*compare)(const struct dirent ** a, + const struct dirent ** b)); + + +/** + * Compare two `struct dirent's alphabetically + */ +extern int alphasort( + const struct dirent **__d1, + const struct dirent **__d2); + +#endif /* READDIR_H */ diff --git a/util/include/platforms/windows/axutil_getopt_windows.h b/util/include/platforms/windows/axutil_getopt_windows.h new file mode 100644 index 0000000..8234fba --- /dev/null +++ b/util/include/platforms/windows/axutil_getopt_windows.h @@ -0,0 +1,79 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef _AXIS2_GETOPT_WINDOWS_H_ +#define _AXIS2_GETOPT_WINDOWS_H_ + +#include + +/** + * @file axis2_getopt_windows.h + * @brief windows cutdown version of getopt function in unix + */ + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** @defgroup axis2_getopt_windows getopt + * @ingroup axis2_windows + * @{ + */ +#ifndef AXIS2_GET_OPT_DEFINE_MODE_NO_IMPORT + AXIS2_IMPORT extern int opterr; + AXIS2_IMPORT extern int optopt; + AXIS2_IMPORT extern char *optarg; +#else + AXIS2_EXPORT int opterr; + AXIS2_EXPORT int optopt; + AXIS2_EXPORT char *optarg; +#endif + + /** + * return and log error + * @param __optopt option + * @param __err error code + * @param __showerr whether or not send to stderr + * @return ':' or '?' + */ + int _axis2_opt_error( + int __optopt, + int __err, + int __showerr); + + /** + * cutdown version of getopt in unix + * @param __argc no of arguments + * @param __argv list of arguments + * @param __shortopts options + * @return option char if successful, -1 if over, ':' or '?' if error + */ + AXIS2_EXTERN int AXIS2_CALL + axis2_getopt( + int __argc, + char *const *__argv, + const char *__shortopts); + + /** @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/util/include/platforms/windows/axutil_thread_mutex_windows.h b/util/include/platforms/windows/axutil_thread_mutex_windows.h new file mode 100644 index 0000000..4fed951 --- /dev/null +++ b/util/include/platforms/windows/axutil_thread_mutex_windows.h @@ -0,0 +1,44 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef AXIS2_THREAD_MUTEX_WINDOWS_H +#define AXIS2_THREAD_MUTEX_WINDOWS_H + +#include +#include +#include +typedef enum thread_mutex_type +{ + thread_mutex_critical_section, + thread_mutex_unnested_event, + thread_mutex_nested_mutex +} thread_mutex_type; + +/* handle applies only to unnested_event on all platforms + * and nested_mutex on Win9x only. Otherwise critical_section + * is used for NT nexted mutexes providing optimal performance. + */ +struct axutil_thread_mutex_t +{ + thread_mutex_type type; + HANDLE handle; + CRITICAL_SECTION section; + axutil_allocator_t *allocator; +}; + +#endif /* AXIS2_THREAD_MUTEX_WINDOWS_H */ diff --git a/util/include/platforms/windows/axutil_thread_windows.h b/util/include/platforms/windows/axutil_thread_windows.h new file mode 100644 index 0000000..739b4c2 --- /dev/null +++ b/util/include/platforms/windows/axutil_thread_windows.h @@ -0,0 +1,140 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_THREAD_WINDOWS_H +#define AXIS2_THREAD_WINDOWS_H + +#include +#include +#include + +#define SHELL_PATH "cmd.exe" + +typedef HANDLE axis2_os_thread_t; /* Native thread */ + +/* Chosen for us by apr_initialize */ + +struct axutil_thread_t +{ + HANDLE *td; + void *data; + axutil_thread_start_t func; + axis2_bool_t try_exit; +}; + +struct axutil_threadattr_t +{ + int detach; + size_t stacksize; +}; + +struct axutil_threadkey_t +{ + DWORD key; +}; + +struct axutil_thread_once_t +{ + long value; +}; + +AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL +axutil_threadattr_create( + axutil_allocator_t * allocator); + +/* Destroy the threadattr object */ +AXIS2_EXTERN axis2_status_t AXIS2_CALL +threadattr_cleanup( + void *data); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_threadattr_detach_set( + axutil_threadattr_t * attr, + axis2_bool_t detached); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_threadattr_detach_get( + axutil_threadattr_t * attr, + const axutil_env_t * env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_threadattr_stacksize_set( + axutil_threadattr_t * attr, + size_t stacksize); + +AXIS2_EXTERN axutil_thread_t *AXIS2_CALL +axutil_thread_create( + axutil_allocator_t * allocator, + axutil_threadattr_t * attr, + axutil_thread_start_t func, + void *data); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_exit( + axutil_thread_t * thd, + axutil_allocator_t * allocator); + +AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL +axis2_os_thread_current( + void); + +AXIS2_EXTERN int AXIS2_CALL +axis2_os_thread_equal( + axis2_os_thread_t tid1, + axis2_os_thread_t tid2); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_join( + axutil_thread_t * thd); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_detach( + axutil_thread_t * thd); + +AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL +axis2_os_thread_get( + axutil_thread_t * thd, + const axutil_env_t * env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_key_create( + axutil_threadkey_t * axis2_key); + +AXIS2_EXTERN void *AXIS2_CALL +axutil_thread_getspecific( + axutil_threadkey_t * axis2_key); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_setspecific( + axutil_threadkey_t * axis2_key, + void *value); + +AXIS2_EXTERN void AXIS2_CALL +axutil_thread_key_free( + axutil_threadkey_t * axis2_key); + +AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL +axutil_thread_once_init( + axutil_allocator_t * allocator); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axutil_thread_once( + axutil_thread_once_t * control, + void(*func)(void)); + +#endif /* AXIS2_THREAD_WINDOWS_H */ diff --git a/util/include/platforms/windows/axutil_uuid_gen_windows.h b/util/include/platforms/windows/axutil_uuid_gen_windows.h new file mode 100644 index 0000000..f8c0872 --- /dev/null +++ b/util/include/platforms/windows/axutil_uuid_gen_windows.h @@ -0,0 +1,46 @@ + +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_UDDI_GEN_WINDOWS_H +#define AXIS2_UDDI_GEN_WINDOWS_H + +#include + +#ifdef __cplusplus +extern "C" +{ + +#endif /* */ + + /* Function prototypes */ + + + /** + * Generate universally unique id + * @return a char pointer to uuid + */ + AXIS2_EXTERN axis2_char_t * AXIS2_CALL + axutil_platform_uuid_gen( + char *s); + + + /** @} */ +#ifdef __cplusplus +} +#endif /* */ + +#endif /* AXIS2_UDDI_GEN_WINDOWS_H */ diff --git a/util/include/platforms/windows/axutil_windows.h b/util/include/platforms/windows/axutil_windows.h new file mode 100644 index 0000000..a473264 --- /dev/null +++ b/util/include/platforms/windows/axutil_windows.h @@ -0,0 +1,278 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_WINDOWS_H +#define AXIS2_WINDOWS_H + +/** + * @file axutil_unix.h + * @brief axis2 unix platform specific interface + */ +#include +#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ +#include + + /*for minizip uncompression library */ +# include + + /*for file access check */ +#include +#include + + /*for network handling */ +#include +#include +#include +#include + + /* for time */ +#include +#include + + /* get opt */ +#include "axutil_getopt_windows.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** @defgroup axis2_unix Platform Specific + * @ingroup axis2_platforms_unix + * @{ + */ + + /*enum platform_error_codes + { + PLATFORM_ERROR_UUID_NO_ADDRESS = 0, + PLATFORM_ERROR_OUT_OF_MEMORY = 1 + }; */ + + + + AXIS2_EXTERN HMODULE AXIS2_CALL + callLoadLib( + char *lib); + + AXIS2_EXTERN struct tm *AXIS2_CALL + axis2_win_gmtime( + const time_t * timep, + struct tm *result); + + + /* Get the last Error */ + AXIS2_EXTERN void AXIS2_CALL + axutil_win32_get_last_error(axis2_char_t *buff, + unsigned int buf_size); + + /* Get the last Socket Error */ + AXIS2_EXTERN void AXIS2_CALL + axutil_win32_get_last_wsa_error(axis2_char_t *buff, + unsigned int buf_size); + +#define AXUTIL_WIN32_ERROR_BUFSIZE 256 + + /*************************************************************** + * Default paths to shared library/DLLs and files + *************************************************************** + */ + +#define AXIS2_PLATFORM_DEFAULT_DEPLOY_PATH "" + +#define AXIS2_PLATFORM_XMLPARSER_PATH "axis2_parser.dll" +#define AXIS2_PLATFORM_TRANSPORTHTTP_PATH "http_transport.dll" +#define AXIS2_PLATFORM_CHANNEL_PATH "http_channel.dll" +#define AXIS2_PLATFORM_SSLCHANNEL_PATH "Unknown" + +#define AXIS2_PLATFORM_LOG_PATH "" /*/usr/local/axis2/log/axutil_log */ +#define AXIS2_PLATFORM_CLIENTLOG_PATH "" /* /usr/local/axis2/log/axis2_client_log */ +#define AXIS2_PLATFORM_CONFIG_PATH "" /* /etc/axiscpp.conf */ +#define AXIS2_PLATFORM_SECUREINFO "" + + /** + * Resource that contains the configuration + */ +#define AXIS2_CONFIGURATION_RESOURCE "" /* should be set */ + +/* + * ============================================================= + * Library loading and procedure resolution + * ============================================================= + */ +#define DLHandler HINSTANCE +#define RTLD_LAZY 0 /* not sure this is needed? */ + +#define AXIS2_PLATFORM_LOADLIBINIT() +#define AXIS2_PLATFORM_LOADLIB(_lib) /*LoadLibrary(_lib) */ callLoadLib(_lib) +#define AXIS2_PLATFORM_UNLOADLIB FreeLibrary +#define AXIS2_PLATFORM_GETPROCADDR GetProcAddress +#define AXIS2_PLATFORM_LOADLIBEXIT() +#define AXIS2_PLATFORM_LOADLIB_ERROR axutil_win32_get_last_error() + +#define AXIS2_DLHANDLER void* + + +/* + * ============================================================= + * National Language Support + * ============================================================= + */ + +/* + * STRTOASC is to translate single byte 'native' character representation to ASCII + * ASCTOSTR is to translate single byte ascii representation to 'native' character + * CANNOT be used with constants + */ +#define AXIS2_PLATFORM_STRTOASC( x ) ( x ) +#define AXIS2_PLATFORM_ASCTOSTR( x ) ( x ) + +/* + * ============================================================= + * Miscellaneous + * ============================================================= + */ + +#define AXIS2_STRRCHR(x, y) (strrchr(x, y)) + +#define AXIS2_PLATFORM_SLEEP(x) Sleep(0); + +#define AXIS2_SLEEP(x) Sleep((x)*1000) +#define AXIS2_USLEEP(x) Sleep((x)/1000); + + /** + * Get the last error code from the system. + * Please ensure that this is a thread safe implementation + * and that it returns a long + * @return long the last error message for this thread + */ +#define AXIS2_GETLASTERROR GetLastError(); + + /** + * From the last error number get a sensible std::string representing it + * @param errorNumber the error Number you are trying to get a message for + * @return the error message. NOTE: The caller is responsible for deleting the returned string + */ +#define AXIS2_PLATFORM_GET_ERROR_MESSAGE(errorNumber) getPlatformErrorMessage(errorNumber); + + /** + * Platform specific method to obtain current thread ID + */ +#define AXIS2_PLATFORM_GET_THREAD_ID() GetCurrentThreadId() + /** + * type to be used for 64bit integers + */ +#define AXIS2_LONGLONG __int64 + + /** + * Format string to be used in printf for 64bit integers + */ +#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER "%I64d" +#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER_CHARS "I64d" + + + /** + * Platform specific path separator char + */ +#define AXIS2_PATH_SEP_CHAR '/' +#define AXIS2_PATH_SEP_STR "/" +#define AXIS2_LIB_PREFIX "" +#define AXIS2_LIB_SUFFIX ".dll" + + /** + * Platform specific time + */ +#define AXIS2_TIME_T time_t + + /** + * Platform specific method to obtain current time in milli seconds + */ +#define AXIS2_PLATFORM_GET_TIME_IN_MILLIS _ftime +#define AXIS2_PLATFORM_TIMEB _timeb + + /** + * Platform specific file handling + */ +#define AXIS2_FOPEN fopen +#define AXIS2_FREAD fread +#define AXIS2_FWRITE fwrite +#define AXIS2_FCLOSE fclose +#define AXIS2_FTELL ftell +#define AXIS2_ACCESS(zpath,imode) _access(zpath,imode) +#define AXIS2_R_OK 04 /* test for read permission */ +#define AXIS2_W_OK 02 /* test for write permission */ +#define AXIS2_X_OK 00 /* test for execute or search permission */ +#define AXIS2_F_OK 00 /* test whether the directories leading to the file can be + searched and the file exists * / + + /** + * windows specific directory handling functions + */ +#define AXIS2_SCANDIR axis2_scandir +#define AXIS2_ALPHASORT alphasort +#define AXIS2_OPENDIR axis2_opendir +#define AXIS2_CLOSEDIR axis2_closedir +#define AXIS2_READDIR axis2_readdir +#define AXIS2_READDIR_R axis2_readdir_r +#define AXIS2_REWINDDIR axis2_rewinddir +#define AXIS2_MKDIR(path,x) _mkdir(path) +#define AXIS2_GETCWD _getcwd +#define AXIS2_CHDIR _chdir + + /** + * network specific functions and defs + */ +#define axis2_socket_t SOCKET + +#define AXIS2_INVALID_SOCKET INVALID_SOCKET +#define AXIS2_INADDR_NONE INADDR_NONE +#define axis2_unsigned_short_t u_short +#define AXIS2_CLOSE_SOCKET(sock) closesocket(sock) +#define AXIS2_CLOSE_SOCKET_ON_EXIT(sock) +#define axis2_socket_len_t int +#define AXIS2_SHUT_WR SD_SEND + + /** + * Platform specific environment variable access method + */ +#define AXIS2_GETENV(_env_var_name) getenv(_env_var_name) + + /** + * minizip functions + */ +#define axis2_fill_win32_filefunc(ffunc) fill_win32_filefunc(ffunc) +#define AXIS2_UNZOPEN2(zipfilename,ffunc) unzOpen2(zipfilename,NULL) + + /** + * handling variable number of arguments (for log.c) + */ + + /** getopt function */ +#define AXIS2_GETOPT axis2_getopt + + /** string functions */ +#define AXIS2_VSNPRINTF _vsnprintf + +#define AXIS2_SNPRINTF _snprintf + +#define axis2_gmtime_r axis2_win_gmtime + + /** @} */ +#ifdef __cplusplus +} +#endif +#endif /* AXIS2_WINDOWS_H */ -- cgit v1.1-32-gdbae