axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dami...@apache.org
Subject svn commit: r386599 - in /webservices/axis2/trunk/c/include: ./ unix/ windows/
Date Fri, 17 Mar 2006 10:19:19 GMT
Author: damitha
Date: Fri Mar 17 02:19:17 2006
New Revision: 386599

URL: http://svn.apache.org/viewcvs?rev=386599&view=rev
Log: (empty)

Added:
    webservices/axis2/trunk/c/include/axis2_platform_auto_sense.h
      - copied unchanged from r386552, webservices/axis2/trunk/c/modules/platforms/axis2_platform_auto_sense.h
    webservices/axis2/trunk/c/include/unix/
    webservices/axis2/trunk/c/include/unix/axis2_thread_unix.h
    webservices/axis2/trunk/c/include/unix/axis2_unix.h
    webservices/axis2/trunk/c/include/unix/axis2_uuid_gen_unix.h
    webservices/axis2/trunk/c/include/windows/
    webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h   (with props)
    webservices/axis2/trunk/c/include/windows/axis2_getopt_windows.h
    webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h   (with props)
    webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h   (with props)
    webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h   (with props)
    webservices/axis2/trunk/c/include/windows/axis2_windows.h

Added: webservices/axis2/trunk/c/include/unix/axis2_thread_unix.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/unix/axis2_thread_unix.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/unix/axis2_thread_unix.h (added)
+++ webservices/axis2/trunk/c/include/unix/axis2_thread_unix.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,51 @@
+/*
+ * 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_THREAD_UNIX_H
+#define AXIS2_THREAD_UNIX_H
+
+#include <axis2_thread.h>
+#include <pthread.h>
+
+#define SHELL_PATH "/bin/sh"
+
+typedef pthread_t axis2_os_thread_t; /* Native thread */
+
+struct axis2_thread_t {
+    pthread_t *td;
+    void *data;
+    axis2_thread_start_t func;
+};
+
+struct axis2_threadattr_t {
+    pthread_attr_t attr;
+};
+
+struct axis2_threadkey_t {
+    pthread_key_t key;
+};
+
+struct axis2_thread_once_t {
+    pthread_once_t once;
+};
+
+/*************************Thread locking functions*****************************/
+struct axis2_thread_mutex_t {
+    axis2_allocator_t *allocator;
+    pthread_mutex_t mutex;
+};
+
+#endif  /* AXIS2_THREAD_UNIX_H */

