axutil_utils_defines.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_UTILS_DEFINES_H
00020 #define AXUTIL_UTILS_DEFINES_H
00021 
00022 #include <stddef.h>
00023 
00024 #if !defined(WIN32)
00025 #include <stdint.h> 
00026 #endif
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033 #if defined(WIN32) && !defined(AXIS2_SKIP_INT_TYPEDEFS)
00034 
00037     typedef unsigned __int8 uint8_t;
00038     typedef __int8 int8_t;
00039     typedef unsigned __int16 uint16_t;
00040     typedef __int16 int16_t;
00041     typedef unsigned __int32 uint32_t;
00042     typedef __int32 int32_t;
00043     typedef unsigned __int64 uint64_t;
00044     typedef __int64 int64_t;
00045 #endif
00046 
00052 #if defined(WIN32)
00053 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%I64d"
00054 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%I64u"
00055 #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%I32d"
00056 #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%I32u"
00057 #else
00058 #if __WORDSIZE == 64
00059 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%ld"
00060 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%lu"
00061 #else
00062 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%lld"
00063 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%llu"
00064 #endif
00065 #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d"
00066 #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u"
00067 #endif
00068 
00072     typedef char axis2_char_t;
00073     typedef int axis2_bool_t;
00074     typedef int axis2_status_t;
00075     typedef int axis2_scope_t;
00076     typedef unsigned int axis2_ssize_t;
00077     typedef char axis2_byte_t;
00078 
00079 #define AXIS2_CRLF_LENGTH 2
00080 
00081     /* These constant definitions should later be moved to platform dependant
00082      * files
00083      */
00084 
00085 #define AXIS2_EOLN '\0'
00086 
00090 #define AXIS2_TRUE 1
00091 #define AXIS2_FALSE 0
00092 
00096 #if defined(WIN32)
00097 #define AXIS2_EXPORT __declspec(dllexport)
00098 #else
00099 #define AXIS2_EXPORT
00100 #endif
00101 
00105 #if defined(WIN32)
00106 #define AXIS2_IMPORT __declspec(dllimport)
00107 #else
00108 #define AXIS2_IMPORT
00109 #endif
00110 
00114 #if defined(__GNUC__)
00115 #if defined(__i386)
00116 #define AXIS2_CALL __attribute__((cdecl))
00117 #else
00118 #define AXIS2_CALL
00119 
00120 
00121 #endif
00122 #else
00123 #if defined(__unix)
00124 #define AXIS2_CALL
00125 
00126 
00127 #else                           /* WIN32 */
00128 #define AXIS2_CALL __stdcall
00129 #endif
00130 #endif
00131 #define AXIS2_THREAD_FUNC AXIS2_CALL
00132 
00133 
00134 #ifdef DOXYGEN
00135 
00136     /* define these just so doxygen documents them */
00137 
00149 # define AXIS2_DECLARE_STATIC
00150 
00157 # define AXIS2_DECLARE_EXPORT
00158 
00159 #endif                          /* def DOXYGEN */
00160 
00161 #if !defined(WIN32)
00162 
00175 #define AXIS2_EXTERN
00176 
00185 #define AXIS2_DECLARE_NONSTD(type)     type
00186 
00195 #define AXIS2_DECLARE_DATA
00196 
00197 #elif defined(AXIS2_DECLARE_STATIC)
00198 #define AXIS2_EXTERN
00199 #define AXIS2_EXTERN_NONSTD
00200 #define AXIS2_DECLARE_DATA
00201 #elif defined(AXIS2_DECLARE_EXPORT)
00202 #define AXIS2_EXTERN                    AXIS2_EXPORT
00203 #define AXIS2_EXTERN_NONSTD             AXIS2_EXPORT
00204 #define AXIS2_DECLARE_DATA
00205 #else
00206 #define AXIS2_EXTERN                    AXIS2_IMPORT
00207 #define AXIS2_EXTERN_NONSTD             AXIS2_IMPORT
00208 #define AXIS2_DECLARE_DATA
00209 #endif
00210 
00214     typedef enum _axis2_xml_parser_type
00215     {
00216         AXIS2_XML_PARSER_TYPE_BUFFER = 1,
00217         AXIS2_XML_PARSER_TYPE_FILE,
00218         AXIS2_XML_PARSER_TYPE_DOC
00219     } axis2_xml_parser_type;
00220 
00221 #ifdef __cplusplus
00222 }
00223 #endif
00224 
00225 #endif                          /* AXIS2_UTILS_DEFINES_H */

Generated on Wed Feb 27 19:55:36 2008 for Axis2/C by  doxygen 1.5.5