summaryrefslogtreecommitdiffstats
path: root/util/include
diff options
context:
space:
mode:
authorGravatar damitha2010-06-29 08:57:05 +0000
committerGravatar damitha2010-06-29 08:57:05 +0000
commitc35e1616e67de2d5852dae647c2db6d811f451bd (patch)
tree00333633e1410647421457733ffa827efb1db0f2 /util/include
parentb16ecb885592c2a78dc9d69e1eb2ea7432ef4173 (diff)
downloadaxis2c-c35e1616e67de2d5852dae647c2db6d811f451bd.tar.gz
axis2c-c35e1616e67de2d5852dae647c2db6d811f451bd.tar.bz2
Partial fix of AXIS2C-1440
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@958884 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'util/include')
-rw-r--r--util/include/axutil_network_handler.h388
-rw-r--r--util/include/axutil_utils_defines.h12
-rw-r--r--util/include/platforms/os400/axutil_os400.h554
-rw-r--r--util/include/platforms/windows/axutil_uuid_gen_windows.h90
4 files changed, 522 insertions, 522 deletions
diff --git a/util/include/axutil_network_handler.h b/util/include/axutil_network_handler.h
index 3d55cd1..bc361e2 100644
--- a/util/include/axutil_network_handler.h
+++ b/util/include/axutil_network_handler.h
@@ -1,194 +1,194 @@
-
-/*
- * 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_NETWORK_HANDLER_H
-#define AXUTIL_NETWORK_HANDLER_H
-
-#include <axutil_utils.h>
-#include <axutil_utils_defines.h>
-#include <axutil_env.h>
-#include <sys/types.h>
-#include <platforms/axutil_platform_auto_sense.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
- /**
- * @defgroup axutil_network_handler network handler
- * @ingroup axis2_util
- * @{
- */
-
- /**
- * open a socket for a given server
- * @param server ip address or the fqn of the server
- * @param port port of the service
- * @return opened socket
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
-
- axutil_network_handler_open_socket(
- const axutil_env_t * env,
- char *server,
- int port);
-
- /**
- * creates a server socket for a given port
- * @param port port of the socket to be bound
- * @return creates server socket
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
-
- axutil_network_handler_create_server_socket(
- const axutil_env_t * env,
- int port);
-
- /**
- * closes a socket
- * @param opened socket that need to be closed
- * @return status code
- */
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
-
- axutil_network_handler_close_socket(
- const axutil_env_t * env,
- axis2_socket_t socket);
-
- /**
- * used to set up socket options such as timeouts, non-blocking ..etc
- * @param socket valid socket (obtained by socket() or similar call)
- * @param option the name of the option
- * @param value Value to be set
- * @return status of the operations as axis2_status_t
- */
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
-
- axutil_network_handler_set_sock_option(
- const axutil_env_t * env,
- axis2_socket_t socket,
- int option,
- int value);
-
- /**
- * Accepts remote connections for a server socket
- * @param socket valid server socket (obtained by socket() or similar call)
- * @return created socket to handle the incoming client connection
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
-
- axutil_network_handler_svr_socket_accept(
- const axutil_env_t * env,
- axis2_socket_t socket);
-
- /**
- * Returns the ip address of the server associated with the socket
- * @param socket valid socket (obtained by accept() or similar call)
- * @return ip address asoociated with the socket or NULL
- */
- AXIS2_EXTERN axis2_char_t *AXIS2_CALL
- axutil_network_handler_get_svr_ip(
- const axutil_env_t * env,
- axis2_socket_t socket);
-
- AXIS2_EXTERN axis2_char_t *AXIS2_CALL
- axutil_network_handler_get_peer_ip(
- const axutil_env_t * env,
- axis2_socket_t socket);
-
- /*
- * Create a datagram socket.
- * @param env pointer to env
- * @return a datagram socket
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
- axutil_network_handler_open_dgram_socket(const axutil_env_t *env);
-
- /*
- * Send a UDP packet to the given source and port address.
- * Read a incoming UDP packet from the port and server address.
- * @param env pointer to the env structure
- * @param socket a datagram socket
- * @param buffer a buffer containing the data to be sent
- * @param buf_len length of the buffer
- * @param addr address of the source field
- * @param port udp port number
- * @return success if everything goes well
- */
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
- axutil_network_handler_send_dgram(const axutil_env_t *env, axis2_socket_t socket,
- axis2_char_t *buff, int *buf_len,
- axis2_char_t *addr, int dest_port, int *source_port);
-
- /*
- * Read a incoming UDP packet from the port and server address.
- * @param env pointer to the env structure
- * @param socket a datagram socket
- * @param buffer a buffer allocated and passed to be filled
- * @param buf_len length of the buffer allocated. In return buffer len
- contains the length of the data read
- * @param addr address of the sender. This is a return value.
- * @param port senders port address. Return value
- * @return if everything goes well return success
- */
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
- axutil_network_handler_read_dgram(const axutil_env_t *env, axis2_socket_t socket,
- axis2_char_t *buffer, int *buf_len,
- axis2_char_t **addr, int *port);
-
- /*
- * Create a datagram socket to receive incoming UDP packets.
- * @param env a pointer to the env structure
- * @param port udp port to listen
- * @return AXIS2_SUCCESS if everything goes well
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
- axutil_network_handler_create_dgram_svr_socket(
- const axutil_env_t *env,
- int port);
-
- /*
- * Bind a socket to the specified address
- * @param env a pointer to the env structure
- * @param sock socket
- * @param port port number to bind to
- * @return AXIS2_SUCCESS if binding is performed
- */
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
- axutil_network_handler_bind_socket(const axutil_env_t *env,
- axis2_socket_t sock, int port);
-
- /*
- * Create a multicast socket for listening on the given port.
- * @param env a pointer to the env structure
- * @param port udp port to listen
- * @param mul_addr multicast address to join. The address should be valid and in dotted format.
- * @param ttl TTL value.
- * @return AXIS2_SUCCESS if everything goes well.s
- */
- AXIS2_EXTERN axis2_socket_t AXIS2_CALL
- axutil_network_hadler_create_multicast_svr_socket(const axutil_env_t *env,
- int port, axis2_char_t *mul_addr);
-
- /** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* AXIS2_NETWORK_HANDLER_H */
+
+/*
+ * 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_NETWORK_HANDLER_H
+#define AXUTIL_NETWORK_HANDLER_H
+
+#include <axutil_utils.h>
+#include <axutil_utils_defines.h>
+#include <axutil_env.h>
+#include <sys/types.h>
+#include <platforms/axutil_platform_auto_sense.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /**
+ * @defgroup axutil_network_handler network handler
+ * @ingroup axis2_util
+ * @{
+ */
+
+ /**
+ * open a socket for a given server
+ * @param server ip address or the fqn of the server
+ * @param port port of the service
+ * @return opened socket
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+
+ axutil_network_handler_open_socket(
+ const axutil_env_t * env,
+ char *server,
+ int port);
+
+ /**
+ * creates a server socket for a given port
+ * @param port port of the socket to be bound
+ * @return creates server socket
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+
+ axutil_network_handler_create_server_socket(
+ const axutil_env_t * env,
+ int port);
+
+ /**
+ * closes a socket
+ * @param opened socket that need to be closed
+ * @return status code
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+
+ axutil_network_handler_close_socket(
+ const axutil_env_t * env,
+ axis2_socket_t socket);
+
+ /**
+ * used to set up socket options such as timeouts, non-blocking ..etc
+ * @param socket valid socket (obtained by socket() or similar call)
+ * @param option the name of the option
+ * @param value Value to be set
+ * @return status of the operations as axis2_status_t
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+
+ axutil_network_handler_set_sock_option(
+ const axutil_env_t * env,
+ axis2_socket_t socket,
+ int option,
+ int value);
+
+ /**
+ * Accepts remote connections for a server socket
+ * @param socket valid server socket (obtained by socket() or similar call)
+ * @return created socket to handle the incoming client connection
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+
+ axutil_network_handler_svr_socket_accept(
+ const axutil_env_t * env,
+ axis2_socket_t socket);
+
+ /**
+ * Returns the ip address of the server associated with the socket
+ * @param socket valid socket (obtained by accept() or similar call)
+ * @return ip address asoociated with the socket or NULL
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axutil_network_handler_get_svr_ip(
+ const axutil_env_t * env,
+ axis2_socket_t socket);
+
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axutil_network_handler_get_peer_ip(
+ const axutil_env_t * env,
+ axis2_socket_t socket);
+
+ /*
+ * Create a datagram socket.
+ * @param env pointer to env
+ * @return a datagram socket
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+ axutil_network_handler_open_dgram_socket(const axutil_env_t *env);
+
+ /*
+ * Send a UDP packet to the given source and port address.
+ * Read a incoming UDP packet from the port and server address.
+ * @param env pointer to the env structure
+ * @param socket a datagram socket
+ * @param buffer a buffer containing the data to be sent
+ * @param buf_len length of the buffer
+ * @param addr address of the source field
+ * @param port udp port number
+ * @return success if everything goes well
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axutil_network_handler_send_dgram(const axutil_env_t *env, axis2_socket_t socket,
+ axis2_char_t *buff, int *buf_len,
+ axis2_char_t *addr, int dest_port, int *source_port);
+
+ /*
+ * Read a incoming UDP packet from the port and server address.
+ * @param env pointer to the env structure
+ * @param socket a datagram socket
+ * @param buffer a buffer allocated and passed to be filled
+ * @param buf_len length of the buffer allocated. In return buffer len
+ contains the length of the data read
+ * @param addr address of the sender. This is a return value.
+ * @param port senders port address. Return value
+ * @return if everything goes well return success
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axutil_network_handler_read_dgram(const axutil_env_t *env, axis2_socket_t socket,
+ axis2_char_t *buffer, int *buf_len,
+ axis2_char_t **addr, int *port);
+
+ /*
+ * Create a datagram socket to receive incoming UDP packets.
+ * @param env a pointer to the env structure
+ * @param port udp port to listen
+ * @return AXIS2_SUCCESS if everything goes well
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+ axutil_network_handler_create_dgram_svr_socket(
+ const axutil_env_t *env,
+ int port);
+
+ /*
+ * Bind a socket to the specified address
+ * @param env a pointer to the env structure
+ * @param sock socket
+ * @param port port number to bind to
+ * @return AXIS2_SUCCESS if binding is performed
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axutil_network_handler_bind_socket(const axutil_env_t *env,
+ axis2_socket_t sock, int port);
+
+ /*
+ * Create a multicast socket for listening on the given port.
+ * @param env a pointer to the env structure
+ * @param port udp port to listen
+ * @param mul_addr multicast address to join. The address should be valid and in dotted format.
+ * @param ttl TTL value.
+ * @return AXIS2_SUCCESS if everything goes well.s
+ */
+ AXIS2_EXTERN axis2_socket_t AXIS2_CALL
+ axutil_network_hadler_create_multicast_svr_socket(const axutil_env_t *env,
+ int port, axis2_char_t *mul_addr);
+
+ /** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_NETWORK_HANDLER_H */
diff --git a/util/include/axutil_utils_defines.h b/util/include/axutil_utils_defines.h
index ddc3a70..003cbae 100644
--- a/util/include/axutil_utils_defines.h
+++ b/util/include/axutil_utils_defines.h
@@ -62,12 +62,12 @@ extern "C"
#define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%lld"
#define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%llu"
#endif
-# if defined(_MSC_VER) && _MSC_VER >= 1300
-# define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%I32d"
-# define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%I32u"
-# else
-# define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d"
-# define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u"
+# if defined(_MSC_VER) && _MSC_VER >= 1300
+# define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%I32d"
+# define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%I32u"
+# else
+# define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d"
+# define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u"
# endif
/**#define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d"
#define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u" */
diff --git a/util/include/platforms/os400/axutil_os400.h b/util/include/platforms/os400/axutil_os400.h
index 1b6477f..5261c4d 100644
--- a/util/include/platforms/os400/axutil_os400.h
+++ b/util/include/platforms/os400/axutil_os400.h
@@ -1,277 +1,277 @@
-
-/*
- * 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_UNIX_H
-#define AXIS2_UNIX_H
-
-#include <axutil_config.h>
-
-/**
- * @file axutil_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 "/axis2/log/axutil_log"
-#define AXIS2_PLATFORM_CLIENTLOG_PATH "/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 "/axis2/axis2.xml"
-
- /*****************************************************************
- * Library loading and procedure resolution
- ****************************************************************/
-
-#define AXIS2_DLHANDLER void*
-
-#define AXIS2_PLATFORM_LOADLIBINIT()
-#define AXIS2_PLATFORM_LOADLIB(_lib) os400_dlopen(_lib)
-
-#define AXIS2_PLATFORM_UNLOADLIB os400_dlclose
-#define AXIS2_PLATFORM_GETPROCADDR os400_dlsym
-#define AXIS2_PLATFORM_LOADLIBEXIT()
-#define AXIS2_PLATFORM_LOADLIB_ERROR os400_dlerror()
-
-extern void *os400_dlopen(const char *);
-extern void *os400_dlsym(void *, const char *);
-extern int os400_dlclose(void *);
-extern char *os400_dlerror();
-
-
- /***************************************************************
- * 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 (EBCDIC)
-// CANNOT be used with constants.
-extern char* strtoasc( char* );
-extern char* asctostr( char* );
-#define AXIS2_PLATFORM_STRTOASC( x ) strtoasc( (char*)(x) )
-#define AXIS2_PLATFORM_ASCTOSTR( x ) asctostr( (char*)(x) )
-
-// reference to ebcdic to ascii conversion table
-extern const char EBCDICtoASCII[256];
-
-// Turkish double quote in EBCDIC is not invariant (i.e. the hexadecimal
-// value for double quote is different in turkish locale than when running
-// in english locale). This, when using double quotes we must reference the
-// following, which will be set to proper value on EBCDIC-based systems.
-
-extern char AXIS2_PLATFORM_DOUBLE_QUOTE_S[];
-extern char AXIS2_PLATFORM_DOUBLE_QUOTE_C;
-
-extern char AXIS2_PLATFORM_XML_ENTITY_REFERENCE_CHARS_S[];
-
- /***************************************************************
- * Miscellaneous
- ****************************************************************/
-#include <sys/time.h>
-
-#include <errno.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 "axutil_uuid_gen_os400.h" /* uuid_gen unix implementation */
-#include <netinet/tcp.h> /* TCP_NODELAY */
-#include <utime.h>
-
-#include "axutil_date_time_util_os400.h"
-
- /* 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 <fcntl.h>
-
- /* dir handling */
-#include <sys/types.h>
-#include <dirent.h>
-
-#define AXIS2_STRRCHR(x, y) (strrchr(x, y))
-
-#define AXIS2_PLATFORM_SLEEP(x) sleep(0)
-
- /** sleep function abstraction */
-#define AXIS2_SLEEP sleep
-#define AXIS2_USLEEP usleep
-
- /**
- * Platform specific method to obtain current thread ID
- */
-#include <pthread.h>
-#define AXIS2_PLATFORM_GET_THREAD_ID() os400_getThreadID()
-
-static long long os400_getThreadID()
-{
- pthread_id_np_t tid = pthread_getthreadid_np();
- return *((long long *)&tid);
-}
-
- /**
- * Platform specific method to obtain current time in milli seconds
- */
-struct os400_timeb
-{
- long time;
- long millitm;
-};
-
-static int os400_ftime(struct os400_timeb * tp)
-{
- struct timeval t;
- gettimeofday(&t, NULL);
- tp->time = t.tv_sec;
- tp->millitm = t.tv_usec/1000;
- return 0;
-}
-#define AXIS2_PLATFORM_GET_TIME_IN_MILLIS os400_ftime
-#define AXIS2_PLATFORM_TIMEB os400_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_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 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 os400_scandir
-#define AXIS2_ALPHASORT os400_alphasort
-#define AXIS2_OPENDIR opendir
-#define AXIS2_CLOSEDIR closedir
-#define AXIS2_READDIR readdir
-#define AXIS2_READDIR_R readdir_r
-#define AXIS2_REWINDDIR rewinddir
-#define AXIS2_MKDIR mkdir
-#define AXIS2_GETCWD getcwd
-#define AXIS2_CHDIR chdir
-
- /**
- * 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
-
- /** minizip functions */
-#define axis2_fill_win32_filefunc(ffunc)
-#define AXIS2_UNZOPEN2(zipfilename,ffunc) do { unzOpen2(zipfilename,NULL); memset(&ffunc, 0, sizeof(ffunc)); } while (0)
-
- /**
- * handling variable number of arguments (for log.c)
- */
-#define AXIS2_VSNPRINTF vsnprintf
-
-#define AXIS2_SNPRINTF snprintf
-
-#define axis2_gmtime_r gmtime_r
-
- /** @} */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* AXIS2_UNIX_H */
+
+/*
+ * 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_UNIX_H
+#define AXIS2_UNIX_H
+
+#include <axutil_config.h>
+
+/**
+ * @file axutil_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 "/axis2/log/axutil_log"
+#define AXIS2_PLATFORM_CLIENTLOG_PATH "/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 "/axis2/axis2.xml"
+
+ /*****************************************************************
+ * Library loading and procedure resolution
+ ****************************************************************/
+
+#define AXIS2_DLHANDLER void*
+
+#define AXIS2_PLATFORM_LOADLIBINIT()
+#define AXIS2_PLATFORM_LOADLIB(_lib) os400_dlopen(_lib)
+
+#define AXIS2_PLATFORM_UNLOADLIB os400_dlclose
+#define AXIS2_PLATFORM_GETPROCADDR os400_dlsym
+#define AXIS2_PLATFORM_LOADLIBEXIT()
+#define AXIS2_PLATFORM_LOADLIB_ERROR os400_dlerror()
+
+extern void *os400_dlopen(const char *);
+extern void *os400_dlsym(void *, const char *);
+extern int os400_dlclose(void *);
+extern char *os400_dlerror();
+
+
+ /***************************************************************
+ * 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 (EBCDIC)
+// CANNOT be used with constants.
+extern char* strtoasc( char* );
+extern char* asctostr( char* );
+#define AXIS2_PLATFORM_STRTOASC( x ) strtoasc( (char*)(x) )
+#define AXIS2_PLATFORM_ASCTOSTR( x ) asctostr( (char*)(x) )
+
+// reference to ebcdic to ascii conversion table
+extern const char EBCDICtoASCII[256];
+
+// Turkish double quote in EBCDIC is not invariant (i.e. the hexadecimal
+// value for double quote is different in turkish locale than when running
+// in english locale). This, when using double quotes we must reference the
+// following, which will be set to proper value on EBCDIC-based systems.
+
+extern char AXIS2_PLATFORM_DOUBLE_QUOTE_S[];
+extern char AXIS2_PLATFORM_DOUBLE_QUOTE_C;
+
+extern char AXIS2_PLATFORM_XML_ENTITY_REFERENCE_CHARS_S[];
+
+ /***************************************************************
+ * Miscellaneous
+ ****************************************************************/
+#include <sys/time.h>
+
+#include <errno.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 "axutil_uuid_gen_os400.h" /* uuid_gen unix implementation */
+#include <netinet/tcp.h> /* TCP_NODELAY */
+#include <utime.h>
+
+#include "axutil_date_time_util_os400.h"
+
+ /* 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 <fcntl.h>
+
+ /* dir handling */
+#include <sys/types.h>
+#include <dirent.h>
+
+#define AXIS2_STRRCHR(x, y) (strrchr(x, y))
+
+#define AXIS2_PLATFORM_SLEEP(x) sleep(0)
+
+ /** sleep function abstraction */
+#define AXIS2_SLEEP sleep
+#define AXIS2_USLEEP usleep
+
+ /**
+ * Platform specific method to obtain current thread ID
+ */
+#include <pthread.h>
+#define AXIS2_PLATFORM_GET_THREAD_ID() os400_getThreadID()
+
+static long long os400_getThreadID()
+{
+ pthread_id_np_t tid = pthread_getthreadid_np();
+ return *((long long *)&tid);
+}
+
+ /**
+ * Platform specific method to obtain current time in milli seconds
+ */
+struct os400_timeb
+{
+ long time;
+ long millitm;
+};
+
+static int os400_ftime(struct os400_timeb * tp)
+{
+ struct timeval t;
+ gettimeofday(&t, NULL);
+ tp->time = t.tv_sec;
+ tp->millitm = t.tv_usec/1000;
+ return 0;
+}
+#define AXIS2_PLATFORM_GET_TIME_IN_MILLIS os400_ftime
+#define AXIS2_PLATFORM_TIMEB os400_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_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 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 os400_scandir
+#define AXIS2_ALPHASORT os400_alphasort
+#define AXIS2_OPENDIR opendir
+#define AXIS2_CLOSEDIR closedir
+#define AXIS2_READDIR readdir
+#define AXIS2_READDIR_R readdir_r
+#define AXIS2_REWINDDIR rewinddir
+#define AXIS2_MKDIR mkdir
+#define AXIS2_GETCWD getcwd
+#define AXIS2_CHDIR chdir
+
+ /**
+ * 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
+
+ /** minizip functions */
+#define axis2_fill_win32_filefunc(ffunc)
+#define AXIS2_UNZOPEN2(zipfilename,ffunc) do { unzOpen2(zipfilename,NULL); memset(&ffunc, 0, sizeof(ffunc)); } while (0)
+
+ /**
+ * handling variable number of arguments (for log.c)
+ */
+#define AXIS2_VSNPRINTF vsnprintf
+
+#define AXIS2_SNPRINTF snprintf
+
+#define axis2_gmtime_r gmtime_r
+
+ /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_UNIX_H */
diff --git a/util/include/platforms/windows/axutil_uuid_gen_windows.h b/util/include/platforms/windows/axutil_uuid_gen_windows.h
index f8c0872..3b9a371 100644
--- a/util/include/platforms/windows/axutil_uuid_gen_windows.h
+++ b/util/include/platforms/windows/axutil_uuid_gen_windows.h
@@ -1,46 +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 <axutil_utils_defines.h>
-
-#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 */
+/*
+ * 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 <axutil_utils_defines.h>
+
+#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 */