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 */