Added: webservices/axis2/trunk/c/include/unix/axis2_unix.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/unix/axis2_unix.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/unix/axis2_unix.h (added)
+++ webservices/axis2/trunk/c/include/unix/axis2_unix.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,241 @@
+/*
+ * 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_UNIX_H
+#define AXIS2_UNIX_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
+ * @{
+ */
+    
+/***************************************************************
+ * Default paths to shared library/DLLs and files
+ ***************************************************************
+ */
+ 
+#define AXIS2_PLATFORM_DEFAULT_DEPLOY_PATH ""
+
+#define AXIS2_PLATFORM_XMLPARSER_PATH      "libaxis2_parser.so"
+#define AXIS2_PLATFORM_TRANSPORTHTTP_PATH  "libhttp_transport.so"
+#define AXIS2_PLATFORM_CHANNEL_PATH        "libhttp_channel.so"
+#define AXIS2_PLATFORM_SSLCHANNEL_PATH     "Unknown"
+
+#define AXIS2_PLATFORM_LOG_PATH            "/usr/local/axis2/log/axis2_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 "/usr/local/axis2/axis2.xml"
+
+/*****************************************************************
+ * Library loading and procedure resolution
+ ****************************************************************/
+#ifdef USE_LTDL
+ #include <ltdl.h>
+ #define AXIS2_DLHandler lt_dlhandle
+
+ #define AXIS2_PLATFORM_LOADLIBINIT       lt_dlinit
+ #define AXIS2_PLATFORM_LOADLIB(_lib)     lt_dlopen(_lib)
+ #define AXIS2_PLATFORM_UNLOADLIB         lt_dlclose
+ #define AXIS2_PLATFORM_GETPROCADDR       lt_dlsym
+ #define AXIS2_PLATFORM_LOADLIBEXIT       lt_dlexit
+ #define AXIS2_PLATFORM_LOADLIB_ERROR     lt_dlerror()
+#else
+ #include <dlfcn.h>
+ #define AXIS2_DLHANDLER void*
+
+ #define AXIS2_PLATFORM_LOADLIBINIT()
+ #define AXIS2_PLATFORM_LOADLIB(_lib)     dlopen(_lib, RTLD_LAZY)
+ /*#define AXIS2_PLATFORM_LOADLIB(_lib)     dlopen(_lib, RTLD_NOW)*/
+
+ #define AXIS2_PLATFORM_UNLOADLIB         dlclose
+ #define AXIS2_PLATFORM_GETPROCADDR       dlsym
+ #define AXIS2_PLATFORM_LOADLIBEXIT()
+ #define AXIS2_PLATFORM_LOADLIB_ERROR     dlerror()
+
+#endif
+
+/***************************************************************
+ * 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
+****************************************************************/
+#include <sys/time.h>
+#include <sys/timeb.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/dir.h>
+#include <sys/param.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include "axis2_uuid_gen_unix.h" /* uuid_gen unix implementation */
+#include <netinet/tcp.h>    /* TCP_NODELAY */
+
+/* for file access handling */
+#include <unistd.h>
+
+/* network handling*/
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <sys/ioctl.h>
+#include <linux/if.h>
+
+/* dir handling */
+#include <dirent.h>
+
+#define AXIS2_STRRCHR(x, y) (strrchr(x, y))
+
+#define AXIS2_PLATFORM_SLEEP(x) sleep(0);
+
+/**
+ * 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 lsat error message for this thread
+ */
+/*#define AXIS2_GETLASTERROR errno; */
+
+/**
+ * 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) new string(strerror(errorNumber));*/
+
+/**
+ * Platform specific method to obtain current thread ID
+ */
+#include <pthread.h>
+#define AXIS2_PLATFORM_GET_THREAD_ID pthread_self()
+
+/**
+ * Platform specific method to obtain current time in milli seconds
+ */
+#define AXIS2_PLATFORM_GET_TIME_IN_MILLIS ftime
+#define AXIS2_PLATFORM_TIMEB timeb
+
+/**
+ * type to be used for 64bit integers
+ */
+#define AXIS2_LONGLONG long long
+#define AXIS2_LONGLONGVALUE(value) value##LL
+#define AXIS2_UNSIGNED_LONGLONGVALUE(value) value##ULL
+
+/**
+ * Format string to be used in printf for 64bit integers
+ */
+#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER "%lld"
+#define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER_CHARS "lld"
+#define AXIS2_PRINTF_UNSIGNED_LONGLONG_FORMAT_SPECIFIER "%llu"
+#define AXIS2_PRINTF_UNSIGNED_LONGLONG_FORMAT_SPECIFIER_CHARS "llu"
+
+/**
+ * Platform specific path separator char
+ */
+#define AXIS2_PATH_SEP_CHAR '/'
+#define AXIS2_PATH_SEP_STR "/"
+#define AXIS2_LIB_PREFIX "lib"
+#define AXIS2_LIB_SUFFIX ".so"
+
+
+/**
+ * Platform specific time
+ */
+#define AXIS2_TIME_T time_t
+
+/**
+ * Platform specific file handling
+ */
+#define AXIS2_ACCESS(zpath,imode) access(zpath,imode)
+#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 */
+                      
+/**
+ * Platform specific environment variable access method
+ */
+#define AXIS2_GETENV(_env_var_name) getenv(_env_var_name)
+
+/**
+  * unix 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                      int
+#define AXIS2_INVALID_SOCKET                -1
+#define AXIS2_INADDR_NONE                   (in_addr_t)-1
+#define axis2_unsigned_short_t                uint16_t
+#define AXIS2_CLOSE_SOCKET(sock)            close(sock)
+#define AXIS2_CLOSE_SOCKET_ON_EXIT(sock)    fcntl(sock,F_SETFD, FD_CLOEXEC);
+#define axis2_socket_len_t                  socklen_t
+#define AXIS2_SHUT_WR                       SHUT_WR
+
+/** getopt function */
+#define AXIS2_GETOPT getopt
+
+/**
+  * handling variable number of arguments (for log.c)
+  */
+#define AXIS2_VSNPRINTF vsnprintf
+
+#define AXIS2_SNPRINTF snprintf
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_UNIX_H */

