Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axis2_utils_defines.h

00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef AXIS2_UTILS_DEFINES_H
00018 #define AXIS2_UTILS_DEFINES_H
00019 
00020 #include <stddef.h>
00021 
00022 #ifdef __cplusplus
00023 extern "C"
00024 {
00025 #endif
00026 
00030     typedef char axis2_char_t;
00031     typedef int axis2_bool_t;
00032     typedef int axis2_status_t;
00033     typedef int axis2_scope_t;
00034     typedef unsigned int axis2_ssize_t;
00035     typedef char axis2_byte_t;
00036 
00037 #define AXIS2_CRLF_LENGTH 2
00038 
00039 /* These constant definitions should later be moved to platform dependant
00040  * files
00041  */
00042 
00043 #define AXIS2_EOLN '\0'
00044    
00048 #define AXIS2_TRUE 1
00049 #define AXIS2_FALSE 0
00050 
00051 
00055 #if defined(WIN32)
00056 #define AXIS2_EXPORT __declspec(dllexport)
00057 #else
00058 #define AXIS2_EXPORT
00059 #endif
00060 
00064 #if defined(WIN32)
00065 #define AXIS2_IMPORT __declspec(dllimport)
00066 #else
00067 #define AXIS2_IMPORT
00068 #endif
00069 
00073 #if defined(__GNUC__)
00074 #if defined(__i386)
00075 #define AXIS2_CALL __attribute__((cdecl))
00076 #else
00077 #define AXIS2_CALL
00078 #endif
00079 #else
00080 #if defined(__unix)
00081 #define AXIS2_CALL
00082 #else                           /* WIN32 */
00083 #define AXIS2_CALL __stdcall
00084 #endif
00085 #endif
00086 #define AXIS2_THREAD_FUNC AXIS2_CALL
00087 
00088 #ifdef DOXYGEN
00089 
00090 /* define these just so doxygen documents them */
00091 
00103 # define AXIS2_DECLARE_STATIC
00104 
00110 # define AXIS2_DECLARE_EXPORT
00111 
00112 #endif                          /* def DOXYGEN */
00113 
00114 #if !defined(WIN32)
00115 
00123 #define AXIS2_EXTERN 
00124 
00133 #define AXIS2_DECLARE_NONSTD(type)     type
00134 
00143 #define AXIS2_DECLARE_DATA
00144 
00145 #elif defined(AXIS2_DECLARE_STATIC)
00146 #define AXIS2_EXTERN            
00147 #define AXIS2_EXTERN_NONSTD
00148 #define AXIS2_DECLARE_DATA
00149 #elif defined(AXIS2_DECLARE_EXPORT)
00150 #define AXIS2_EXTERN                    AXIS2_EXPORT
00151 #define AXIS2_EXTERN_NONSTD             AXIS2_EXPORT
00152 #define AXIS2_DECLARE_DATA             
00153 #else
00154 #define AXIS2_EXTERN                    AXIS2_IMPORT
00155 #define AXIS2_EXTERN_NONSTD             AXIS2_IMPORT
00156 #define AXIS2_DECLARE_DATA             
00157 #endif
00158 
00162 typedef enum _axis2_xml_parser_type
00163 {
00164     AXIS2_XML_PARSER_TYPE_BUFFER = 1,
00165    AXIS2_XML_PARSER_TYPE_FILE,
00166     AXIS2_XML_PARSER_TYPE_DOC
00167 } axis2_xml_parser_type;
00168 
00169     
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 
00174 #endif                          /* AXIS2_UTILS_DEFINES_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2