You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/02/02 06:15:34 UTC
svn commit: r374256 -
/webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h
Author: damitha
Date: Wed Feb 1 21:15:29 2006
New Revision: 374256
URL: http://svn.apache.org/viewcvs?rev=374256&view=rev
Log:
updated for win compatibility
Modified:
webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h
Modified: webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h?rev=374256&r1=374255&r2=374256&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h (original)
+++ webservices/axis2/trunk/c/modules/platforms/windows/axis2_windows.h Wed Feb 1 21:15:29 2006
@@ -1,56 +1,70 @@
-/*
- * 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.
+/*
+ * 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_WINDOWS_H
#define AXIS2_WINDOWS_H
-/**
- * @file axis2_unix.h
- * @brief axis2 unix platform specific interface
- */
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/** @defgroup axis2_unix Platform Specific
- * @ingroup axis2_platforms_unix
- * @{
- */
+/**
+ * @file axis2_unix.h
+ * @brief axis2 unix platform specific interface
+ */
+#include <axis2_defines.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
+};*/
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
#include <windows.h>
+/*for file access check*/
+#include <io.h>
+#include <sys/stat.h>
+
+/*for network handling*/
+#include <winsock2.h>
+
+
+/***************************************************************
+ * Default paths to shared library/DLLs and files
+ ***************************************************************
+ */
+
+#define AXIS2_PLATFORM_DEFAULT_DEPLOY_PATH ""
-/***************************************************************
- * 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 ""
-#define AXIS2_PLATFORM_CLIENTLOG_PATH ""
-#define AXIS2_PLATFORM_CONFIG_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 ""
+#define AXIS2_PLATFORM_CLIENTLOG_PATH ""
+#define AXIS2_PLATFORM_CONFIG_PATH ""
#define AXIS2_PLATFORM_SECUREINFO ""
@@ -61,12 +75,14 @@
#define RTLD_LAZY 0 // not sure this is needed?
#define AXIS2_PLATFORM_LOADLIBINIT()
-#define AXIS2_PLATFORM_LOADLIB(_lib) callLoadLib(_lib)
+#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 ""
+#define AXIS2_DLHANDLER void*
+
// =============================================================
// National Language Support
// =============================================================
@@ -108,35 +124,60 @@
#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER "%I64d"
#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER_CHARS "I64d"
-HMODULE callLoadLib(LPCTSTR lib);
+AXIS2_DECLARE(HMODULE) callLoadLib(LPCTSTR lib);
+
+/**
+ * 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 path separator char
- */
-#define AXIS2_PATH_SEP_CHAR "/"
-
-/**
- * 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_R_OK R_OK /* test for read permission */
-#define AXIS2_W_OK W_OK /* test for write permission */
-#define AXIS2_X_OK X_OK /* test for execute or search permission */
-#define AXIS2_F_OK F_OK /* test whether the directories leading to the file can be
- searched and the file exists */
-
-/** @} */
-#ifdef __cplusplus
-}
+/**
+ * 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_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 F_OK*/ /* test whether the directories leading to the file can be
+ searched and the file exists */
+/**
+ * windows specific directory handling functions
+ */
+#define AXIS2_SCANDIR scandir
+#define AXIS2_ALPHASORT alphasort
+#define AXIS2_OPENDIR opendir
+#define AXIS2_CLOSEDIR closedir
+#define AXIS2_READDIR readdir
+#define AXIS2_READDIR_R readdir_r
+#define AXIS2_REWINDDIR rewinddir
+
+/**
+ * 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
+
+/** @} */
+#ifdef __cplusplus
+}
#endif
#endif /* AXIS2_WINDOWS_H */