Added: webservices/axis2/trunk/c/include/unix/axis2_uuid_gen_unix.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/unix/axis2_uuid_gen_unix.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/unix/axis2_uuid_gen_unix.h (added)
+++ webservices/axis2/trunk/c/include/unix/axis2_uuid_gen_unix.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,89 @@
+/*
+ * 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 AXIS2_UUID_GEN_UNIX_H
+#define AXIS2_UUID_GEN_UNIX_H
+
+#include <axis2.h>
+#include <axis2_defines.h>
+
+
+#define UUIDS_PER_TICK 100
+#define UUID_TIMEOFFSET AXIS2_UNSIGNED_LONGLONGVALUE(0x01B21DD213814000)
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+/**
+ * @defgroup axis2_uuid_gen UUID Generator
+ * @ingroup axis2_util 
+ * @{
+ */
+
+
+struct axis2_uuid {
+	unsigned int time_low;
+	unsigned short int time_mid;
+	unsigned short int time_high_version;
+	short int clock_variant;
+	unsigned char mac_addr[6];
+};
+
+/* bits  0-59 time field
+ * bits 60-63 version
+ * bits 64-65 2 bit variant
+ * bits 66-79 clock sequence
+ * bits 80-107 node MAC address
+ */
+struct axis2_uuid_st {
+    unsigned char   mac[6];		/* pre-determined MAC address */
+    struct timeval time_last;   /* last retrieved timestamp */
+    unsigned long  time_seq;    /* last timestamp sequence counter */
+    short int clock;            /* clock tick - incremented random number */
+};
+typedef struct axis2_uuid axis2_uuid_t;
+
+/**
+ * Returns the mac address of the first ethernet intsrface
+ * @return MAC address as a <code>char[6]</code>
+ */ 
+char * AXIS2_CALL
+axis2_uuid_get_mac_addr();
+
+/**
+ * Generates a uuid in version1 format (node - timestamp based)
+ * @return generated uuid as a axis2_uuid_t
+ */ 
+axis2_uuid_t* AXIS2_CALL
+axis2_uuid_gen_v1();
+
+/**
+ * Generates a uuid
+ * @return generated uuid as a string
+ */ 
+axis2_char_t* AXIS2_CALL
+axis2_platform_uuid_gen();
+
+/** @} */
+    
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* AXIS2_UUID_GEN_UNIX_H */

Added: webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,92 @@
+/*
+ * 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 <search.h>
+#include <string.h>
+#include <io.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <windows.h>
+#include <axis2_defines.h>
+
+
+/* struct dirent - same as Unix dirent.h */
+AXIS2_DECLARE_DATA 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 */
+AXIS2_DECLARE_DATA 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 */
+} DIR;
+
+/* Function prototypes */
+
+/**
+  * open a directory on a given name
+  * returns a DIR if successful, or NULL if the path cannot be opened
+  */
+AXIS2_DECLARE (DIR *) opendir(const char *);
+
+/**
+  * Close the directory stream DIRP.
+  * Return 0 if successful, -1 otherwise.
+  */
+AXIS2_DECLARE(int) closedir(DIR *);
+
+/**
+  * Read a directory entry from DIRP.  Return a pointer to a `struct
+  * dirent' describing the entry, or NULL for EOF or error.
+  */
+AXIS2_DECLARE(struct dirent *) readdir(DIR *);
+
+/**
+  * Reentrant version of `readdir'
+  */
+AXIS2_DECLARE(int) readdir_r(DIR *, struct dirent *, struct dirent **);
+
+/**
+  * Rewind DIRP to the beginning of the directory.
+  */
+AXIS2_DECLARE(int) rewinddir(DIR *);
+
+/**
+  * Scan the directory DIR
+  *  Returns the number of entries selected, or -1 on error
+  */
+AXIS2_DECLARE(int) 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
+  */
+AXIS2_DECLARE_DATA int alphasort(const struct dirent **__d1, const struct dirent **__d2);
+
+#endif /* READDIR_H */

Propchange: webservices/axis2/trunk/c/include/windows/axis2_dir_windows.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/windows/axis2_getopt_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_getopt_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_getopt_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_getopt_windows.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,47 @@
+#ifndef _AXIS2_GETOPT_WINDOWS_H_
+#define _AXIS2_GETOPT_WINDOWS_H_
+
+#include <axis2_defines.h>
+/**
+ * @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
+ * @{
+ */
+
+AXIS2_DECLARE_DATA  extern int	opterr;
+AXIS2_DECLARE_DATA  extern int 	optopt;	
+AXIS2_DECLARE_DATA  extern char	*optarg;
+
+/**
+  * 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_DECLARE(int) axis2_getopt(int __argc, char * const *__argv, const char *__shortopts);
+
+/** @} */
+
+#ifdef	__cplusplus
+}
+#endif
+
+#endif
\ No newline at end of file

Added: webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h Fri Mar 17 02:19:17
2006
@@ -0,0 +1,27 @@
+#ifndef AXIS2_THREAD_MUTEX_WINDOWS_H
+#define AXIS2_THREAD_MUTEX_WINDOWS_H
+
+#include <process.h>
+#include <windows.h>
+#include <axis2_allocator.h>
+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 axis2_thread_mutex_t 
+{
+    thread_mutex_type type;
+    HANDLE            handle;
+    CRITICAL_SECTION  section;
+    axis2_allocator_t *allocator;
+};
+
+#endif  /* AXIS2_THREAD_MUTEX_WINDOWS_H */
+

Propchange: webservices/axis2/trunk/c/include/windows/axis2_thread_mutex_windows.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,53 @@
+/*
+ * 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_THREAD_WINDOWS_H
+#define AXIS2_THREAD_WINDOWS_H
+
+#include <windows.h>
+#include <process.h>
+#include <axis2_thread.h>
+
+#define SHELL_PATH "cmd.exe"
+
+typedef HANDLE axis2_os_thread_t; /* Native thread */
+/* Chosen for us by apr_initialize */
+DWORD tls_axis2_thread = 0;
+
+struct axis2_thread_t 
+{
+	HANDLE *td;
+    void *data;
+    axis2_thread_start_t func;
+};
+
+struct axis2_threadattr_t 
+{
+    int detach;
+    size_t stacksize;
+};
+
+struct axis2_threadkey_t 
+{
+	DWORD key;
+};
+
+struct axis2_thread_once_t 
+{
+	long value;
+};
+
+#endif  /* AXIS2_THREAD_WINDOWS_H */

Propchange: webservices/axis2/trunk/c/include/windows/axis2_thread_windows.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h Fri Mar 17 02:19:17
2006
@@ -0,0 +1,40 @@
+/*
+ * 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
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <axis2_defines.h>
+
+/* Function prototypes */
+
+/**
+  * Generate universally unique id
+  * @return a char pointer to uuid
+  */
+AXIS2_DECLARE(axis2_char_t *) axis2_platform_uuid_gen();
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_UDDI_GEN_WINDOWS_H */
\ No newline at end of file

Propchange: webservices/axis2/trunk/c/include/windows/axis2_uuid_gen_windows.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/windows/axis2_windows.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/windows/axis2_windows.h?rev=386599&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/windows/axis2_windows.h (added)
+++ webservices/axis2/trunk/c/include/windows/axis2_windows.h Fri Mar 17 02:19:17 2006
@@ -0,0 +1,216 @@
+/*
+ * 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
+  */
+#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>
+#include <fcntl.h>
+#include <Mswsock.h>
+/* for time */
+#include <time.h>
+#include <sys/timeb.h>
+/* get opt */
+#include <axis2_getopt_windows.h>
+
+/***************************************************************
+ * 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/axis2_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     ""
+
+#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);
+
+/**
+ * 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 lsat 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);
+
+/**
+ * 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"
+
+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 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 00 /* 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
+#define AXIS2_SHUT_WR                       SD_SEND
+
+/**
+ * Platform specific environment variable access method
+ */
+#define AXIS2_GETENV(_env_var_name) getenv(_env_var_name)
+
+/**
+  * 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
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /*  AXIS2_WINDOWS_H */
+
+



Mime
View raw message