1*12720SWyllys.Ingersoll@Sun.COM /* 2*12720SWyllys.Ingersoll@Sun.COM * CDDL HEADER START 3*12720SWyllys.Ingersoll@Sun.COM * 4*12720SWyllys.Ingersoll@Sun.COM * The contents of this file are subject to the terms of the 5*12720SWyllys.Ingersoll@Sun.COM * Common Development and Distribution License (the "License"). 6*12720SWyllys.Ingersoll@Sun.COM * You may not use this file except in compliance with the License. 7*12720SWyllys.Ingersoll@Sun.COM * 8*12720SWyllys.Ingersoll@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*12720SWyllys.Ingersoll@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*12720SWyllys.Ingersoll@Sun.COM * See the License for the specific language governing permissions 11*12720SWyllys.Ingersoll@Sun.COM * and limitations under the License. 12*12720SWyllys.Ingersoll@Sun.COM * 13*12720SWyllys.Ingersoll@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*12720SWyllys.Ingersoll@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*12720SWyllys.Ingersoll@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*12720SWyllys.Ingersoll@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*12720SWyllys.Ingersoll@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*12720SWyllys.Ingersoll@Sun.COM * 19*12720SWyllys.Ingersoll@Sun.COM * CDDL HEADER END 20*12720SWyllys.Ingersoll@Sun.COM */ 21*12720SWyllys.Ingersoll@Sun.COM /* 22*12720SWyllys.Ingersoll@Sun.COM * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 23*12720SWyllys.Ingersoll@Sun.COM */ 24*12720SWyllys.Ingersoll@Sun.COM 25*12720SWyllys.Ingersoll@Sun.COM /* 26*12720SWyllys.Ingersoll@Sun.COM stdsoap2.h 2.7.17 27*12720SWyllys.Ingersoll@Sun.COM 28*12720SWyllys.Ingersoll@Sun.COM gSOAP runtime engine 29*12720SWyllys.Ingersoll@Sun.COM 30*12720SWyllys.Ingersoll@Sun.COM gSOAP XML Web services tools 31*12720SWyllys.Ingersoll@Sun.COM Copyright (C) 2000-2010, Robert van Engelen, Genivia Inc., All Rights Reserved. 32*12720SWyllys.Ingersoll@Sun.COM This part of the software is released under ONE of the following licenses: 33*12720SWyllys.Ingersoll@Sun.COM GPL, or the gSOAP public license, or Genivia's license for commercial use. 34*12720SWyllys.Ingersoll@Sun.COM -------------------------------------------------------------------------------- 35*12720SWyllys.Ingersoll@Sun.COM Contributors: 36*12720SWyllys.Ingersoll@Sun.COM 37*12720SWyllys.Ingersoll@Sun.COM Wind River Systems, Inc., for the following additions 38*12720SWyllys.Ingersoll@Sun.COM - vxWorks compatible 39*12720SWyllys.Ingersoll@Sun.COM -------------------------------------------------------------------------------- 40*12720SWyllys.Ingersoll@Sun.COM gSOAP public license. 41*12720SWyllys.Ingersoll@Sun.COM 42*12720SWyllys.Ingersoll@Sun.COM The contents of this file are subject to the gSOAP Public License Version 1.3 43*12720SWyllys.Ingersoll@Sun.COM (the "License"); you may not use this file except in compliance with the 44*12720SWyllys.Ingersoll@Sun.COM License. You may obtain a copy of the License at 45*12720SWyllys.Ingersoll@Sun.COM http://www.cs.fsu.edu/~engelen/soaplicense.html 46*12720SWyllys.Ingersoll@Sun.COM Software distributed under the License is distributed on an "AS IS" basis, 47*12720SWyllys.Ingersoll@Sun.COM WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 48*12720SWyllys.Ingersoll@Sun.COM for the specific language governing rights and limitations under the License. 49*12720SWyllys.Ingersoll@Sun.COM 50*12720SWyllys.Ingersoll@Sun.COM The Initial Developer of the Original Code is Robert A. van Engelen. 51*12720SWyllys.Ingersoll@Sun.COM Copyright (C) 2000-2010, Robert van Engelen, Genivia Inc., All Rights Reserved. 52*12720SWyllys.Ingersoll@Sun.COM -------------------------------------------------------------------------------- 53*12720SWyllys.Ingersoll@Sun.COM GPL license. 54*12720SWyllys.Ingersoll@Sun.COM 55*12720SWyllys.Ingersoll@Sun.COM This program is free software; you can redistribute it and/or modify it under 56*12720SWyllys.Ingersoll@Sun.COM the terms of the GNU General Public License as published by the Free Software 57*12720SWyllys.Ingersoll@Sun.COM Foundation; either version 2 of the License, or (at your option) any later 58*12720SWyllys.Ingersoll@Sun.COM version. 59*12720SWyllys.Ingersoll@Sun.COM 60*12720SWyllys.Ingersoll@Sun.COM This program is distributed in the hope that it will be useful, but WITHOUT ANY 61*12720SWyllys.Ingersoll@Sun.COM WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 62*12720SWyllys.Ingersoll@Sun.COM PARTICULAR PURPOSE. See the GNU General Public License for more details. 63*12720SWyllys.Ingersoll@Sun.COM 64*12720SWyllys.Ingersoll@Sun.COM You should have received a copy of the GNU General Public License along with 65*12720SWyllys.Ingersoll@Sun.COM this program; if not, write to the Free Software Foundation, Inc., 59 Temple 66*12720SWyllys.Ingersoll@Sun.COM Place, Suite 330, Boston, MA 02111-1307 USA 67*12720SWyllys.Ingersoll@Sun.COM 68*12720SWyllys.Ingersoll@Sun.COM Author contact information: 69*12720SWyllys.Ingersoll@Sun.COM engelen@genivia.com / engelen@acm.org 70*12720SWyllys.Ingersoll@Sun.COM 71*12720SWyllys.Ingersoll@Sun.COM This program is released under the GPL with the additional exemption that 72*12720SWyllys.Ingersoll@Sun.COM compiling, linking, and/or using OpenSSL is allowed. 73*12720SWyllys.Ingersoll@Sun.COM -------------------------------------------------------------------------------- 74*12720SWyllys.Ingersoll@Sun.COM A commercial use license is available from Genivia, Inc., contact@genivia.com 75*12720SWyllys.Ingersoll@Sun.COM -------------------------------------------------------------------------------- 76*12720SWyllys.Ingersoll@Sun.COM */ 77*12720SWyllys.Ingersoll@Sun.COM 78*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_SOAPDEFS_H 79*12720SWyllys.Ingersoll@Sun.COM # include "soapdefs.h" /* include user-defined stuff */ 80*12720SWyllys.Ingersoll@Sun.COM #endif 81*12720SWyllys.Ingersoll@Sun.COM 82*12720SWyllys.Ingersoll@Sun.COM #ifndef _THREAD_SAFE 83*12720SWyllys.Ingersoll@Sun.COM # define _THREAD_SAFE 84*12720SWyllys.Ingersoll@Sun.COM #endif 85*12720SWyllys.Ingersoll@Sun.COM 86*12720SWyllys.Ingersoll@Sun.COM #ifndef OPENSERVER 87*12720SWyllys.Ingersoll@Sun.COM # ifndef _REENTRANT 88*12720SWyllys.Ingersoll@Sun.COM # define _REENTRANT 89*12720SWyllys.Ingersoll@Sun.COM # endif 90*12720SWyllys.Ingersoll@Sun.COM #endif 91*12720SWyllys.Ingersoll@Sun.COM 92*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC1 /* stdsoap2.h declaration macro */ 93*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC1 94*12720SWyllys.Ingersoll@Sun.COM #endif 95*12720SWyllys.Ingersoll@Sun.COM 96*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC2 /* stdsoap2.h declaration macro */ 97*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC2 98*12720SWyllys.Ingersoll@Sun.COM #endif 99*12720SWyllys.Ingersoll@Sun.COM 100*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC3 /* (de)serializer declaration macro */ 101*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC3 102*12720SWyllys.Ingersoll@Sun.COM #endif 103*12720SWyllys.Ingersoll@Sun.COM 104*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC3S /* string converter for (de)serializer declaration macro */ 105*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC3S SOAP_FMAC3 106*12720SWyllys.Ingersoll@Sun.COM #endif 107*12720SWyllys.Ingersoll@Sun.COM 108*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC4 /* (de)serializer declaration macro */ 109*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC4 110*12720SWyllys.Ingersoll@Sun.COM #endif 111*12720SWyllys.Ingersoll@Sun.COM 112*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC4S /* string converter for (de)serializer declaration macro */ 113*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC4S SOAP_FMAC4 114*12720SWyllys.Ingersoll@Sun.COM #endif 115*12720SWyllys.Ingersoll@Sun.COM 116*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC5 /* stub/skeleton declaration macro */ 117*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC5 118*12720SWyllys.Ingersoll@Sun.COM #endif 119*12720SWyllys.Ingersoll@Sun.COM 120*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FMAC6 /* stub/skeleton declaration macro */ 121*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FMAC6 122*12720SWyllys.Ingersoll@Sun.COM #endif 123*12720SWyllys.Ingersoll@Sun.COM 124*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_CMAC /* class declaration macro */ 125*12720SWyllys.Ingersoll@Sun.COM # define SOAP_CMAC 126*12720SWyllys.Ingersoll@Sun.COM #endif 127*12720SWyllys.Ingersoll@Sun.COM 128*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_NMAC /* namespace table declaration macro */ 129*12720SWyllys.Ingersoll@Sun.COM # define SOAP_NMAC 130*12720SWyllys.Ingersoll@Sun.COM #endif 131*12720SWyllys.Ingersoll@Sun.COM 132*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_SOURCE_STAMP 133*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOURCE_STAMP(str) 134*12720SWyllys.Ingersoll@Sun.COM #endif 135*12720SWyllys.Ingersoll@Sun.COM 136*12720SWyllys.Ingersoll@Sun.COM /* gSOAP 2.7.4 and higher: fast look-aside buffering is stable */ 137*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_FAST 138*12720SWyllys.Ingersoll@Sun.COM # define WITH_FAST 139*12720SWyllys.Ingersoll@Sun.COM #endif 140*12720SWyllys.Ingersoll@Sun.COM 141*12720SWyllys.Ingersoll@Sun.COM /* gSOAP 2.7.15 and higher: always retain CDATA in literal XML, unless WITH_LEAN or WITH_NOCDATA */ 142*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 143*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_NOCDATA 144*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_CDATA 145*12720SWyllys.Ingersoll@Sun.COM # define WITH_CDATA 146*12720SWyllys.Ingersoll@Sun.COM # endif 147*12720SWyllys.Ingersoll@Sun.COM # endif 148*12720SWyllys.Ingersoll@Sun.COM #endif 149*12720SWyllys.Ingersoll@Sun.COM 150*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_LEANER 151*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 152*12720SWyllys.Ingersoll@Sun.COM # define WITH_LEAN 153*12720SWyllys.Ingersoll@Sun.COM # endif 154*12720SWyllys.Ingersoll@Sun.COM #endif 155*12720SWyllys.Ingersoll@Sun.COM 156*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_LEAN 157*12720SWyllys.Ingersoll@Sun.COM # ifdef WITH_COOKIES 158*12720SWyllys.Ingersoll@Sun.COM # error "Cannot build WITH_LEAN code WITH_COOKIES enabled" 159*12720SWyllys.Ingersoll@Sun.COM # endif 160*12720SWyllys.Ingersoll@Sun.COM #endif 161*12720SWyllys.Ingersoll@Sun.COM 162*12720SWyllys.Ingersoll@Sun.COM #ifndef STDSOAP_H 163*12720SWyllys.Ingersoll@Sun.COM #define STDSOAP_H 164*12720SWyllys.Ingersoll@Sun.COM 165*12720SWyllys.Ingersoll@Sun.COM #if defined(__vxworks) || defined(__VXWORKS__) 166*12720SWyllys.Ingersoll@Sun.COM # ifndef VXWORKS 167*12720SWyllys.Ingersoll@Sun.COM # define VXWORKS 168*12720SWyllys.Ingersoll@Sun.COM # endif 169*12720SWyllys.Ingersoll@Sun.COM #endif 170*12720SWyllys.Ingersoll@Sun.COM 171*12720SWyllys.Ingersoll@Sun.COM #ifdef _WIN32 172*12720SWyllys.Ingersoll@Sun.COM # ifndef WIN32 173*12720SWyllys.Ingersoll@Sun.COM # define WIN32 174*12720SWyllys.Ingersoll@Sun.COM # endif 175*12720SWyllys.Ingersoll@Sun.COM #endif 176*12720SWyllys.Ingersoll@Sun.COM 177*12720SWyllys.Ingersoll@Sun.COM #ifdef _WIN32_WCE 178*12720SWyllys.Ingersoll@Sun.COM # ifndef UNDER_CE 179*12720SWyllys.Ingersoll@Sun.COM # define UNDER_CE _WIN32_WCE 180*12720SWyllys.Ingersoll@Sun.COM # endif 181*12720SWyllys.Ingersoll@Sun.COM #endif 182*12720SWyllys.Ingersoll@Sun.COM 183*12720SWyllys.Ingersoll@Sun.COM #ifdef UNDER_CE 184*12720SWyllys.Ingersoll@Sun.COM # ifndef WIN32 185*12720SWyllys.Ingersoll@Sun.COM # define WIN32 186*12720SWyllys.Ingersoll@Sun.COM # endif 187*12720SWyllys.Ingersoll@Sun.COM #endif 188*12720SWyllys.Ingersoll@Sun.COM 189*12720SWyllys.Ingersoll@Sun.COM #ifdef __BORLANDC__ 190*12720SWyllys.Ingersoll@Sun.COM # ifdef __WIN32__ 191*12720SWyllys.Ingersoll@Sun.COM # ifndef WIN32 192*12720SWyllys.Ingersoll@Sun.COM # define WIN32 193*12720SWyllys.Ingersoll@Sun.COM # endif 194*12720SWyllys.Ingersoll@Sun.COM # endif 195*12720SWyllys.Ingersoll@Sun.COM #endif 196*12720SWyllys.Ingersoll@Sun.COM 197*12720SWyllys.Ingersoll@Sun.COM #ifdef __CYGWIN__ 198*12720SWyllys.Ingersoll@Sun.COM # ifndef CYGWIN 199*12720SWyllys.Ingersoll@Sun.COM # define CYGWIN 200*12720SWyllys.Ingersoll@Sun.COM # endif 201*12720SWyllys.Ingersoll@Sun.COM #endif 202*12720SWyllys.Ingersoll@Sun.COM 203*12720SWyllys.Ingersoll@Sun.COM #ifdef __SYMBIAN32__ 204*12720SWyllys.Ingersoll@Sun.COM # define SYMBIAN 205*12720SWyllys.Ingersoll@Sun.COM # undef WIN32 206*12720SWyllys.Ingersoll@Sun.COM #endif 207*12720SWyllys.Ingersoll@Sun.COM 208*12720SWyllys.Ingersoll@Sun.COM #if defined(__palmos__) || defined(PALM_GCC) || defined(__PALMOS_TRAPS__) 209*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 210*12720SWyllys.Ingersoll@Sun.COM # define PALM 211*12720SWyllys.Ingersoll@Sun.COM # endif 212*12720SWyllys.Ingersoll@Sun.COM #endif 213*12720SWyllys.Ingersoll@Sun.COM 214*12720SWyllys.Ingersoll@Sun.COM #if defined(__hpux) 215*12720SWyllys.Ingersoll@Sun.COM # ifndef HP_UX 216*12720SWyllys.Ingersoll@Sun.COM # define HP_UX 217*12720SWyllys.Ingersoll@Sun.COM # endif 218*12720SWyllys.Ingersoll@Sun.COM #endif 219*12720SWyllys.Ingersoll@Sun.COM 220*12720SWyllys.Ingersoll@Sun.COM #if defined(__digital__) && defined(__unix__) 221*12720SWyllys.Ingersoll@Sun.COM # ifndef TRU64 222*12720SWyllys.Ingersoll@Sun.COM # define TRU64 223*12720SWyllys.Ingersoll@Sun.COM # endif 224*12720SWyllys.Ingersoll@Sun.COM #endif 225*12720SWyllys.Ingersoll@Sun.COM 226*12720SWyllys.Ingersoll@Sun.COM #ifdef __MVS__ 227*12720SWyllys.Ingersoll@Sun.COM # ifndef OS390 228*12720SWyllys.Ingersoll@Sun.COM # define OS390 229*12720SWyllys.Ingersoll@Sun.COM # endif 230*12720SWyllys.Ingersoll@Sun.COM #endif 231*12720SWyllys.Ingersoll@Sun.COM 232*12720SWyllys.Ingersoll@Sun.COM #ifdef HAVE_CONFIG_H 233*12720SWyllys.Ingersoll@Sun.COM # include "config.h" 234*12720SWyllys.Ingersoll@Sun.COM # if defined(WITH_OPENSSL) 235*12720SWyllys.Ingersoll@Sun.COM # ifndef HAVE_OPENSSL_SSL_H 236*12720SWyllys.Ingersoll@Sun.COM # undef WITH_OPENSSL 237*12720SWyllys.Ingersoll@Sun.COM # endif 238*12720SWyllys.Ingersoll@Sun.COM # endif 239*12720SWyllys.Ingersoll@Sun.COM # if defined(WITH_ZLIB) || defined(WITH_GZIP) 240*12720SWyllys.Ingersoll@Sun.COM # ifndef HAVE_ZLIB_H 241*12720SWyllys.Ingersoll@Sun.COM # undef WITH_ZLIB 242*12720SWyllys.Ingersoll@Sun.COM # undef WITH_GZIP 243*12720SWyllys.Ingersoll@Sun.COM # endif 244*12720SWyllys.Ingersoll@Sun.COM # endif 245*12720SWyllys.Ingersoll@Sun.COM #else 246*12720SWyllys.Ingersoll@Sun.COM # if defined(UNDER_CE) 247*12720SWyllys.Ingersoll@Sun.COM # define WITH_LEAN 248*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 249*12720SWyllys.Ingersoll@Sun.COM # elif defined(WIN32) 250*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 251*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 252*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 253*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 254*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 255*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 256*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 257*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 258*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME 259*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 260*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 261*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%I64d" 262*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%I64u" 263*12720SWyllys.Ingersoll@Sun.COM # elif defined(CYGWIN) 264*12720SWyllys.Ingersoll@Sun.COM # define HAVE_POLL 265*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 266*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 267*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 268*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 269*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 270*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 271*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 272*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 273*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 274*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 275*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 276*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 277*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 278*12720SWyllys.Ingersoll@Sun.COM # elif defined(__APPLE__) 279*12720SWyllys.Ingersoll@Sun.COM # define HAVE_POLL 280*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 281*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 282*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 283*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 284*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD_L 285*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF_L 286*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SPRINTF_L 287*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 288*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 289*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 290*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 291*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 292*12720SWyllys.Ingersoll@Sun.COM # define HAVE_TIMEGM 293*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 294*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 295*12720SWyllys.Ingersoll@Sun.COM # elif defined(_AIX43) 296*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 297*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 298*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 299*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 300*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 301*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 302*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 303*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 304*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 305*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 306*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 307*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 308*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 309*12720SWyllys.Ingersoll@Sun.COM # elif defined(_AIX41) 310*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 311*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 312*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 313*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 314*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 315*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 316*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 317*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 318*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 319*12720SWyllys.Ingersoll@Sun.COM # elif defined(HP_UX) 320*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 321*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 322*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 323*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 324*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 325*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 326*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 327*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 328*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 329*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 330*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 331*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 332*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 333*12720SWyllys.Ingersoll@Sun.COM # elif defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) 334*12720SWyllys.Ingersoll@Sun.COM # define HAVE_POLL 335*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 336*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 337*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 338*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 339*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD_L 340*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF_L 341*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SPRINTF_L 342*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 343*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 344*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOLL 345*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOULL 346*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GETTIMEOFDAY 347*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 348*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 349*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 350*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 351*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 352*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%qd" 353*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%qu" 354*12720SWyllys.Ingersoll@Sun.COM # elif defined(__VMS) 355*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 356*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 357*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 358*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 359*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 360*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 361*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 362*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 363*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 364*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 365*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 366*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 367*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 368*12720SWyllys.Ingersoll@Sun.COM # elif defined(__GLIBC__) || defined(__GNU__) 369*12720SWyllys.Ingersoll@Sun.COM # define HAVE_POLL 370*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 371*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 372*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 373*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 374*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD_L 375*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF_L 376*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SPRINTF_L 377*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 378*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 379*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOLL 380*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOULL 381*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 382*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 383*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 384*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 385*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 386*12720SWyllys.Ingersoll@Sun.COM # define HAVE_TIMEGM 387*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 388*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 389*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 390*12720SWyllys.Ingersoll@Sun.COM # elif defined(TRU64) 391*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 392*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 393*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 394*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 395*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 396*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 397*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GETTIMEOFDAY 398*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 399*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 400*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 401*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 402*12720SWyllys.Ingersoll@Sun.COM # define __USE_STD_IOSTREAM 403*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 404*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 405*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%ld" 406*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%lu" 407*12720SWyllys.Ingersoll@Sun.COM # elif defined(MAC_CARBON) 408*12720SWyllys.Ingersoll@Sun.COM # define WITH_NOIO 409*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 410*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 411*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 412*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 413*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD_L 414*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF_L 415*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SPRINTF_L 416*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 417*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 418*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 419*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 420*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GETHOSTBYNAME_R 421*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 422*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 423*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 424*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 425*12720SWyllys.Ingersoll@Sun.COM # elif defined(PALM) 426*12720SWyllys.Ingersoll@Sun.COM # define WITH_LEAN 427*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD /* strtod() is defined in palmFunctions.h */ 428*12720SWyllys.Ingersoll@Sun.COM # include <stdlib.h> /* Needs to be included before unix headers */ 429*12720SWyllys.Ingersoll@Sun.COM # include <sys_types.h> 430*12720SWyllys.Ingersoll@Sun.COM # define IGNORE_STDIO_STUBS 431*12720SWyllys.Ingersoll@Sun.COM # include <StdIOPalm.h> 432*12720SWyllys.Ingersoll@Sun.COM # define O_NONBLOCK FNONBIO 433*12720SWyllys.Ingersoll@Sun.COM # include <sys_socket.h> 434*12720SWyllys.Ingersoll@Sun.COM # include "palmFunctions.h" 435*12720SWyllys.Ingersoll@Sun.COM # elif defined(SYMBIAN) 436*12720SWyllys.Ingersoll@Sun.COM # define WITH_LEAN 437*12720SWyllys.Ingersoll@Sun.COM # define WITH_NONAMESPACES 438*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD /* use STRTOD since sscanf doesn't seem to work */ 439*12720SWyllys.Ingersoll@Sun.COM # include <e32def.h> 440*12720SWyllys.Ingersoll@Sun.COM # include <sys/ioctl.h> 441*12720SWyllys.Ingersoll@Sun.COM # elif defined(VXWORKS) 442*12720SWyllys.Ingersoll@Sun.COM # ifdef _WRS_KERNEL 443*12720SWyllys.Ingersoll@Sun.COM # define _POSIX_THREADS 1 444*12720SWyllys.Ingersoll@Sun.COM # endif 445*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 446*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 447*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 448*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 449*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 450*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME 451*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME 452*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MKTIME 453*12720SWyllys.Ingersoll@Sun.COM # elif defined(OS390) 454*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 455*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 456*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 457*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 458*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 459*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 460*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 461*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 462*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 463*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 464*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 465*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 466*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 467*12720SWyllys.Ingersoll@Sun.COM # elif defined(AS400) 468*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 469*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 470*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 471*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 472*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 473*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 474*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 475*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 476*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 477*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 478*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 479*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 480*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 481*12720SWyllys.Ingersoll@Sun.COM # elif defined(__QNX__) || defined(QNX) 482*12720SWyllys.Ingersoll@Sun.COM /* QNX does not have a working version of strtof */ 483*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_STRTOF 484*12720SWyllys.Ingersoll@Sun.COM # define HAVE_POLL 485*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 486*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 487*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 488*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 489*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 490*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 491*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 492*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 493*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 494*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GETHOSTBYNAME_R 495*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 496*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 497*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 498*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 499*12720SWyllys.Ingersoll@Sun.COM # define LONG64 long 500*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 501*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%ld" 502*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%lu" 503*12720SWyllys.Ingersoll@Sun.COM # else 504*12720SWyllys.Ingersoll@Sun.COM /* Default assumptions for supported functions */ 505*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SNPRINTF 506*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRRCHR 507*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOD 508*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SSCANF 509*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOL 510*12720SWyllys.Ingersoll@Sun.COM # define HAVE_STRTOUL 511*12720SWyllys.Ingersoll@Sun.COM # define HAVE_SYS_TIMEB_H 512*12720SWyllys.Ingersoll@Sun.COM # define HAVE_FTIME 513*12720SWyllys.Ingersoll@Sun.COM # define HAVE_RAND_R 514*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GETHOSTBYNAME_R 515*12720SWyllys.Ingersoll@Sun.COM # define HAVE_GMTIME_R 516*12720SWyllys.Ingersoll@Sun.COM # define HAVE_LOCALTIME_R 517*12720SWyllys.Ingersoll@Sun.COM # ifdef MB_LEN_MAX 518*12720SWyllys.Ingersoll@Sun.COM # define HAVE_WCTOMB 519*12720SWyllys.Ingersoll@Sun.COM # define HAVE_MBTOWC 520*12720SWyllys.Ingersoll@Sun.COM # endif 521*12720SWyllys.Ingersoll@Sun.COM # endif 522*12720SWyllys.Ingersoll@Sun.COM #endif 523*12720SWyllys.Ingersoll@Sun.COM 524*12720SWyllys.Ingersoll@Sun.COM /* native Win and HP-UX compilers don't like empty structs */ 525*12720SWyllys.Ingersoll@Sun.COM #if defined(WIN32) || defined(HP_UX) || defined(_AIX41) || defined(_AIX43) || defined(VXWORKS) 526*12720SWyllys.Ingersoll@Sun.COM # define WITH_NOEMPTYSTRUCT 527*12720SWyllys.Ingersoll@Sun.COM #endif 528*12720SWyllys.Ingersoll@Sun.COM 529*12720SWyllys.Ingersoll@Sun.COM #ifdef HP_UX 530*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_STRTOLL 531*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_STRTOULL 532*12720SWyllys.Ingersoll@Sun.COM #endif 533*12720SWyllys.Ingersoll@Sun.COM 534*12720SWyllys.Ingersoll@Sun.COM /* older OpenVMS TCP/IP stacks cannot handle 65536 bytes */ 535*12720SWyllys.Ingersoll@Sun.COM #ifdef __VMS 536*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_BUFLEN 537*12720SWyllys.Ingersoll@Sun.COM # define SOAP_BUFLEN (65535) 538*12720SWyllys.Ingersoll@Sun.COM # endif 539*12720SWyllys.Ingersoll@Sun.COM #endif 540*12720SWyllys.Ingersoll@Sun.COM 541*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_C_LOCALE 542*12720SWyllys.Ingersoll@Sun.COM # include <xlocale.h> 543*12720SWyllys.Ingersoll@Sun.COM #else 544*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_STRTOF_L 545*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_STRTOD_L 546*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_SSCANF_L 547*12720SWyllys.Ingersoll@Sun.COM # undef HAVE_SPRINTF_L 548*12720SWyllys.Ingersoll@Sun.COM #endif 549*12720SWyllys.Ingersoll@Sun.COM 550*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOSTDLIB 551*12720SWyllys.Ingersoll@Sun.COM # include <stdlib.h> 552*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 553*12720SWyllys.Ingersoll@Sun.COM # include <stdio.h> 554*12720SWyllys.Ingersoll@Sun.COM # include <string.h> 555*12720SWyllys.Ingersoll@Sun.COM # endif 556*12720SWyllys.Ingersoll@Sun.COM # include <ctype.h> 557*12720SWyllys.Ingersoll@Sun.COM # include <limits.h> 558*12720SWyllys.Ingersoll@Sun.COM #endif 559*12720SWyllys.Ingersoll@Sun.COM 560*12720SWyllys.Ingersoll@Sun.COM #ifdef HAVE_POLL 561*12720SWyllys.Ingersoll@Sun.COM # include <poll.h> 562*12720SWyllys.Ingersoll@Sun.COM #endif 563*12720SWyllys.Ingersoll@Sun.COM 564*12720SWyllys.Ingersoll@Sun.COM #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT) 565*12720SWyllys.Ingersoll@Sun.COM # include <string> 566*12720SWyllys.Ingersoll@Sun.COM # include <iostream> 567*12720SWyllys.Ingersoll@Sun.COM #endif 568*12720SWyllys.Ingersoll@Sun.COM 569*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_NOHTTP 570*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_NOIO 571*12720SWyllys.Ingersoll@Sun.COM # define WITH_NOIO 572*12720SWyllys.Ingersoll@Sun.COM # undef WITH_COOKIES 573*12720SWyllys.Ingersoll@Sun.COM # endif 574*12720SWyllys.Ingersoll@Sun.COM #endif 575*12720SWyllys.Ingersoll@Sun.COM 576*12720SWyllys.Ingersoll@Sun.COM /* Suggestion when SOAP_FD_EXCEEDED error occurs: 577*12720SWyllys.Ingersoll@Sun.COM Some systems allow increasing FD_SETSIZE before including sys/types.h: 578*12720SWyllys.Ingersoll@Sun.COM #define FD_SETSIZE (2048) 579*12720SWyllys.Ingersoll@Sun.COM */ 580*12720SWyllys.Ingersoll@Sun.COM 581*12720SWyllys.Ingersoll@Sun.COM #ifndef UNDER_CE 582*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 583*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_NOIO 584*12720SWyllys.Ingersoll@Sun.COM # include <errno.h> 585*12720SWyllys.Ingersoll@Sun.COM # include <sys/types.h> 586*12720SWyllys.Ingersoll@Sun.COM # endif 587*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 588*12720SWyllys.Ingersoll@Sun.COM # ifdef HAVE_SYS_TIMEB_H 589*12720SWyllys.Ingersoll@Sun.COM # include <sys/timeb.h> /* for ftime() */ 590*12720SWyllys.Ingersoll@Sun.COM # endif 591*12720SWyllys.Ingersoll@Sun.COM # include <time.h> 592*12720SWyllys.Ingersoll@Sun.COM # endif 593*12720SWyllys.Ingersoll@Sun.COM # endif 594*12720SWyllys.Ingersoll@Sun.COM #endif 595*12720SWyllys.Ingersoll@Sun.COM 596*12720SWyllys.Ingersoll@Sun.COM #ifdef OPENSERVER 597*12720SWyllys.Ingersoll@Sun.COM # include <sys/socket.h> 598*12720SWyllys.Ingersoll@Sun.COM # include <sys/stream.h> 599*12720SWyllys.Ingersoll@Sun.COM # include <sys/protosw.h> 600*12720SWyllys.Ingersoll@Sun.COM extern int h_errno; 601*12720SWyllys.Ingersoll@Sun.COM #endif 602*12720SWyllys.Ingersoll@Sun.COM 603*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIO 604*12720SWyllys.Ingersoll@Sun.COM # ifndef WIN32 605*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 606*12720SWyllys.Ingersoll@Sun.COM # include <sys/socket.h> 607*12720SWyllys.Ingersoll@Sun.COM # ifdef VXWORKS 608*12720SWyllys.Ingersoll@Sun.COM # include <sockLib.h> 609*12720SWyllys.Ingersoll@Sun.COM # include <selectLib.h> 610*12720SWyllys.Ingersoll@Sun.COM # ifndef _WRS_KERNEL 611*12720SWyllys.Ingersoll@Sun.COM # include <strings.h> 612*12720SWyllys.Ingersoll@Sun.COM # endif 613*12720SWyllys.Ingersoll@Sun.COM # else 614*12720SWyllys.Ingersoll@Sun.COM # ifndef SYMBIAN 615*12720SWyllys.Ingersoll@Sun.COM # include <strings.h> 616*12720SWyllys.Ingersoll@Sun.COM # endif 617*12720SWyllys.Ingersoll@Sun.COM # endif 618*12720SWyllys.Ingersoll@Sun.COM # ifdef SUN_OS 619*12720SWyllys.Ingersoll@Sun.COM # include <sys/stream.h> /* SUN */ 620*12720SWyllys.Ingersoll@Sun.COM # include <sys/socketvar.h> /* SUN < 2.8 (?) */ 621*12720SWyllys.Ingersoll@Sun.COM # endif 622*12720SWyllys.Ingersoll@Sun.COM # ifdef VXWORKS 623*12720SWyllys.Ingersoll@Sun.COM # ifdef _WRS_KERNEL 624*12720SWyllys.Ingersoll@Sun.COM # include <sys/times.h> 625*12720SWyllys.Ingersoll@Sun.COM # endif 626*12720SWyllys.Ingersoll@Sun.COM # else 627*12720SWyllys.Ingersoll@Sun.COM # include <sys/time.h> 628*12720SWyllys.Ingersoll@Sun.COM # endif 629*12720SWyllys.Ingersoll@Sun.COM # include <netinet/in.h> 630*12720SWyllys.Ingersoll@Sun.COM # ifdef OS390 631*12720SWyllys.Ingersoll@Sun.COM # include <netinet/tcp_var.h> 632*12720SWyllys.Ingersoll@Sun.COM # else 633*12720SWyllys.Ingersoll@Sun.COM # include <netinet/tcp.h> /* TCP_NODELAY */ 634*12720SWyllys.Ingersoll@Sun.COM # endif 635*12720SWyllys.Ingersoll@Sun.COM # include <arpa/inet.h> 636*12720SWyllys.Ingersoll@Sun.COM # endif 637*12720SWyllys.Ingersoll@Sun.COM # endif 638*12720SWyllys.Ingersoll@Sun.COM #endif 639*12720SWyllys.Ingersoll@Sun.COM 640*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 641*12720SWyllys.Ingersoll@Sun.COM # define SOAP_WINSOCKINT int 642*12720SWyllys.Ingersoll@Sun.COM #else 643*12720SWyllys.Ingersoll@Sun.COM # define SOAP_WINSOCKINT size_t 644*12720SWyllys.Ingersoll@Sun.COM #endif 645*12720SWyllys.Ingersoll@Sun.COM 646*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 647*12720SWyllys.Ingersoll@Sun.COM # ifndef UNDER_CE 648*12720SWyllys.Ingersoll@Sun.COM # include <io.h> 649*12720SWyllys.Ingersoll@Sun.COM # include <fcntl.h> 650*12720SWyllys.Ingersoll@Sun.COM # endif 651*12720SWyllys.Ingersoll@Sun.COM # ifdef WITH_IPV6 652*12720SWyllys.Ingersoll@Sun.COM # include <winsock2.h> /* Visual Studio 2005 users: you must install the Platform SDK (R2) */ 653*12720SWyllys.Ingersoll@Sun.COM # include <ws2tcpip.h> 654*12720SWyllys.Ingersoll@Sun.COM # include <wspiapi.h> 655*12720SWyllys.Ingersoll@Sun.COM # define SOAP_GAI_STRERROR gai_strerrorA 656*12720SWyllys.Ingersoll@Sun.COM # else 657*12720SWyllys.Ingersoll@Sun.COM # ifndef __BORLANDC__ 658*12720SWyllys.Ingersoll@Sun.COM # include <winsock.h> /* Visual Studio 2005 users: you must install the Platform SDK (R2) */ 659*12720SWyllys.Ingersoll@Sun.COM /* # include <winsock2.h> */ /* Alternative: use winsock2 (not available with eVC), enable this line and comment out the line above */ 660*12720SWyllys.Ingersoll@Sun.COM # else 661*12720SWyllys.Ingersoll@Sun.COM # include <winsock2.h> /* Borland C */ 662*12720SWyllys.Ingersoll@Sun.COM # endif 663*12720SWyllys.Ingersoll@Sun.COM # endif 664*12720SWyllys.Ingersoll@Sun.COM #else 665*12720SWyllys.Ingersoll@Sun.COM # ifdef VXWORKS 666*12720SWyllys.Ingersoll@Sun.COM # include <hostLib.h> 667*12720SWyllys.Ingersoll@Sun.COM # include <ioctl.h> 668*12720SWyllys.Ingersoll@Sun.COM # include <ioLib.h> 669*12720SWyllys.Ingersoll@Sun.COM # endif 670*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_NOIO 671*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 672*12720SWyllys.Ingersoll@Sun.COM # include <netdb.h> 673*12720SWyllys.Ingersoll@Sun.COM # include <netinet/in.h> 674*12720SWyllys.Ingersoll@Sun.COM # include <unistd.h> 675*12720SWyllys.Ingersoll@Sun.COM # include <fcntl.h> 676*12720SWyllys.Ingersoll@Sun.COM # ifdef _AIX41 677*12720SWyllys.Ingersoll@Sun.COM # include <sys/select.h> 678*12720SWyllys.Ingersoll@Sun.COM # endif 679*12720SWyllys.Ingersoll@Sun.COM # endif 680*12720SWyllys.Ingersoll@Sun.COM # endif 681*12720SWyllys.Ingersoll@Sun.COM #endif 682*12720SWyllys.Ingersoll@Sun.COM 683*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_FASTCGI 684*12720SWyllys.Ingersoll@Sun.COM # include <fcgi_stdio.h> 685*12720SWyllys.Ingersoll@Sun.COM #endif 686*12720SWyllys.Ingersoll@Sun.COM 687*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_OPENSSL 688*12720SWyllys.Ingersoll@Sun.COM # define OPENSSL_NO_KRB5 689*12720SWyllys.Ingersoll@Sun.COM # include <openssl/bio.h> 690*12720SWyllys.Ingersoll@Sun.COM # include <openssl/err.h> 691*12720SWyllys.Ingersoll@Sun.COM # include <openssl/rand.h> 692*12720SWyllys.Ingersoll@Sun.COM # include <openssl/ssl.h> 693*12720SWyllys.Ingersoll@Sun.COM # include <openssl/x509v3.h> 694*12720SWyllys.Ingersoll@Sun.COM # ifndef ALLOW_OLD_VERSIONS 695*12720SWyllys.Ingersoll@Sun.COM # if (OPENSSL_VERSION_NUMBER < 0x00905100L) 696*12720SWyllys.Ingersoll@Sun.COM # error "Must use OpenSSL 0.9.6 or later" 697*12720SWyllys.Ingersoll@Sun.COM # endif 698*12720SWyllys.Ingersoll@Sun.COM # endif 699*12720SWyllys.Ingersoll@Sun.COM #endif 700*12720SWyllys.Ingersoll@Sun.COM 701*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_GNUTLS 702*12720SWyllys.Ingersoll@Sun.COM # include <gnutls/gnutls.h> 703*12720SWyllys.Ingersoll@Sun.COM #endif 704*12720SWyllys.Ingersoll@Sun.COM 705*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_GZIP 706*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_ZLIB 707*12720SWyllys.Ingersoll@Sun.COM # define WITH_ZLIB 708*12720SWyllys.Ingersoll@Sun.COM # endif 709*12720SWyllys.Ingersoll@Sun.COM #endif 710*12720SWyllys.Ingersoll@Sun.COM 711*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_CASEINSENSITIVETAGS 712*12720SWyllys.Ingersoll@Sun.COM # define SOAP_STRCMP soap_tag_cmp /* case insensitve XML element/attribute names */ 713*12720SWyllys.Ingersoll@Sun.COM #else 714*12720SWyllys.Ingersoll@Sun.COM # define SOAP_STRCMP strcmp /* case sensitive XML element/attribute names */ 715*12720SWyllys.Ingersoll@Sun.COM #endif 716*12720SWyllys.Ingersoll@Sun.COM 717*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_ZLIB 718*12720SWyllys.Ingersoll@Sun.COM # include <zlib.h> 719*12720SWyllys.Ingersoll@Sun.COM #endif 720*12720SWyllys.Ingersoll@Sun.COM 721*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOSTDLIB 722*12720SWyllys.Ingersoll@Sun.COM # ifndef PALM 723*12720SWyllys.Ingersoll@Sun.COM # include <math.h> /* for isnan() */ 724*12720SWyllys.Ingersoll@Sun.COM # endif 725*12720SWyllys.Ingersoll@Sun.COM #endif 726*12720SWyllys.Ingersoll@Sun.COM 727*12720SWyllys.Ingersoll@Sun.COM /* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */ 728*12720SWyllys.Ingersoll@Sun.COM 729*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 730*12720SWyllys.Ingersoll@Sun.COM extern "C" { 731*12720SWyllys.Ingersoll@Sun.COM #endif 732*12720SWyllys.Ingersoll@Sun.COM 733*12720SWyllys.Ingersoll@Sun.COM /* Portability: define SOAP_SOCKLEN_T */ 734*12720SWyllys.Ingersoll@Sun.COM #if defined(_AIX) 735*12720SWyllys.Ingersoll@Sun.COM # if defined(_AIX43) 736*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T socklen_t 737*12720SWyllys.Ingersoll@Sun.COM # else 738*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T int 739*12720SWyllys.Ingersoll@Sun.COM # endif 740*12720SWyllys.Ingersoll@Sun.COM #elif defined(SOCKLEN_T) 741*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T SOCKLEN_T 742*12720SWyllys.Ingersoll@Sun.COM #elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(HP_UX) 743*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T socklen_t 744*12720SWyllys.Ingersoll@Sun.COM #elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS) 745*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T int 746*12720SWyllys.Ingersoll@Sun.COM #else 747*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKLEN_T size_t 748*12720SWyllys.Ingersoll@Sun.COM #endif 749*12720SWyllys.Ingersoll@Sun.COM 750*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_SOCKET 751*12720SWyllys.Ingersoll@Sun.COM # ifdef WIN32 752*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKET SOCKET 753*12720SWyllys.Ingersoll@Sun.COM # define soap_closesocket(n) closesocket(n) 754*12720SWyllys.Ingersoll@Sun.COM # else 755*12720SWyllys.Ingersoll@Sun.COM # define SOAP_SOCKET int 756*12720SWyllys.Ingersoll@Sun.COM # define soap_closesocket(n) close(n) 757*12720SWyllys.Ingersoll@Sun.COM # endif 758*12720SWyllys.Ingersoll@Sun.COM #endif 759*12720SWyllys.Ingersoll@Sun.COM 760*12720SWyllys.Ingersoll@Sun.COM #define SOAP_INVALID_SOCKET ((SOAP_SOCKET)-1) 761*12720SWyllys.Ingersoll@Sun.COM #define soap_valid_socket(n) ((n) != SOAP_INVALID_SOCKET) 762*12720SWyllys.Ingersoll@Sun.COM 763*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_GAI_STRERROR 764*12720SWyllys.Ingersoll@Sun.COM # define SOAP_GAI_STRERROR gai_strerror 765*12720SWyllys.Ingersoll@Sun.COM #endif 766*12720SWyllys.Ingersoll@Sun.COM 767*12720SWyllys.Ingersoll@Sun.COM #ifndef FD_SETSIZE 768*12720SWyllys.Ingersoll@Sun.COM # define FD_SETSIZE (1024) 769*12720SWyllys.Ingersoll@Sun.COM #endif 770*12720SWyllys.Ingersoll@Sun.COM 771*12720SWyllys.Ingersoll@Sun.COM #if defined(SYMBIAN) 772*12720SWyllys.Ingersoll@Sun.COM # define LONG64 long 773*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 774*12720SWyllys.Ingersoll@Sun.COM #elif !defined(WIN32) || defined(CYGWIN) || defined(__GLIBC__) || defined(__GNU__) 775*12720SWyllys.Ingersoll@Sun.COM # ifndef LONG64 776*12720SWyllys.Ingersoll@Sun.COM # if defined(HAVE_STDINT_H) 777*12720SWyllys.Ingersoll@Sun.COM # include <stdint.h> 778*12720SWyllys.Ingersoll@Sun.COM # define LONG64 int64_t 779*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 uint64_t 780*12720SWyllys.Ingersoll@Sun.COM # elif defined(__GLIBC__) 781*12720SWyllys.Ingersoll@Sun.COM # include <bits/wordsize.h> 782*12720SWyllys.Ingersoll@Sun.COM # if (__WORDSIZE == 64) 783*12720SWyllys.Ingersoll@Sun.COM # define LONG64 int64_t 784*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 uint64_t 785*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_LONG_FORMAT 786*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%ld" 787*12720SWyllys.Ingersoll@Sun.COM # endif 788*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_ULONG_FORMAT 789*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%lu" 790*12720SWyllys.Ingersoll@Sun.COM # endif 791*12720SWyllys.Ingersoll@Sun.COM # else 792*12720SWyllys.Ingersoll@Sun.COM # define LONG64 long long 793*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 794*12720SWyllys.Ingersoll@Sun.COM # endif 795*12720SWyllys.Ingersoll@Sun.COM # else 796*12720SWyllys.Ingersoll@Sun.COM # define LONG64 long long 797*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 798*12720SWyllys.Ingersoll@Sun.COM # endif 799*12720SWyllys.Ingersoll@Sun.COM # endif 800*12720SWyllys.Ingersoll@Sun.COM #elif defined(UNDER_CE) 801*12720SWyllys.Ingersoll@Sun.COM # define LONG64 __int64 802*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 803*12720SWyllys.Ingersoll@Sun.COM #elif defined(__BORLANDC__) 804*12720SWyllys.Ingersoll@Sun.COM # define LONG64 __int64 805*12720SWyllys.Ingersoll@Sun.COM # define ULONG64 unsigned LONG64 806*12720SWyllys.Ingersoll@Sun.COM #endif 807*12720SWyllys.Ingersoll@Sun.COM 808*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_LONG_FORMAT 809*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LONG_FORMAT "%lld" /* printf format for 64 bit ints */ 810*12720SWyllys.Ingersoll@Sun.COM #endif 811*12720SWyllys.Ingersoll@Sun.COM 812*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_ULONG_FORMAT 813*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ULONG_FORMAT "%llu" /* printf format for unsigned 64 bit ints */ 814*12720SWyllys.Ingersoll@Sun.COM #endif 815*12720SWyllys.Ingersoll@Sun.COM 816*12720SWyllys.Ingersoll@Sun.COM #if defined(WIN32) && !defined(CYGWIN) 817*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 __int32 818*12720SWyllys.Ingersoll@Sun.COM #elif defined(SYMBIAN) 819*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 long 820*12720SWyllys.Ingersoll@Sun.COM #elif defined(PALM) 821*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 Int32 822*12720SWyllys.Ingersoll@Sun.COM #elif defined(_AIX) 823*12720SWyllys.Ingersoll@Sun.COM # define SOAP_NEW(type) new type /* AIX compilers don't like new (t) */ 824*12720SWyllys.Ingersoll@Sun.COM # if defined(_AIX43) 825*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 int32_t 826*12720SWyllys.Ingersoll@Sun.COM # else 827*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 signed int 828*12720SWyllys.Ingersoll@Sun.COM # endif 829*12720SWyllys.Ingersoll@Sun.COM #else 830*12720SWyllys.Ingersoll@Sun.COM # define soap_int32 int32_t 831*12720SWyllys.Ingersoll@Sun.COM #endif 832*12720SWyllys.Ingersoll@Sun.COM 833*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 834*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ERANGE ERANGE 835*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EINTR WSAEINTR 836*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EAGAIN WSAEWOULDBLOCK 837*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EWOULDBLOCK WSAEWOULDBLOCK 838*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EINPROGRESS WSAEINPROGRESS 839*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EADDRINUSE WSAEADDRINUSE 840*12720SWyllys.Ingersoll@Sun.COM #else 841*12720SWyllys.Ingersoll@Sun.COM # define SOAP_ERANGE ERANGE 842*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EINTR EINTR 843*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EAGAIN EAGAIN 844*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EADDRINUSE EADDRINUSE 845*12720SWyllys.Ingersoll@Sun.COM # ifdef SYMBIAN 846*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EWOULDBLOCK 9898 847*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EINPROGRESS 9899 848*12720SWyllys.Ingersoll@Sun.COM # else 849*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EWOULDBLOCK EWOULDBLOCK 850*12720SWyllys.Ingersoll@Sun.COM # define SOAP_EINPROGRESS EINPROGRESS 851*12720SWyllys.Ingersoll@Sun.COM # endif 852*12720SWyllys.Ingersoll@Sun.COM #endif 853*12720SWyllys.Ingersoll@Sun.COM 854*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 855*12720SWyllys.Ingersoll@Sun.COM # ifdef UNDER_CE 856*12720SWyllys.Ingersoll@Sun.COM # define soap_errno GetLastError() 857*12720SWyllys.Ingersoll@Sun.COM # define soap_socket_errno(s) GetLastError() 858*12720SWyllys.Ingersoll@Sun.COM # define soap_reset_errno SetLastError(0) 859*12720SWyllys.Ingersoll@Sun.COM # else 860*12720SWyllys.Ingersoll@Sun.COM # define soap_errno GetLastError() 861*12720SWyllys.Ingersoll@Sun.COM # define soap_socket_errno(s) WSAGetLastError() 862*12720SWyllys.Ingersoll@Sun.COM # define soap_reset_errno SetLastError(0) 863*12720SWyllys.Ingersoll@Sun.COM # endif 864*12720SWyllys.Ingersoll@Sun.COM #else 865*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_NOIO 866*12720SWyllys.Ingersoll@Sun.COM # define soap_errno errno 867*12720SWyllys.Ingersoll@Sun.COM # define soap_socket_errno(s) errno 868*12720SWyllys.Ingersoll@Sun.COM # define soap_reset_errno (errno = 0) 869*12720SWyllys.Ingersoll@Sun.COM # else 870*12720SWyllys.Ingersoll@Sun.COM # define soap_errno 0 871*12720SWyllys.Ingersoll@Sun.COM # define soap_socket_errno(s) 0 872*12720SWyllys.Ingersoll@Sun.COM # define soap_reset_errno 873*12720SWyllys.Ingersoll@Sun.COM # endif 874*12720SWyllys.Ingersoll@Sun.COM #endif 875*12720SWyllys.Ingersoll@Sun.COM 876*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_BUFLEN 877*12720SWyllys.Ingersoll@Sun.COM # if !defined(WITH_LEAN) 878*12720SWyllys.Ingersoll@Sun.COM # define SOAP_BUFLEN (65536) /* buffer length for socket packets, also used by gethostbyname_r and UDP messages, so don't make this too small */ 879*12720SWyllys.Ingersoll@Sun.COM # else 880*12720SWyllys.Ingersoll@Sun.COM # define SOAP_BUFLEN (2048) /* lean size */ 881*12720SWyllys.Ingersoll@Sun.COM # endif 882*12720SWyllys.Ingersoll@Sun.COM #endif 883*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_LABLEN 884*12720SWyllys.Ingersoll@Sun.COM # define SOAP_LABLEN (256) /* initial look-aside buffer length */ 885*12720SWyllys.Ingersoll@Sun.COM #endif 886*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_PTRBLK 887*12720SWyllys.Ingersoll@Sun.COM # define SOAP_PTRBLK (32) /* block allocation for pointer hash table chains */ 888*12720SWyllys.Ingersoll@Sun.COM #endif 889*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_PTRHASH 890*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 891*12720SWyllys.Ingersoll@Sun.COM # define SOAP_PTRHASH (1024) /* size of pointer analysis hash table (must be power of 2) */ 892*12720SWyllys.Ingersoll@Sun.COM # else 893*12720SWyllys.Ingersoll@Sun.COM # define SOAP_PTRHASH (32) 894*12720SWyllys.Ingersoll@Sun.COM # endif 895*12720SWyllys.Ingersoll@Sun.COM #endif 896*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_IDHASH 897*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 898*12720SWyllys.Ingersoll@Sun.COM # define SOAP_IDHASH (1999) /* prime size of hash table for parsed id/ref */ 899*12720SWyllys.Ingersoll@Sun.COM # else 900*12720SWyllys.Ingersoll@Sun.COM # define SOAP_IDHASH (19) /* 19, 199 */ 901*12720SWyllys.Ingersoll@Sun.COM # endif 902*12720SWyllys.Ingersoll@Sun.COM #endif 903*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_BLKLEN 904*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 905*12720SWyllys.Ingersoll@Sun.COM # define SOAP_BLKLEN (256) /* size of blocks to collect long strings and XML attributes */ 906*12720SWyllys.Ingersoll@Sun.COM # else 907*12720SWyllys.Ingersoll@Sun.COM # define SOAP_BLKLEN (32) 908*12720SWyllys.Ingersoll@Sun.COM # endif 909*12720SWyllys.Ingersoll@Sun.COM #endif 910*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_TAGLEN 911*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 912*12720SWyllys.Ingersoll@Sun.COM # define SOAP_TAGLEN (1024) /* maximum length of XML element tag/attribute name or host/path name + 1 */ 913*12720SWyllys.Ingersoll@Sun.COM # else 914*12720SWyllys.Ingersoll@Sun.COM # define SOAP_TAGLEN (64) 915*12720SWyllys.Ingersoll@Sun.COM # endif 916*12720SWyllys.Ingersoll@Sun.COM #endif 917*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_HDRLEN 918*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 919*12720SWyllys.Ingersoll@Sun.COM # define SOAP_HDRLEN (8192) /* maximum length of HTTP header line (must be >4096 to read cookies) */ 920*12720SWyllys.Ingersoll@Sun.COM # else 921*12720SWyllys.Ingersoll@Sun.COM # define SOAP_HDRLEN (1024) 922*12720SWyllys.Ingersoll@Sun.COM # endif 923*12720SWyllys.Ingersoll@Sun.COM #endif 924*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_MAXDIMS 925*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 926*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MAXDIMS (16) /* maximum array dimensions (array nestings) must be less than 64 to protect soap->tmpbuf */ 927*12720SWyllys.Ingersoll@Sun.COM # else 928*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MAXDIMS (4) 929*12720SWyllys.Ingersoll@Sun.COM # endif 930*12720SWyllys.Ingersoll@Sun.COM #endif 931*12720SWyllys.Ingersoll@Sun.COM 932*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_MAXLOGS 933*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MAXLOGS (3) /* max number of debug logs per struct soap environment */ 934*12720SWyllys.Ingersoll@Sun.COM # define SOAP_INDEX_RECV (0) 935*12720SWyllys.Ingersoll@Sun.COM # define SOAP_INDEX_SENT (1) 936*12720SWyllys.Ingersoll@Sun.COM # define SOAP_INDEX_TEST (2) 937*12720SWyllys.Ingersoll@Sun.COM #endif 938*12720SWyllys.Ingersoll@Sun.COM 939*12720SWyllys.Ingersoll@Sun.COM /* Max iterations in soap_serve() to keep server connection alive */ 940*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_MAXKEEPALIVE 941*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MAXKEEPALIVE (100) 942*12720SWyllys.Ingersoll@Sun.COM #endif 943*12720SWyllys.Ingersoll@Sun.COM 944*12720SWyllys.Ingersoll@Sun.COM /* Trusted max size of inbound SOAP array for compound array allocation. 945*12720SWyllys.Ingersoll@Sun.COM Increase if necessary to allow larger arrays. 946*12720SWyllys.Ingersoll@Sun.COM */ 947*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_MAXARRAYSIZE 948*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MAXARRAYSIZE (1000000) 949*12720SWyllys.Ingersoll@Sun.COM #endif 950*12720SWyllys.Ingersoll@Sun.COM 951*12720SWyllys.Ingersoll@Sun.COM #ifdef VXWORKS 952*12720SWyllys.Ingersoll@Sun.COM # ifdef WMW_RPM_IO 953*12720SWyllys.Ingersoll@Sun.COM # include "httpLib.h" 954*12720SWyllys.Ingersoll@Sun.COM # endif 955*12720SWyllys.Ingersoll@Sun.COM # ifdef __INCmathh 956*12720SWyllys.Ingersoll@Sun.COM # include <private/mathP.h> 957*12720SWyllys.Ingersoll@Sun.COM # ifndef HAVE_ISNAN 958*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 959*12720SWyllys.Ingersoll@Sun.COM # endif 960*12720SWyllys.Ingersoll@Sun.COM # ifndef soap_isnan 961*12720SWyllys.Ingersoll@Sun.COM # define soap_isnan(num) isNan(num) 962*12720SWyllys.Ingersoll@Sun.COM # endif 963*12720SWyllys.Ingersoll@Sun.COM # endif 964*12720SWyllys.Ingersoll@Sun.COM # ifdef WM_SECURE_KEY_STORAGE 965*12720SWyllys.Ingersoll@Sun.COM # include <ipcom_key_db.h> 966*12720SWyllys.Ingersoll@Sun.COM # endif 967*12720SWyllys.Ingersoll@Sun.COM #endif 968*12720SWyllys.Ingersoll@Sun.COM 969*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 970*12720SWyllys.Ingersoll@Sun.COM # include <float.h> 971*12720SWyllys.Ingersoll@Sun.COM # ifndef HAVE_ISNAN 972*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 973*12720SWyllys.Ingersoll@Sun.COM # endif 974*12720SWyllys.Ingersoll@Sun.COM # define soap_isnan(num) _isnan(num) 975*12720SWyllys.Ingersoll@Sun.COM #endif 976*12720SWyllys.Ingersoll@Sun.COM 977*12720SWyllys.Ingersoll@Sun.COM #ifdef SUN_OS 978*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 979*12720SWyllys.Ingersoll@Sun.COM #endif 980*12720SWyllys.Ingersoll@Sun.COM 981*12720SWyllys.Ingersoll@Sun.COM #ifdef __APPLE__ 982*12720SWyllys.Ingersoll@Sun.COM # ifdef __cplusplus 983*12720SWyllys.Ingersoll@Sun.COM # ifndef isnan 984*12720SWyllys.Ingersoll@Sun.COM extern "C" int isnan(double); 985*12720SWyllys.Ingersoll@Sun.COM # endif 986*12720SWyllys.Ingersoll@Sun.COM # endif 987*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 988*12720SWyllys.Ingersoll@Sun.COM #endif 989*12720SWyllys.Ingersoll@Sun.COM 990*12720SWyllys.Ingersoll@Sun.COM #if !defined(HAVE_ISNAN) && (defined(_MATH_H) || defined(_MATH_INCLUDED)) 991*12720SWyllys.Ingersoll@Sun.COM # define HAVE_ISNAN 992*12720SWyllys.Ingersoll@Sun.COM #endif 993*12720SWyllys.Ingersoll@Sun.COM 994*12720SWyllys.Ingersoll@Sun.COM extern const struct soap_double_nan { unsigned int n1, n2; } soap_double_nan; 995*12720SWyllys.Ingersoll@Sun.COM 996*12720SWyllys.Ingersoll@Sun.COM #ifdef VXWORKS 997*12720SWyllys.Ingersoll@Sun.COM # ifndef FLT_MAX 998*12720SWyllys.Ingersoll@Sun.COM # define FLT_MAX _ARCH_FLT_MAX 999*12720SWyllys.Ingersoll@Sun.COM # endif 1000*12720SWyllys.Ingersoll@Sun.COM # ifndef DBL_MAX 1001*12720SWyllys.Ingersoll@Sun.COM # define DBL_MAX _ARCH_DBL_MAX 1002*12720SWyllys.Ingersoll@Sun.COM # endif 1003*12720SWyllys.Ingersoll@Sun.COM #endif 1004*12720SWyllys.Ingersoll@Sun.COM 1005*12720SWyllys.Ingersoll@Sun.COM #ifndef FLT_NAN 1006*12720SWyllys.Ingersoll@Sun.COM # define FLT_NAN (*(float*)(void*)&soap_double_nan) 1007*12720SWyllys.Ingersoll@Sun.COM #endif 1008*12720SWyllys.Ingersoll@Sun.COM 1009*12720SWyllys.Ingersoll@Sun.COM #ifndef FLT_PINFTY 1010*12720SWyllys.Ingersoll@Sun.COM # if defined(FLT_MAX) 1011*12720SWyllys.Ingersoll@Sun.COM # define FLT_PINFTY FLT_MAX 1012*12720SWyllys.Ingersoll@Sun.COM # elif defined(HUGE_VALF) 1013*12720SWyllys.Ingersoll@Sun.COM # define FLT_PINFTY (float)HUGE_VALF 1014*12720SWyllys.Ingersoll@Sun.COM # elif defined(HUGE_VAL) 1015*12720SWyllys.Ingersoll@Sun.COM # define FLT_PINFTY (float)HUGE_VAL 1016*12720SWyllys.Ingersoll@Sun.COM # elif defined(FLOAT_MAX) 1017*12720SWyllys.Ingersoll@Sun.COM # define FLT_PINFTY FLOAT_MAX 1018*12720SWyllys.Ingersoll@Sun.COM # else 1019*12720SWyllys.Ingersoll@Sun.COM # define FLT_PINFTY (3.40282347e+38F) 1020*12720SWyllys.Ingersoll@Sun.COM # endif 1021*12720SWyllys.Ingersoll@Sun.COM #endif 1022*12720SWyllys.Ingersoll@Sun.COM 1023*12720SWyllys.Ingersoll@Sun.COM #ifndef FLT_NINFTY 1024*12720SWyllys.Ingersoll@Sun.COM # define FLT_NINFTY (-FLT_PINFTY) 1025*12720SWyllys.Ingersoll@Sun.COM #endif 1026*12720SWyllys.Ingersoll@Sun.COM 1027*12720SWyllys.Ingersoll@Sun.COM #ifndef DBL_NAN 1028*12720SWyllys.Ingersoll@Sun.COM # define DBL_NAN (*(double*)(void*)&soap_double_nan) 1029*12720SWyllys.Ingersoll@Sun.COM #endif 1030*12720SWyllys.Ingersoll@Sun.COM 1031*12720SWyllys.Ingersoll@Sun.COM #ifndef DBL_PINFTY 1032*12720SWyllys.Ingersoll@Sun.COM # if defined(DBL_MAX) 1033*12720SWyllys.Ingersoll@Sun.COM # define DBL_PINFTY DBL_MAX 1034*12720SWyllys.Ingersoll@Sun.COM # elif defined(HUGE_VALF) 1035*12720SWyllys.Ingersoll@Sun.COM # define DBL_PINFTY (double)HUGE_VALF 1036*12720SWyllys.Ingersoll@Sun.COM # elif defined(HUGE_VAL) 1037*12720SWyllys.Ingersoll@Sun.COM # define DBL_PINFTY (double)HUGE_VAL 1038*12720SWyllys.Ingersoll@Sun.COM # elif defined(DOUBLE_MAX) 1039*12720SWyllys.Ingersoll@Sun.COM # define DBL_PINFTY DOUBLE_MAX 1040*12720SWyllys.Ingersoll@Sun.COM # else 1041*12720SWyllys.Ingersoll@Sun.COM # define DBL_PINFTY (1.7976931348623157e+308) 1042*12720SWyllys.Ingersoll@Sun.COM # endif 1043*12720SWyllys.Ingersoll@Sun.COM #endif 1044*12720SWyllys.Ingersoll@Sun.COM 1045*12720SWyllys.Ingersoll@Sun.COM #ifndef DBL_NINFTY 1046*12720SWyllys.Ingersoll@Sun.COM # define DBL_NINFTY (-DBL_PINFTY) 1047*12720SWyllys.Ingersoll@Sun.COM #endif 1048*12720SWyllys.Ingersoll@Sun.COM 1049*12720SWyllys.Ingersoll@Sun.COM #ifndef soap_isnan 1050*12720SWyllys.Ingersoll@Sun.COM # ifdef HAVE_ISNAN 1051*12720SWyllys.Ingersoll@Sun.COM # define soap_isnan(n) isnan(n) 1052*12720SWyllys.Ingersoll@Sun.COM # else 1053*12720SWyllys.Ingersoll@Sun.COM # define soap_isnan(n) (0) 1054*12720SWyllys.Ingersoll@Sun.COM # endif 1055*12720SWyllys.Ingersoll@Sun.COM #endif 1056*12720SWyllys.Ingersoll@Sun.COM 1057*12720SWyllys.Ingersoll@Sun.COM #define soap_ispinfd(n) ((n) >= DBL_PINFTY) 1058*12720SWyllys.Ingersoll@Sun.COM #define soap_ispinff(n) ((n) >= FLT_PINFTY) 1059*12720SWyllys.Ingersoll@Sun.COM #define soap_isninfd(n) ((n) <= DBL_NINFTY) 1060*12720SWyllys.Ingersoll@Sun.COM #define soap_isninff(n) ((n) <= FLT_NINFTY) 1061*12720SWyllys.Ingersoll@Sun.COM 1062*12720SWyllys.Ingersoll@Sun.COM /* gSOAP error codes */ 1063*12720SWyllys.Ingersoll@Sun.COM 1064*12720SWyllys.Ingersoll@Sun.COM #define SOAP_EOF EOF 1065*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ERR EOF 1066*12720SWyllys.Ingersoll@Sun.COM #define SOAP_OK 0 1067*12720SWyllys.Ingersoll@Sun.COM #define SOAP_CLI_FAULT 1 1068*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SVR_FAULT 2 1069*12720SWyllys.Ingersoll@Sun.COM #define SOAP_TAG_MISMATCH 3 1070*12720SWyllys.Ingersoll@Sun.COM #define SOAP_TYPE 4 1071*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SYNTAX_ERROR 5 1072*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NO_TAG 6 1073*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IOB 7 1074*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MUSTUNDERSTAND 8 1075*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NAMESPACE 9 1076*12720SWyllys.Ingersoll@Sun.COM #define SOAP_USER_ERROR 10 1077*12720SWyllys.Ingersoll@Sun.COM #define SOAP_FATAL_ERROR 11 1078*12720SWyllys.Ingersoll@Sun.COM #define SOAP_FAULT 12 1079*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NO_METHOD 13 1080*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NO_DATA 14 1081*12720SWyllys.Ingersoll@Sun.COM #define SOAP_GET_METHOD 15 1082*12720SWyllys.Ingersoll@Sun.COM #define SOAP_PUT_METHOD 16 1083*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DEL_METHOD 17 1084*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HEAD_METHOD 18 1085*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HTTP_METHOD 19 1086*12720SWyllys.Ingersoll@Sun.COM #define SOAP_EOM 20 1087*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MOE 21 1088*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HDR 22 1089*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NULL 23 1090*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DUPLICATE_ID 24 1091*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MISSING_ID 25 1092*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HREF 26 1093*12720SWyllys.Ingersoll@Sun.COM #define SOAP_UDP_ERROR 27 1094*12720SWyllys.Ingersoll@Sun.COM #define SOAP_TCP_ERROR 28 1095*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HTTP_ERROR 29 1096*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_ERROR 30 1097*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ZLIB_ERROR 31 1098*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_ERROR 32 1099*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_HREF 33 1100*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_MISMATCH 34 1101*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_END 35 1102*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MIME_ERROR 36 1103*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MIME_HREF 37 1104*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MIME_END 38 1105*12720SWyllys.Ingersoll@Sun.COM #define SOAP_VERSIONMISMATCH 39 1106*12720SWyllys.Ingersoll@Sun.COM #define SOAP_PLUGIN_ERROR 40 1107*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DATAENCODINGUNKNOWN 41 1108*12720SWyllys.Ingersoll@Sun.COM #define SOAP_REQUIRED 42 1109*12720SWyllys.Ingersoll@Sun.COM #define SOAP_PROHIBITED 43 1110*12720SWyllys.Ingersoll@Sun.COM #define SOAP_OCCURS 44 1111*12720SWyllys.Ingersoll@Sun.COM #define SOAP_LENGTH 45 1112*12720SWyllys.Ingersoll@Sun.COM #define SOAP_FD_EXCEEDED 46 1113*12720SWyllys.Ingersoll@Sun.COM 1114*12720SWyllys.Ingersoll@Sun.COM #define soap_xml_error_check(e) ((e) == SOAP_TAG_MISMATCH || (e) == SOAP_NO_TAG || (e) == SOAP_SYNTAX_ERROR || (e) == SOAP_NAMESPACE || (e) == SOAP_DUPLICATE_ID || (e) == SOAP_MISSING_ID || (e) == SOAP_REQUIRED || (e) == SOAP_PROHIBITED || (e) == SOAP_OCCURS || (e) == SOAP_LENGTH || (e) == SOAP_NULL || (e) == SOAP_HREF) 1115*12720SWyllys.Ingersoll@Sun.COM #define soap_soap_error_check(e) ((e) == SOAP_CLI_FAULT || (e) == SOAP_SVR_FAULT || (e) == SOAP_VERSIONMISMATCH || (e) == SOAP_MUSTUNDERSTAND || (e) == SOAP_FAULT || (e) == SOAP_NO_METHOD) 1116*12720SWyllys.Ingersoll@Sun.COM #define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR) 1117*12720SWyllys.Ingersoll@Sun.COM #define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR) 1118*12720SWyllys.Ingersoll@Sun.COM #define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR) 1119*12720SWyllys.Ingersoll@Sun.COM #define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_NO_DATA || ((e) >= SOAP_GET_METHOD && (e) <= SOAP_HTTP_METHOD) || ((e) >= 100 && (e) < 600)) 1120*12720SWyllys.Ingersoll@Sun.COM 1121*12720SWyllys.Ingersoll@Sun.COM /* gSOAP HTTP response status codes 100 to 599 are reserved */ 1122*12720SWyllys.Ingersoll@Sun.COM 1123*12720SWyllys.Ingersoll@Sun.COM /* Codes 600 to 999 are user definable */ 1124*12720SWyllys.Ingersoll@Sun.COM 1125*12720SWyllys.Ingersoll@Sun.COM /* Exceptional gSOAP HTTP server response status codes >= 1000 */ 1126*12720SWyllys.Ingersoll@Sun.COM 1127*12720SWyllys.Ingersoll@Sun.COM #define SOAP_STOP 1000 /* No HTTP response */ 1128*12720SWyllys.Ingersoll@Sun.COM #define SOAP_FORM 1001 /* Form request/response */ 1129*12720SWyllys.Ingersoll@Sun.COM #define SOAP_HTML 1002 /* Custom HTML response */ 1130*12720SWyllys.Ingersoll@Sun.COM #define SOAP_FILE 1003 /* Custom file-based response */ 1131*12720SWyllys.Ingersoll@Sun.COM 1132*12720SWyllys.Ingersoll@Sun.COM /* gSOAP HTTP method codes (client) */ 1133*12720SWyllys.Ingersoll@Sun.COM 1134*12720SWyllys.Ingersoll@Sun.COM #define SOAP_POST 2000 /* POST request */ 1135*12720SWyllys.Ingersoll@Sun.COM #define SOAP_POST_FILE 2001 /* Custom file-based POST request */ 1136*12720SWyllys.Ingersoll@Sun.COM #define SOAP_GET 2002 /* GET request */ 1137*12720SWyllys.Ingersoll@Sun.COM 1138*12720SWyllys.Ingersoll@Sun.COM /* gSOAP DIME */ 1139*12720SWyllys.Ingersoll@Sun.COM 1140*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_CF 0x01 1141*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_ME 0x02 1142*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_MB 0x04 1143*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_VERSION 0x08 /* DIME version 1 */ 1144*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_MEDIA 0x10 1145*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DIME_ABSURI 0x20 1146*12720SWyllys.Ingersoll@Sun.COM 1147*12720SWyllys.Ingersoll@Sun.COM /* gSOAP ZLIB */ 1148*12720SWyllys.Ingersoll@Sun.COM 1149*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ZLIB_NONE 0x00 1150*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ZLIB_DEFLATE 0x01 1151*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ZLIB_INFLATE 0x02 1152*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ZLIB_GZIP 0x02 1153*12720SWyllys.Ingersoll@Sun.COM 1154*12720SWyllys.Ingersoll@Sun.COM /* gSOAP transport, connection, and content encoding modes */ 1155*12720SWyllys.Ingersoll@Sun.COM 1156*12720SWyllys.Ingersoll@Sun.COM typedef soap_int32 soap_mode; 1157*12720SWyllys.Ingersoll@Sun.COM 1158*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO 0x00000003 /* IO mask */ 1159*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_FLUSH 0x00000000 /* flush output immediately, no buffering */ 1160*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_BUFFER 0x00000001 /* buffer output in packets of size SOAP_BUFLEN */ 1161*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_STORE 0x00000002 /* store entire output to determine length for transport */ 1162*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_CHUNK 0x00000003 /* use HTTP chunked transfer AND buffer packets */ 1163*12720SWyllys.Ingersoll@Sun.COM 1164*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_UDP 0x00000004 /* TCP or UDP */ 1165*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_LENGTH 0x00000008 /* calc message length (internal) */ 1166*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IO_KEEPALIVE 0x00000010 /* keep connection alive */ 1167*12720SWyllys.Ingersoll@Sun.COM 1168*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC 0x00000FFF /* IO and ENC mask */ 1169*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_LATIN 0x00000020 /* in: accept iso-8859-1 */ 1170*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_XML 0x00000040 /* out: plain XML encoding, no HTTP header */ 1171*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_DIME 0x00000080 1172*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_MIME 0x00000100 1173*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_MTOM 0x00000200 1174*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_ZLIB 0x00000400 1175*12720SWyllys.Ingersoll@Sun.COM #define SOAP_ENC_SSL 0x00000800 1176*12720SWyllys.Ingersoll@Sun.COM 1177*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_STRICT 0x00001000 /* in: strict validation */ 1178*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_INDENT 0x00002000 /* out: emit indented XML */ 1179*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_IGNORENS 0x00004000 /* in: ignore namespaces */ 1180*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_DEFAULTNS 0x00008000 /* out: emit xmlns="..." */ 1181*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_CANONICAL 0x00010000 /* out: excC14N canonical XML */ 1182*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_TREE 0x00020000 /* out: XML tree (no id/ref) */ 1183*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_GRAPH 0x00040000 /* see DOM manual */ 1184*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_NIL 0x00080000 /* out: NULLs as xsi:nil */ 1185*12720SWyllys.Ingersoll@Sun.COM 1186*12720SWyllys.Ingersoll@Sun.COM #define SOAP_C_NOIOB 0x00100000 /* don't fault on array index out of bounds (just ignore) */ 1187*12720SWyllys.Ingersoll@Sun.COM #define SOAP_C_UTFSTRING 0x00200000 /* (de)serialize strings with UTF8 content */ 1188*12720SWyllys.Ingersoll@Sun.COM #define SOAP_C_MBSTRING 0x00400000 /* (de)serialize strings with multi-byte content */ 1189*12720SWyllys.Ingersoll@Sun.COM #define SOAP_C_NILSTRING 0x00800000 /* serialize empty strings as nil (omitted) */ 1190*12720SWyllys.Ingersoll@Sun.COM 1191*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_DOM 0x01000000 1192*12720SWyllys.Ingersoll@Sun.COM 1193*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DOM_TREE 0x02000000 1194*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DOM_NODE 0x04000000 1195*12720SWyllys.Ingersoll@Sun.COM #define SOAP_DOM_ASIS 0x08000000 1196*12720SWyllys.Ingersoll@Sun.COM 1197*12720SWyllys.Ingersoll@Sun.COM #define SOAP_MIME_POSTCHECK 0x10000000 /* MIME flag (internal) */ 1198*12720SWyllys.Ingersoll@Sun.COM 1199*12720SWyllys.Ingersoll@Sun.COM #define SOAP_XML_SEC 0x80000000 /* reserved for WS security */ 1200*12720SWyllys.Ingersoll@Sun.COM 1201*12720SWyllys.Ingersoll@Sun.COM /* WITH_XMLNS backward compatibility: always use XML default namespaces */ 1202*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_XMLNS 1203*12720SWyllys.Ingersoll@Sun.COM # define SOAP_IO_DEFAULT (SOAP_IO_FLUSH | SOAP_XML_DEFAULTNS) 1204*12720SWyllys.Ingersoll@Sun.COM #else 1205*12720SWyllys.Ingersoll@Sun.COM # define SOAP_IO_DEFAULT SOAP_IO_FLUSH 1206*12720SWyllys.Ingersoll@Sun.COM #endif 1207*12720SWyllys.Ingersoll@Sun.COM 1208*12720SWyllys.Ingersoll@Sun.COM /* SSL client/server authentication settings */ 1209*12720SWyllys.Ingersoll@Sun.COM 1210*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_NO_AUTHENTICATION 0x00 /* for testing purposes */ 1211*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION 0x01 /* client requires server to authenticate */ 1212*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION 0x02 /* server requires client to authenticate */ 1213*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_SKIP_HOST_CHECK 0x04 /* client does not check the common name of the host in certificate */ 1214*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE 0x08 /* client does not check the expiration date of the host certificate */ 1215*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_NO_DEFAULT_CA_PATH 0x10 /* don't use default_verify_paths */ 1216*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_RSA 0x20 /* use RSA */ 1217*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSLv3 0x40 /* SSL v3 only */ 1218*12720SWyllys.Ingersoll@Sun.COM #define SOAP_TLSv1 0x80 /* TLS v1 only */ 1219*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSLv3_TLSv1 0x00 /* SSL v3 and TLS v1 support by default (no SSL v1/v2) */ 1220*12720SWyllys.Ingersoll@Sun.COM 1221*12720SWyllys.Ingersoll@Sun.COM #define SOAP_SSL_DEFAULT (SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION | SOAP_SSLv3_TLSv1) 1222*12720SWyllys.Ingersoll@Sun.COM 1223*12720SWyllys.Ingersoll@Sun.COM /* state */ 1224*12720SWyllys.Ingersoll@Sun.COM 1225*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NONE 0 1226*12720SWyllys.Ingersoll@Sun.COM #define SOAP_INIT 1 1227*12720SWyllys.Ingersoll@Sun.COM #define SOAP_COPY 2 1228*12720SWyllys.Ingersoll@Sun.COM 1229*12720SWyllys.Ingersoll@Sun.COM #define soap_check_state(soap) (!(soap) || ((soap)->state != SOAP_INIT && (soap)->state != SOAP_COPY)) 1230*12720SWyllys.Ingersoll@Sun.COM 1231*12720SWyllys.Ingersoll@Sun.COM /* part */ 1232*12720SWyllys.Ingersoll@Sun.COM 1233*12720SWyllys.Ingersoll@Sun.COM #define SOAP_BEGIN 0 1234*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IN_ENVELOPE 2 1235*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IN_HEADER 3 1236*12720SWyllys.Ingersoll@Sun.COM #define SOAP_END_HEADER 4 1237*12720SWyllys.Ingersoll@Sun.COM #define SOAP_NO_BODY 5 1238*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IN_BODY 6 1239*12720SWyllys.Ingersoll@Sun.COM #define SOAP_END_BODY 7 1240*12720SWyllys.Ingersoll@Sun.COM #define SOAP_END_ENVELOPE 8 1241*12720SWyllys.Ingersoll@Sun.COM #define SOAP_END 9 1242*12720SWyllys.Ingersoll@Sun.COM #define SOAP_BEGIN_SECURITY 10 1243*12720SWyllys.Ingersoll@Sun.COM #define SOAP_IN_SECURITY 11 1244*12720SWyllys.Ingersoll@Sun.COM #define SOAP_END_SECURITY 12 1245*12720SWyllys.Ingersoll@Sun.COM 1246*12720SWyllys.Ingersoll@Sun.COM /* DEBUG macros */ 1247*12720SWyllys.Ingersoll@Sun.COM 1248*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 1249*12720SWyllys.Ingersoll@Sun.COM # ifdef DEBUG 1250*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_DEBUG 1251*12720SWyllys.Ingersoll@Sun.COM # define SOAP_DEBUG 1252*12720SWyllys.Ingersoll@Sun.COM # endif 1253*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_MEM_DEBUG 1254*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MEM_DEBUG 1255*12720SWyllys.Ingersoll@Sun.COM # endif 1256*12720SWyllys.Ingersoll@Sun.COM # endif 1257*12720SWyllys.Ingersoll@Sun.COM #endif 1258*12720SWyllys.Ingersoll@Sun.COM 1259*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_MEM_DEBUG 1260*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_MALLOC 1261*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MALLOC(soap, size) soap_track_malloc(soap, __FILE__, __LINE__, size) 1262*12720SWyllys.Ingersoll@Sun.COM # endif 1263*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_FREE 1264*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FREE(soap, ptr) soap_track_free(soap, __FILE__, __LINE__, ptr) 1265*12720SWyllys.Ingersoll@Sun.COM # endif 1266*12720SWyllys.Ingersoll@Sun.COM #endif 1267*12720SWyllys.Ingersoll@Sun.COM 1268*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_MALLOC /* use libc malloc */ 1269*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MALLOC(soap, size) malloc(size) 1270*12720SWyllys.Ingersoll@Sun.COM #endif 1271*12720SWyllys.Ingersoll@Sun.COM 1272*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_FREE /* use libc free */ 1273*12720SWyllys.Ingersoll@Sun.COM # define SOAP_FREE(soap, ptr) free(ptr) 1274*12720SWyllys.Ingersoll@Sun.COM #endif 1275*12720SWyllys.Ingersoll@Sun.COM 1276*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_NEW /* use C++ new operator */ 1277*12720SWyllys.Ingersoll@Sun.COM # if __GNUC__ < 2 1278*12720SWyllys.Ingersoll@Sun.COM # define SOAP_NEW(type) new type /* old form w/o parenthesis */ 1279*12720SWyllys.Ingersoll@Sun.COM # else 1280*12720SWyllys.Ingersoll@Sun.COM # define SOAP_NEW(type) new (type) /* with parenthesis */ 1281*12720SWyllys.Ingersoll@Sun.COM # endif 1282*12720SWyllys.Ingersoll@Sun.COM #endif 1283*12720SWyllys.Ingersoll@Sun.COM 1284*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_NEW_COPY /* use C++ new operator for ::copy() */ 1285*12720SWyllys.Ingersoll@Sun.COM # define SOAP_NEW_COPY(clas) new clas 1286*12720SWyllys.Ingersoll@Sun.COM #endif 1287*12720SWyllys.Ingersoll@Sun.COM 1288*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_DELETE /* use C++ delete operator */ 1289*12720SWyllys.Ingersoll@Sun.COM # define SOAP_DELETE(obj) delete obj 1290*12720SWyllys.Ingersoll@Sun.COM #endif 1291*12720SWyllys.Ingersoll@Sun.COM 1292*12720SWyllys.Ingersoll@Sun.COM #ifndef SOAP_DELETE_ARRAY /* use C++ delete[] operator */ 1293*12720SWyllys.Ingersoll@Sun.COM # define SOAP_DELETE_ARRAY(obj) delete[] obj 1294*12720SWyllys.Ingersoll@Sun.COM #endif 1295*12720SWyllys.Ingersoll@Sun.COM 1296*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_DEBUG 1297*12720SWyllys.Ingersoll@Sun.COM # ifndef SOAP_MESSAGE 1298*12720SWyllys.Ingersoll@Sun.COM # define SOAP_MESSAGE fprintf 1299*12720SWyllys.Ingersoll@Sun.COM # endif 1300*12720SWyllys.Ingersoll@Sun.COM # ifndef DBGLOG 1301*12720SWyllys.Ingersoll@Sun.COM # define DBGLOG(DBGFILE, CMD) \ 1302*12720SWyllys.Ingersoll@Sun.COM { if (soap)\ 1303*12720SWyllys.Ingersoll@Sun.COM { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1304*12720SWyllys.Ingersoll@Sun.COM soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\ 1305*12720SWyllys.Ingersoll@Sun.COM if (soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1306*12720SWyllys.Ingersoll@Sun.COM { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\ 1307*12720SWyllys.Ingersoll@Sun.COM CMD;\ 1308*12720SWyllys.Ingersoll@Sun.COM fflush(fdebug);\ 1309*12720SWyllys.Ingersoll@Sun.COM }\ 1310*12720SWyllys.Ingersoll@Sun.COM }\ 1311*12720SWyllys.Ingersoll@Sun.COM } 1312*12720SWyllys.Ingersoll@Sun.COM # endif 1313*12720SWyllys.Ingersoll@Sun.COM # ifndef DBGMSG 1314*12720SWyllys.Ingersoll@Sun.COM # define DBGMSG(DBGFILE, MSG, LEN) \ 1315*12720SWyllys.Ingersoll@Sun.COM { if (soap)\ 1316*12720SWyllys.Ingersoll@Sun.COM { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1317*12720SWyllys.Ingersoll@Sun.COM soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\ 1318*12720SWyllys.Ingersoll@Sun.COM if (soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1319*12720SWyllys.Ingersoll@Sun.COM { fwrite((MSG), 1, (LEN), soap->fdebug[SOAP_INDEX_##DBGFILE]);\ 1320*12720SWyllys.Ingersoll@Sun.COM fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\ 1321*12720SWyllys.Ingersoll@Sun.COM }\ 1322*12720SWyllys.Ingersoll@Sun.COM }\ 1323*12720SWyllys.Ingersoll@Sun.COM } 1324*12720SWyllys.Ingersoll@Sun.COM # endif 1325*12720SWyllys.Ingersoll@Sun.COM # ifndef DBGFUN 1326*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN(FNAME) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s()\n", __FILE__, __LINE__, FNAME)) 1327*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT")\n", __FILE__, __LINE__, FNAME, (ARG))) 1328*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT1", "FMT2")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2))) 1329*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT1", "FMT2", "FMT3")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2), (ARG3))) 1330*12720SWyllys.Ingersoll@Sun.COM # endif 1331*12720SWyllys.Ingersoll@Sun.COM # ifndef DBGHEX 1332*12720SWyllys.Ingersoll@Sun.COM # define DBGHEX(DBGFILE, MSG, LEN) \ 1333*12720SWyllys.Ingersoll@Sun.COM { if (soap)\ 1334*12720SWyllys.Ingersoll@Sun.COM { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1335*12720SWyllys.Ingersoll@Sun.COM soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\ 1336*12720SWyllys.Ingersoll@Sun.COM if (soap->fdebug[SOAP_INDEX_##DBGFILE])\ 1337*12720SWyllys.Ingersoll@Sun.COM { int i; char *s;\ 1338*12720SWyllys.Ingersoll@Sun.COM for (s = (char*)(MSG), i = (LEN); i; i--)\ 1339*12720SWyllys.Ingersoll@Sun.COM fprintf(soap->fdebug[SOAP_INDEX_##DBGFILE], "%2.2X ", (int)*s++&0xFF);\ 1340*12720SWyllys.Ingersoll@Sun.COM fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\ 1341*12720SWyllys.Ingersoll@Sun.COM }\ 1342*12720SWyllys.Ingersoll@Sun.COM }\ 1343*12720SWyllys.Ingersoll@Sun.COM } 1344*12720SWyllys.Ingersoll@Sun.COM # endif 1345*12720SWyllys.Ingersoll@Sun.COM #else 1346*12720SWyllys.Ingersoll@Sun.COM # define DBGLOG(DBGFILE, CMD) 1347*12720SWyllys.Ingersoll@Sun.COM # define DBGMSG(DBGFILE, MSG, LEN) 1348*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN(FNAME) 1349*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN1(FNAME, FMT, ARG) 1350*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) 1351*12720SWyllys.Ingersoll@Sun.COM # define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) 1352*12720SWyllys.Ingersoll@Sun.COM # define DBGHEX(DBGFILE, MSG, LEN) 1353*12720SWyllys.Ingersoll@Sun.COM #endif 1354*12720SWyllys.Ingersoll@Sun.COM 1355*12720SWyllys.Ingersoll@Sun.COM /* UCS-4 requires 32 bits (0-7FFFFFFF, the sign bit is used by gSOAP to distinguish XML entities) */ 1356*12720SWyllys.Ingersoll@Sun.COM typedef soap_int32 soap_wchar; 1357*12720SWyllys.Ingersoll@Sun.COM 1358*12720SWyllys.Ingersoll@Sun.COM /* namespace table row */ 1359*12720SWyllys.Ingersoll@Sun.COM struct Namespace 1360*12720SWyllys.Ingersoll@Sun.COM { const char *id; 1361*12720SWyllys.Ingersoll@Sun.COM const char *ns; 1362*12720SWyllys.Ingersoll@Sun.COM const char *in; 1363*12720SWyllys.Ingersoll@Sun.COM char *out; 1364*12720SWyllys.Ingersoll@Sun.COM }; 1365*12720SWyllys.Ingersoll@Sun.COM 1366*12720SWyllys.Ingersoll@Sun.COM /* namespace stack */ 1367*12720SWyllys.Ingersoll@Sun.COM struct soap_nlist 1368*12720SWyllys.Ingersoll@Sun.COM { struct soap_nlist *next; 1369*12720SWyllys.Ingersoll@Sun.COM unsigned int level; /* nesting depth level */ 1370*12720SWyllys.Ingersoll@Sun.COM short index; /* corresponding entry in ns mapping table */ 1371*12720SWyllys.Ingersoll@Sun.COM const char *ns; /* only set when parsed ns URI is not in the ns mapping table */ 1372*12720SWyllys.Ingersoll@Sun.COM char id[1]; /* the actual string value flows into the allocated region below this struct */ 1373*12720SWyllys.Ingersoll@Sun.COM }; 1374*12720SWyllys.Ingersoll@Sun.COM 1375*12720SWyllys.Ingersoll@Sun.COM /* block stack for nested block allocations */ 1376*12720SWyllys.Ingersoll@Sun.COM struct soap_blist 1377*12720SWyllys.Ingersoll@Sun.COM { struct soap_blist *next; 1378*12720SWyllys.Ingersoll@Sun.COM char *ptr; 1379*12720SWyllys.Ingersoll@Sun.COM size_t size; 1380*12720SWyllys.Ingersoll@Sun.COM }; 1381*12720SWyllys.Ingersoll@Sun.COM 1382*12720SWyllys.Ingersoll@Sun.COM /* array layout */ 1383*12720SWyllys.Ingersoll@Sun.COM struct soap_array 1384*12720SWyllys.Ingersoll@Sun.COM { void *__ptr; 1385*12720SWyllys.Ingersoll@Sun.COM int __size; 1386*12720SWyllys.Ingersoll@Sun.COM }; 1387*12720SWyllys.Ingersoll@Sun.COM 1388*12720SWyllys.Ingersoll@Sun.COM /* pointer serialization management */ 1389*12720SWyllys.Ingersoll@Sun.COM struct soap_plist 1390*12720SWyllys.Ingersoll@Sun.COM { struct soap_plist *next; 1391*12720SWyllys.Ingersoll@Sun.COM const void *ptr; 1392*12720SWyllys.Ingersoll@Sun.COM const struct soap_array *array; 1393*12720SWyllys.Ingersoll@Sun.COM int type; 1394*12720SWyllys.Ingersoll@Sun.COM int id; 1395*12720SWyllys.Ingersoll@Sun.COM char mark1; 1396*12720SWyllys.Ingersoll@Sun.COM char mark2; 1397*12720SWyllys.Ingersoll@Sun.COM }; 1398*12720SWyllys.Ingersoll@Sun.COM 1399*12720SWyllys.Ingersoll@Sun.COM /* block allocation for pointer serialization management */ 1400*12720SWyllys.Ingersoll@Sun.COM struct soap_pblk 1401*12720SWyllys.Ingersoll@Sun.COM { struct soap_pblk *next; 1402*12720SWyllys.Ingersoll@Sun.COM struct soap_plist plist[SOAP_PTRBLK]; 1403*12720SWyllys.Ingersoll@Sun.COM }; 1404*12720SWyllys.Ingersoll@Sun.COM 1405*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_MEM_DEBUG 1406*12720SWyllys.Ingersoll@Sun.COM /* malloc/free tracking for debugging */ 1407*12720SWyllys.Ingersoll@Sun.COM struct soap_mlist 1408*12720SWyllys.Ingersoll@Sun.COM { struct soap_mlist *next; 1409*12720SWyllys.Ingersoll@Sun.COM const void *ptr; 1410*12720SWyllys.Ingersoll@Sun.COM const char *file; 1411*12720SWyllys.Ingersoll@Sun.COM int line; 1412*12720SWyllys.Ingersoll@Sun.COM short live; 1413*12720SWyllys.Ingersoll@Sun.COM }; 1414*12720SWyllys.Ingersoll@Sun.COM #endif 1415*12720SWyllys.Ingersoll@Sun.COM 1416*12720SWyllys.Ingersoll@Sun.COM /* class allocation list */ 1417*12720SWyllys.Ingersoll@Sun.COM struct soap_clist 1418*12720SWyllys.Ingersoll@Sun.COM { struct soap_clist *next; 1419*12720SWyllys.Ingersoll@Sun.COM void *ptr; 1420*12720SWyllys.Ingersoll@Sun.COM int type; 1421*12720SWyllys.Ingersoll@Sun.COM int size; 1422*12720SWyllys.Ingersoll@Sun.COM int (*fdelete)(struct soap_clist*); 1423*12720SWyllys.Ingersoll@Sun.COM }; 1424*12720SWyllys.Ingersoll@Sun.COM 1425*12720SWyllys.Ingersoll@Sun.COM /* attributes */ 1426*12720SWyllys.Ingersoll@Sun.COM struct soap_attribute 1427*12720SWyllys.Ingersoll@Sun.COM { struct soap_attribute *next; 1428*12720SWyllys.Ingersoll@Sun.COM short flag; /* soap_set_attr: 1 = normal, 2 = utf content */ 1429*12720SWyllys.Ingersoll@Sun.COM char *value; 1430*12720SWyllys.Ingersoll@Sun.COM size_t size; 1431*12720SWyllys.Ingersoll@Sun.COM char *ns; 1432*12720SWyllys.Ingersoll@Sun.COM short visible; 1433*12720SWyllys.Ingersoll@Sun.COM char name[1]; /* the actual name string flows into the allocated region below this struct */ 1434*12720SWyllys.Ingersoll@Sun.COM }; 1435*12720SWyllys.Ingersoll@Sun.COM 1436*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 1437*12720SWyllys.Ingersoll@Sun.COM struct soap_cookie 1438*12720SWyllys.Ingersoll@Sun.COM { struct soap_cookie *next; 1439*12720SWyllys.Ingersoll@Sun.COM char *name; 1440*12720SWyllys.Ingersoll@Sun.COM char *value; 1441*12720SWyllys.Ingersoll@Sun.COM char *domain; 1442*12720SWyllys.Ingersoll@Sun.COM char *path; 1443*12720SWyllys.Ingersoll@Sun.COM time_t expire; /* client-side: local time to expire */ 1444*12720SWyllys.Ingersoll@Sun.COM long maxage; /* server-side: seconds to expire */ 1445*12720SWyllys.Ingersoll@Sun.COM unsigned int version; 1446*12720SWyllys.Ingersoll@Sun.COM short secure; 1447*12720SWyllys.Ingersoll@Sun.COM short session; /* server-side */ 1448*12720SWyllys.Ingersoll@Sun.COM short env; /* server-side: got cookie from client and should not be (re)send */ 1449*12720SWyllys.Ingersoll@Sun.COM short modified; /* server-side: client cookie was modified and should be send */ 1450*12720SWyllys.Ingersoll@Sun.COM }; 1451*12720SWyllys.Ingersoll@Sun.COM #endif 1452*12720SWyllys.Ingersoll@Sun.COM 1453*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_next_multipart(struct soap_multipart*); 1454*12720SWyllys.Ingersoll@Sun.COM 1455*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1456*12720SWyllys.Ingersoll@Sun.COM 1457*12720SWyllys.Ingersoll@Sun.COM class soap_multipart_iterator 1458*12720SWyllys.Ingersoll@Sun.COM { public: 1459*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart *content; 1460*12720SWyllys.Ingersoll@Sun.COM bool operator==(const soap_multipart_iterator& iter) const 1461*12720SWyllys.Ingersoll@Sun.COM { return (bool)(content == iter.content); } 1462*12720SWyllys.Ingersoll@Sun.COM bool operator!=(const soap_multipart_iterator& iter) const 1463*12720SWyllys.Ingersoll@Sun.COM { return (bool)(content != iter.content); } 1464*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart &operator*() const 1465*12720SWyllys.Ingersoll@Sun.COM { return *content; } 1466*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator &operator++() 1467*12720SWyllys.Ingersoll@Sun.COM { content = soap_next_multipart(content); return *this; } 1468*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator() : content(NULL) 1469*12720SWyllys.Ingersoll@Sun.COM { } 1470*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator(struct soap_multipart *p) : content(p) 1471*12720SWyllys.Ingersoll@Sun.COM { } 1472*12720SWyllys.Ingersoll@Sun.COM }; 1473*12720SWyllys.Ingersoll@Sun.COM #endif 1474*12720SWyllys.Ingersoll@Sun.COM 1475*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1476*12720SWyllys.Ingersoll@Sun.COM struct soap_dime 1477*12720SWyllys.Ingersoll@Sun.COM { size_t count; 1478*12720SWyllys.Ingersoll@Sun.COM size_t size; 1479*12720SWyllys.Ingersoll@Sun.COM size_t chunksize; 1480*12720SWyllys.Ingersoll@Sun.COM size_t buflen; 1481*12720SWyllys.Ingersoll@Sun.COM char flags; 1482*12720SWyllys.Ingersoll@Sun.COM char *ptr; 1483*12720SWyllys.Ingersoll@Sun.COM const char *id; 1484*12720SWyllys.Ingersoll@Sun.COM const char *type; 1485*12720SWyllys.Ingersoll@Sun.COM const char *options; 1486*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart *list; /* list of DIME attachments received */ 1487*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart *first, *last; /* temporary in/out queue */ 1488*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1489*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator begin() 1490*12720SWyllys.Ingersoll@Sun.COM { soap_multipart_iterator iter(list); return iter; }; 1491*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator end() 1492*12720SWyllys.Ingersoll@Sun.COM { soap_multipart_iterator iter(NULL); return iter; }; 1493*12720SWyllys.Ingersoll@Sun.COM #endif 1494*12720SWyllys.Ingersoll@Sun.COM }; 1495*12720SWyllys.Ingersoll@Sun.COM #endif 1496*12720SWyllys.Ingersoll@Sun.COM 1497*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1498*12720SWyllys.Ingersoll@Sun.COM struct soap_mime 1499*12720SWyllys.Ingersoll@Sun.COM { char *boundary; /* MIME boundary */ 1500*12720SWyllys.Ingersoll@Sun.COM const char *start; /* MIME start ID */ 1501*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart *list; /* list of MIME attachments received */ 1502*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart *first, *last; /* temporary in/out queue */ 1503*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1504*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator begin() 1505*12720SWyllys.Ingersoll@Sun.COM { soap_multipart_iterator iter(list); return iter; }; 1506*12720SWyllys.Ingersoll@Sun.COM soap_multipart_iterator end() 1507*12720SWyllys.Ingersoll@Sun.COM { soap_multipart_iterator iter(NULL); return iter; }; 1508*12720SWyllys.Ingersoll@Sun.COM #endif 1509*12720SWyllys.Ingersoll@Sun.COM }; 1510*12720SWyllys.Ingersoll@Sun.COM #endif 1511*12720SWyllys.Ingersoll@Sun.COM 1512*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1513*12720SWyllys.Ingersoll@Sun.COM /* RFC2045 MIME content transfer encodings */ 1514*12720SWyllys.Ingersoll@Sun.COM enum soap_mime_encoding 1515*12720SWyllys.Ingersoll@Sun.COM { SOAP_MIME_NONE, 1516*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_7BIT, 1517*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_8BIT, 1518*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_BINARY, 1519*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_QUOTED_PRINTABLE, 1520*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_BASE64, 1521*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_IETF_TOKEN, 1522*12720SWyllys.Ingersoll@Sun.COM SOAP_MIME_X_TOKEN 1523*12720SWyllys.Ingersoll@Sun.COM }; 1524*12720SWyllys.Ingersoll@Sun.COM #endif 1525*12720SWyllys.Ingersoll@Sun.COM 1526*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1527*12720SWyllys.Ingersoll@Sun.COM /* DIME/MIME multipart list */ 1528*12720SWyllys.Ingersoll@Sun.COM struct soap_multipart 1529*12720SWyllys.Ingersoll@Sun.COM { struct soap_multipart *next; 1530*12720SWyllys.Ingersoll@Sun.COM char *ptr; /* points to raw data content */ 1531*12720SWyllys.Ingersoll@Sun.COM size_t size; /* size of data content */ 1532*12720SWyllys.Ingersoll@Sun.COM const char *id; /* DIME/MIME content ID or form data name */ 1533*12720SWyllys.Ingersoll@Sun.COM const char *type; /* DIME/MIME type (MIME type format) */ 1534*12720SWyllys.Ingersoll@Sun.COM const char *options; /* DIME options */ 1535*12720SWyllys.Ingersoll@Sun.COM enum soap_mime_encoding encoding; /* MIME Content-Transfer-Encoding */ 1536*12720SWyllys.Ingersoll@Sun.COM const char *location; /* MIME Content-Location (optional) */ 1537*12720SWyllys.Ingersoll@Sun.COM const char *description; /* MIME Content-Description (optional) */ 1538*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1539*12720SWyllys.Ingersoll@Sun.COM typedef soap_multipart_iterator iterator; 1540*12720SWyllys.Ingersoll@Sun.COM #endif 1541*12720SWyllys.Ingersoll@Sun.COM }; 1542*12720SWyllys.Ingersoll@Sun.COM #endif 1543*12720SWyllys.Ingersoll@Sun.COM 1544*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1545*12720SWyllys.Ingersoll@Sun.COM /* attachment DIME and MTOM XOP forwarding */ 1546*12720SWyllys.Ingersoll@Sun.COM struct soap_xlist 1547*12720SWyllys.Ingersoll@Sun.COM { struct soap_xlist *next; 1548*12720SWyllys.Ingersoll@Sun.COM unsigned char **ptr; 1549*12720SWyllys.Ingersoll@Sun.COM int *size; 1550*12720SWyllys.Ingersoll@Sun.COM char *id; 1551*12720SWyllys.Ingersoll@Sun.COM char **type; 1552*12720SWyllys.Ingersoll@Sun.COM char **options; 1553*12720SWyllys.Ingersoll@Sun.COM }; 1554*12720SWyllys.Ingersoll@Sun.COM #endif 1555*12720SWyllys.Ingersoll@Sun.COM 1556*12720SWyllys.Ingersoll@Sun.COM /******************************************************************************/ 1557*12720SWyllys.Ingersoll@Sun.COM 1558*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1559*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1560*12720SWyllys.Ingersoll@Sun.COM class soap_dom_attribute_iterator 1561*12720SWyllys.Ingersoll@Sun.COM { public: 1562*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute *att; 1563*12720SWyllys.Ingersoll@Sun.COM const char *nstr; 1564*12720SWyllys.Ingersoll@Sun.COM const char *name; 1565*12720SWyllys.Ingersoll@Sun.COM bool operator==(const soap_dom_attribute_iterator&) const; 1566*12720SWyllys.Ingersoll@Sun.COM bool operator!=(const soap_dom_attribute_iterator&) const; 1567*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute &operator*() const; 1568*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator &operator++(); 1569*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator(); 1570*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator(struct soap_dom_attribute*); 1571*12720SWyllys.Ingersoll@Sun.COM ~soap_dom_attribute_iterator(); 1572*12720SWyllys.Ingersoll@Sun.COM }; 1573*12720SWyllys.Ingersoll@Sun.COM #endif 1574*12720SWyllys.Ingersoll@Sun.COM #endif 1575*12720SWyllys.Ingersoll@Sun.COM 1576*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1577*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute 1578*12720SWyllys.Ingersoll@Sun.COM { struct soap_dom_attribute *next; 1579*12720SWyllys.Ingersoll@Sun.COM const char *nstr; 1580*12720SWyllys.Ingersoll@Sun.COM char *name; 1581*12720SWyllys.Ingersoll@Sun.COM char *data; 1582*12720SWyllys.Ingersoll@Sun.COM wchar_t *wide; 1583*12720SWyllys.Ingersoll@Sun.COM struct soap *soap; 1584*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1585*12720SWyllys.Ingersoll@Sun.COM typedef soap_dom_attribute_iterator iterator; 1586*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute &set(const char *nstr, const char *name); /* set namespace and name */ 1587*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute &set(const char *data); /* set data */ 1588*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator begin(); 1589*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator end(); 1590*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute_iterator find(const char *nstr, const char *name); 1591*12720SWyllys.Ingersoll@Sun.COM void unlink(); 1592*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute(); 1593*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute(struct soap *soap); 1594*12720SWyllys.Ingersoll@Sun.COM soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data); 1595*12720SWyllys.Ingersoll@Sun.COM ~soap_dom_attribute(); 1596*12720SWyllys.Ingersoll@Sun.COM #endif 1597*12720SWyllys.Ingersoll@Sun.COM }; 1598*12720SWyllys.Ingersoll@Sun.COM #endif 1599*12720SWyllys.Ingersoll@Sun.COM 1600*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1601*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1602*12720SWyllys.Ingersoll@Sun.COM class soap_dom_element_iterator 1603*12720SWyllys.Ingersoll@Sun.COM { public: 1604*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element *elt; 1605*12720SWyllys.Ingersoll@Sun.COM const char *nstr; 1606*12720SWyllys.Ingersoll@Sun.COM const char *name; 1607*12720SWyllys.Ingersoll@Sun.COM int type; 1608*12720SWyllys.Ingersoll@Sun.COM bool operator==(const soap_dom_element_iterator&) const; 1609*12720SWyllys.Ingersoll@Sun.COM bool operator!=(const soap_dom_element_iterator&) const; 1610*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &operator*() const; 1611*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator &operator++(); 1612*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator(); 1613*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator(struct soap_dom_element*); 1614*12720SWyllys.Ingersoll@Sun.COM ~soap_dom_element_iterator(); 1615*12720SWyllys.Ingersoll@Sun.COM }; 1616*12720SWyllys.Ingersoll@Sun.COM #endif 1617*12720SWyllys.Ingersoll@Sun.COM #endif 1618*12720SWyllys.Ingersoll@Sun.COM 1619*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1620*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element 1621*12720SWyllys.Ingersoll@Sun.COM { struct soap_dom_element *next; /* next sibling */ 1622*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element *prnt; /* parent */ 1623*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element *elts; /* list of child elements */ 1624*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_attribute *atts; /* list of attributes */ 1625*12720SWyllys.Ingersoll@Sun.COM const char *nstr; /* namespace string */ 1626*12720SWyllys.Ingersoll@Sun.COM char *name; /* element tag name */ 1627*12720SWyllys.Ingersoll@Sun.COM char *data; /* element content data (with SOAP_C_UTFSTRING flag set) */ 1628*12720SWyllys.Ingersoll@Sun.COM wchar_t *wide; /* element content data */ 1629*12720SWyllys.Ingersoll@Sun.COM int type; /* optional: serialized C/C++ data type */ 1630*12720SWyllys.Ingersoll@Sun.COM void *node; /* optional: pointer to serialized C/C++ data */ 1631*12720SWyllys.Ingersoll@Sun.COM char *head; /* leading content before start tag */ 1632*12720SWyllys.Ingersoll@Sun.COM char *tail; /* leading content before end tag */ 1633*12720SWyllys.Ingersoll@Sun.COM struct soap *soap; /* soap context that manages this node */ 1634*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1635*12720SWyllys.Ingersoll@Sun.COM typedef soap_dom_element_iterator iterator; 1636*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &set(const char *nstr, const char *name); 1637*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &set(const char *data); 1638*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &set(void *node, int type); 1639*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &add(struct soap_dom_element*); 1640*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &add(struct soap_dom_element&); 1641*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &add(struct soap_dom_attribute*); 1642*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element &add(struct soap_dom_attribute&); 1643*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator begin(); 1644*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator end(); 1645*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator find(const char *nstr, const char *name); 1646*12720SWyllys.Ingersoll@Sun.COM soap_dom_element_iterator find(int type); 1647*12720SWyllys.Ingersoll@Sun.COM void unlink(); 1648*12720SWyllys.Ingersoll@Sun.COM soap_dom_element(); 1649*12720SWyllys.Ingersoll@Sun.COM soap_dom_element(struct soap *soap); 1650*12720SWyllys.Ingersoll@Sun.COM soap_dom_element(struct soap *soap, const char *nstr, const char *name); 1651*12720SWyllys.Ingersoll@Sun.COM soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data); 1652*12720SWyllys.Ingersoll@Sun.COM soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type); 1653*12720SWyllys.Ingersoll@Sun.COM ~soap_dom_element(); 1654*12720SWyllys.Ingersoll@Sun.COM #endif 1655*12720SWyllys.Ingersoll@Sun.COM }; 1656*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_dom_next_element(struct soap_dom_element *elt); 1657*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_dom_next_attribute(struct soap_dom_attribute *att); 1658*12720SWyllys.Ingersoll@Sun.COM #endif 1659*12720SWyllys.Ingersoll@Sun.COM 1660*12720SWyllys.Ingersoll@Sun.COM #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT) 1661*12720SWyllys.Ingersoll@Sun.COM } 1662*12720SWyllys.Ingersoll@Sun.COM extern std::ostream &operator<<(std::ostream&, const struct soap_dom_element&); 1663*12720SWyllys.Ingersoll@Sun.COM extern std::istream &operator>>(std::istream&, struct soap_dom_element&); 1664*12720SWyllys.Ingersoll@Sun.COM extern "C" { 1665*12720SWyllys.Ingersoll@Sun.COM #endif 1666*12720SWyllys.Ingersoll@Sun.COM 1667*12720SWyllys.Ingersoll@Sun.COM /******************************************************************************/ 1668*12720SWyllys.Ingersoll@Sun.COM 1669*12720SWyllys.Ingersoll@Sun.COM #ifdef WIN32 1670*12720SWyllys.Ingersoll@Sun.COM # ifdef SOAP_STD_EXPORTS 1671*12720SWyllys.Ingersoll@Sun.COM # define SOAP_STD_API __declspec(dllexport) 1672*12720SWyllys.Ingersoll@Sun.COM # else 1673*12720SWyllys.Ingersoll@Sun.COM # define SOAP_STD_API 1674*12720SWyllys.Ingersoll@Sun.COM # endif 1675*12720SWyllys.Ingersoll@Sun.COM #else 1676*12720SWyllys.Ingersoll@Sun.COM # define SOAP_STD_API 1677*12720SWyllys.Ingersoll@Sun.COM #endif 1678*12720SWyllys.Ingersoll@Sun.COM 1679*12720SWyllys.Ingersoll@Sun.COM struct SOAP_STD_API soap 1680*12720SWyllys.Ingersoll@Sun.COM { short state; /* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */ 1681*12720SWyllys.Ingersoll@Sun.COM short version; /* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table) */ 1682*12720SWyllys.Ingersoll@Sun.COM soap_mode mode; 1683*12720SWyllys.Ingersoll@Sun.COM soap_mode imode; 1684*12720SWyllys.Ingersoll@Sun.COM soap_mode omode; 1685*12720SWyllys.Ingersoll@Sun.COM const char *float_format; /* user-definable format string for floats (<1024 chars) */ 1686*12720SWyllys.Ingersoll@Sun.COM const char *double_format; /* user-definable format string for doubles (<1024 chars) */ 1687*12720SWyllys.Ingersoll@Sun.COM const char *dime_id_format; /* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */ 1688*12720SWyllys.Ingersoll@Sun.COM const char *http_version; /* HTTP version used "1.0" or "1.1" */ 1689*12720SWyllys.Ingersoll@Sun.COM const char *http_content; /* optional custom response content type (with SOAP_FILE) */ 1690*12720SWyllys.Ingersoll@Sun.COM const char *encodingStyle; /* default = NULL which means that SOAP encoding is used */ 1691*12720SWyllys.Ingersoll@Sun.COM const char *actor; /* SOAP-ENV:actor or role attribute value */ 1692*12720SWyllys.Ingersoll@Sun.COM const char *lang; /* xml:lang attribute value of SOAP-ENV:Text */ 1693*12720SWyllys.Ingersoll@Sun.COM int recv_timeout; /* when > 0, gives socket recv timeout in seconds, < 0 in usec */ 1694*12720SWyllys.Ingersoll@Sun.COM int send_timeout; /* when > 0, gives socket send timeout in seconds, < 0 in usec */ 1695*12720SWyllys.Ingersoll@Sun.COM int connect_timeout; /* when > 0, gives socket connect() timeout in seconds, < 0 in usec */ 1696*12720SWyllys.Ingersoll@Sun.COM int accept_timeout; /* when > 0, gives socket accept() timeout in seconds, < 0 in usec */ 1697*12720SWyllys.Ingersoll@Sun.COM #if defined(WITH_OPENSSL) && defined(KMS_SERVER) 1698*12720SWyllys.Ingersoll@Sun.COM /* Sun customization for Ultra 2 KMS Server */ 1699*12720SWyllys.Ingersoll@Sun.COM int ssl_accept_timeout; /* default 10s unless overridden by this field, specified in seconds, time in SSL_Accept() */ 1700*12720SWyllys.Ingersoll@Sun.COM #endif 1701*12720SWyllys.Ingersoll@Sun.COM int socket_flags; /* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */ 1702*12720SWyllys.Ingersoll@Sun.COM int connect_flags; /* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */ 1703*12720SWyllys.Ingersoll@Sun.COM int bind_flags; /* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */ 1704*12720SWyllys.Ingersoll@Sun.COM int accept_flags; /* accept() SOL_SOCKET sockopt flags */ 1705*12720SWyllys.Ingersoll@Sun.COM unsigned short linger_time; /* linger time for SO_LINGER option */ 1706*12720SWyllys.Ingersoll@Sun.COM const struct Namespace *namespaces; /* Pointer to global namespace mapping table */ 1707*12720SWyllys.Ingersoll@Sun.COM struct Namespace *local_namespaces; /* Local namespace mapping table */ 1708*12720SWyllys.Ingersoll@Sun.COM struct soap_nlist *nlist; /* namespace stack */ 1709*12720SWyllys.Ingersoll@Sun.COM struct soap_blist *blist; /* block allocation stack */ 1710*12720SWyllys.Ingersoll@Sun.COM struct soap_clist *clist; /* class instance allocation list */ 1711*12720SWyllys.Ingersoll@Sun.COM void *alist; /* memory allocation (malloc) list */ 1712*12720SWyllys.Ingersoll@Sun.COM struct soap_ilist *iht[SOAP_IDHASH]; 1713*12720SWyllys.Ingersoll@Sun.COM struct soap_plist *pht[SOAP_PTRHASH]; 1714*12720SWyllys.Ingersoll@Sun.COM struct soap_pblk *pblk; /* plist block allocation */ 1715*12720SWyllys.Ingersoll@Sun.COM short pidx; /* plist block allocation */ 1716*12720SWyllys.Ingersoll@Sun.COM struct SOAP_ENV__Header *header; 1717*12720SWyllys.Ingersoll@Sun.COM struct SOAP_ENV__Fault *fault; 1718*12720SWyllys.Ingersoll@Sun.COM int idnum; 1719*12720SWyllys.Ingersoll@Sun.COM void *user; /* to pass user-defined data */ 1720*12720SWyllys.Ingersoll@Sun.COM struct soap_plugin *plugins; /* linked list of plug-in data */ 1721*12720SWyllys.Ingersoll@Sun.COM const char *userid; /* HTTP Basic authorization userid */ 1722*12720SWyllys.Ingersoll@Sun.COM const char *passwd; /* HTTP Basic authorization passwd */ 1723*12720SWyllys.Ingersoll@Sun.COM int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t); 1724*12720SWyllys.Ingersoll@Sun.COM int (*fget)(struct soap*); 1725*12720SWyllys.Ingersoll@Sun.COM int (*fput)(struct soap*); 1726*12720SWyllys.Ingersoll@Sun.COM int (*fdel)(struct soap*); 1727*12720SWyllys.Ingersoll@Sun.COM int (*fhead)(struct soap*); 1728*12720SWyllys.Ingersoll@Sun.COM int (*fform)(struct soap*); 1729*12720SWyllys.Ingersoll@Sun.COM int (*fposthdr)(struct soap*, const char*, const char*); 1730*12720SWyllys.Ingersoll@Sun.COM int (*fresponse)(struct soap*, int, size_t); 1731*12720SWyllys.Ingersoll@Sun.COM int (*fparse)(struct soap*); 1732*12720SWyllys.Ingersoll@Sun.COM int (*fparsehdr)(struct soap*, const char*, const char*); 1733*12720SWyllys.Ingersoll@Sun.COM int (*fheader)(struct soap*); 1734*12720SWyllys.Ingersoll@Sun.COM int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr); 1735*12720SWyllys.Ingersoll@Sun.COM int (*fconnect)(struct soap*, const char*, const char*, int); 1736*12720SWyllys.Ingersoll@Sun.COM int (*fdisconnect)(struct soap*); 1737*12720SWyllys.Ingersoll@Sun.COM int (*fclosesocket)(struct soap*, SOAP_SOCKET); 1738*12720SWyllys.Ingersoll@Sun.COM int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int); 1739*12720SWyllys.Ingersoll@Sun.COM SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int); 1740*12720SWyllys.Ingersoll@Sun.COM SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n); 1741*12720SWyllys.Ingersoll@Sun.COM int (*fclose)(struct soap*); 1742*12720SWyllys.Ingersoll@Sun.COM int (*fsend)(struct soap*, const char*, size_t); 1743*12720SWyllys.Ingersoll@Sun.COM size_t (*frecv)(struct soap*, char*, size_t); 1744*12720SWyllys.Ingersoll@Sun.COM int (*fpoll)(struct soap*); 1745*12720SWyllys.Ingersoll@Sun.COM void (*fseterror)(struct soap*, const char **c, const char **s); 1746*12720SWyllys.Ingersoll@Sun.COM int (*fignore)(struct soap*, const char*); 1747*12720SWyllys.Ingersoll@Sun.COM int (*fserveloop)(struct soap*); 1748*12720SWyllys.Ingersoll@Sun.COM void *(*fplugin)(struct soap*, const char*); 1749*12720SWyllys.Ingersoll@Sun.COM void *(*fmalloc)(struct soap*, size_t); 1750*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1751*12720SWyllys.Ingersoll@Sun.COM int (*fprepareinitsend)(struct soap*); 1752*12720SWyllys.Ingersoll@Sun.COM int (*fprepareinitrecv)(struct soap*); 1753*12720SWyllys.Ingersoll@Sun.COM int (*fpreparesend)(struct soap*, const char*, size_t); 1754*12720SWyllys.Ingersoll@Sun.COM int (*fpreparerecv)(struct soap*, const char*, size_t); 1755*12720SWyllys.Ingersoll@Sun.COM int (*fpreparefinalsend)(struct soap*); 1756*12720SWyllys.Ingersoll@Sun.COM int (*fpreparefinalrecv)(struct soap*); 1757*12720SWyllys.Ingersoll@Sun.COM void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*); 1758*12720SWyllys.Ingersoll@Sun.COM void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*); 1759*12720SWyllys.Ingersoll@Sun.COM void (*fdimereadclose)(struct soap*, void*); 1760*12720SWyllys.Ingersoll@Sun.COM void (*fdimewriteclose)(struct soap*, void*); 1761*12720SWyllys.Ingersoll@Sun.COM size_t (*fdimeread)(struct soap*, void*, char*, size_t); 1762*12720SWyllys.Ingersoll@Sun.COM int (*fdimewrite)(struct soap*, void*, const char*, size_t); 1763*12720SWyllys.Ingersoll@Sun.COM void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*); 1764*12720SWyllys.Ingersoll@Sun.COM void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding); 1765*12720SWyllys.Ingersoll@Sun.COM void (*fmimereadclose)(struct soap*, void*); 1766*12720SWyllys.Ingersoll@Sun.COM void (*fmimewriteclose)(struct soap*, void*); 1767*12720SWyllys.Ingersoll@Sun.COM size_t (*fmimeread)(struct soap*, void*, char*, size_t); 1768*12720SWyllys.Ingersoll@Sun.COM int (*fmimewrite)(struct soap*, void*, const char*, size_t); 1769*12720SWyllys.Ingersoll@Sun.COM #endif 1770*12720SWyllys.Ingersoll@Sun.COM SOAP_SOCKET master; 1771*12720SWyllys.Ingersoll@Sun.COM SOAP_SOCKET socket; 1772*12720SWyllys.Ingersoll@Sun.COM #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT) 1773*12720SWyllys.Ingersoll@Sun.COM std::ostream *os; 1774*12720SWyllys.Ingersoll@Sun.COM std::istream *is; 1775*12720SWyllys.Ingersoll@Sun.COM #else 1776*12720SWyllys.Ingersoll@Sun.COM void *os; /* preserve struct size */ 1777*12720SWyllys.Ingersoll@Sun.COM void *is; /* preserve struct size */ 1778*12720SWyllys.Ingersoll@Sun.COM #endif 1779*12720SWyllys.Ingersoll@Sun.COM #ifndef UNDER_CE 1780*12720SWyllys.Ingersoll@Sun.COM int sendfd; 1781*12720SWyllys.Ingersoll@Sun.COM int recvfd; 1782*12720SWyllys.Ingersoll@Sun.COM #else 1783*12720SWyllys.Ingersoll@Sun.COM FILE *sendfd; 1784*12720SWyllys.Ingersoll@Sun.COM FILE *recvfd; 1785*12720SWyllys.Ingersoll@Sun.COM #endif 1786*12720SWyllys.Ingersoll@Sun.COM size_t bufidx; /* index in soap.buf[] */ 1787*12720SWyllys.Ingersoll@Sun.COM size_t buflen; /* length of soap.buf[] content */ 1788*12720SWyllys.Ingersoll@Sun.COM soap_wchar ahead; /* parser lookahead */ 1789*12720SWyllys.Ingersoll@Sun.COM short cdata; /* CDATA parser state */ 1790*12720SWyllys.Ingersoll@Sun.COM short body; /* parsed XML element has a body or not */ 1791*12720SWyllys.Ingersoll@Sun.COM unsigned int level; /* XML nesting level */ 1792*12720SWyllys.Ingersoll@Sun.COM size_t count; /* message length counter */ 1793*12720SWyllys.Ingersoll@Sun.COM size_t length; /* message length as set by HTTP header */ 1794*12720SWyllys.Ingersoll@Sun.COM char *labbuf; /* look-aside buffer */ 1795*12720SWyllys.Ingersoll@Sun.COM size_t lablen; /* look-aside buffer allocated length */ 1796*12720SWyllys.Ingersoll@Sun.COM size_t labidx; /* look-aside buffer index to available part */ 1797*12720SWyllys.Ingersoll@Sun.COM char buf[SOAP_BUFLEN];/* send and receive buffer */ 1798*12720SWyllys.Ingersoll@Sun.COM char msgbuf[1024]; /* in/out buffer for HTTP/MIME headers >=1024 bytes */ 1799*12720SWyllys.Ingersoll@Sun.COM char tmpbuf[1024]; /* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be >=1024 bytes */ 1800*12720SWyllys.Ingersoll@Sun.COM char tag[SOAP_TAGLEN]; 1801*12720SWyllys.Ingersoll@Sun.COM char id[SOAP_TAGLEN]; 1802*12720SWyllys.Ingersoll@Sun.COM char href[SOAP_TAGLEN]; 1803*12720SWyllys.Ingersoll@Sun.COM char type[SOAP_TAGLEN]; 1804*12720SWyllys.Ingersoll@Sun.COM char arrayType[SOAP_TAGLEN]; 1805*12720SWyllys.Ingersoll@Sun.COM char arraySize[SOAP_TAGLEN]; 1806*12720SWyllys.Ingersoll@Sun.COM char arrayOffset[SOAP_TAGLEN]; 1807*12720SWyllys.Ingersoll@Sun.COM short other; 1808*12720SWyllys.Ingersoll@Sun.COM short position; 1809*12720SWyllys.Ingersoll@Sun.COM int positions[SOAP_MAXDIMS]; 1810*12720SWyllys.Ingersoll@Sun.COM short root; 1811*12720SWyllys.Ingersoll@Sun.COM struct soap_attribute *attributes; /* attribute list */ 1812*12720SWyllys.Ingersoll@Sun.COM short encoding; /* when set, output encodingStyle */ 1813*12720SWyllys.Ingersoll@Sun.COM short mustUnderstand; /* a mustUnderstand element was parsed or is output */ 1814*12720SWyllys.Ingersoll@Sun.COM short null; /* parsed XML is xsi:nil */ 1815*12720SWyllys.Ingersoll@Sun.COM short ns; /* when not set, output full xmlns bindings */ 1816*12720SWyllys.Ingersoll@Sun.COM short part; /* parsing state */ 1817*12720SWyllys.Ingersoll@Sun.COM short alloced; 1818*12720SWyllys.Ingersoll@Sun.COM short peeked; 1819*12720SWyllys.Ingersoll@Sun.COM size_t chunksize; 1820*12720SWyllys.Ingersoll@Sun.COM size_t chunkbuflen; 1821*12720SWyllys.Ingersoll@Sun.COM char endpoint[SOAP_TAGLEN]; 1822*12720SWyllys.Ingersoll@Sun.COM char path[SOAP_TAGLEN]; 1823*12720SWyllys.Ingersoll@Sun.COM char host[SOAP_TAGLEN]; 1824*12720SWyllys.Ingersoll@Sun.COM char *action; 1825*12720SWyllys.Ingersoll@Sun.COM char *authrealm; /* HTTP authentication realm */ 1826*12720SWyllys.Ingersoll@Sun.COM char *prolog; /* XML declaration prolog */ 1827*12720SWyllys.Ingersoll@Sun.COM unsigned long ip; /* IP number */ 1828*12720SWyllys.Ingersoll@Sun.COM int port; /* port number */ 1829*12720SWyllys.Ingersoll@Sun.COM short keep_alive; /* connection should be kept open */ 1830*12720SWyllys.Ingersoll@Sun.COM short tcp_keep_alive; /* enable SO_KEEPALIVE */ 1831*12720SWyllys.Ingersoll@Sun.COM unsigned int tcp_keep_idle; /* set TCP_KEEPIDLE */ 1832*12720SWyllys.Ingersoll@Sun.COM unsigned int tcp_keep_intvl; /* set TCP_KEEPINTVL */ 1833*12720SWyllys.Ingersoll@Sun.COM unsigned int tcp_keep_cnt; /* set TCP_KEEPCNT */ 1834*12720SWyllys.Ingersoll@Sun.COM unsigned int max_keep_alive; /* maximum keep-alive session (default=100) */ 1835*12720SWyllys.Ingersoll@Sun.COM const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */ 1836*12720SWyllys.Ingersoll@Sun.COM const char *proxy_host; /* Proxy Server host name */ 1837*12720SWyllys.Ingersoll@Sun.COM int proxy_port; /* Proxy Server port (default = 8080) */ 1838*12720SWyllys.Ingersoll@Sun.COM const char *proxy_userid; /* Proxy Authorization user name */ 1839*12720SWyllys.Ingersoll@Sun.COM const char *proxy_passwd; /* Proxy Authorization password */ 1840*12720SWyllys.Ingersoll@Sun.COM const char *proxy_from; /* X-Forwarding-For header returned by proxy */ 1841*12720SWyllys.Ingersoll@Sun.COM int status; /* -1 when request, else error code to be returned by server */ 1842*12720SWyllys.Ingersoll@Sun.COM int error; 1843*12720SWyllys.Ingersoll@Sun.COM int errmode; 1844*12720SWyllys.Ingersoll@Sun.COM int errnum; 1845*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 1846*12720SWyllys.Ingersoll@Sun.COM struct soap_dom_element *dom; 1847*12720SWyllys.Ingersoll@Sun.COM struct soap_dime dime; 1848*12720SWyllys.Ingersoll@Sun.COM struct soap_mime mime; 1849*12720SWyllys.Ingersoll@Sun.COM struct soap_xlist *xlist; 1850*12720SWyllys.Ingersoll@Sun.COM #endif 1851*12720SWyllys.Ingersoll@Sun.COM #if !defined(WITH_LEAN) || defined(SOAP_DEBUG) 1852*12720SWyllys.Ingersoll@Sun.COM const char *logfile[SOAP_MAXLOGS]; 1853*12720SWyllys.Ingersoll@Sun.COM FILE *fdebug[SOAP_MAXLOGS]; 1854*12720SWyllys.Ingersoll@Sun.COM struct soap_mlist *mht[SOAP_PTRHASH]; 1855*12720SWyllys.Ingersoll@Sun.COM #endif 1856*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 1857*12720SWyllys.Ingersoll@Sun.COM const char *wsuid; /* space-separated string of element tags */ 1858*12720SWyllys.Ingersoll@Sun.COM const char *c14nexclude; /* space-separated string of prefixes */ 1859*12720SWyllys.Ingersoll@Sun.COM struct soap_cookie *cookies; 1860*12720SWyllys.Ingersoll@Sun.COM const char *cookie_domain; 1861*12720SWyllys.Ingersoll@Sun.COM const char *cookie_path; 1862*12720SWyllys.Ingersoll@Sun.COM int cookie_max; 1863*12720SWyllys.Ingersoll@Sun.COM #endif 1864*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIO 1865*12720SWyllys.Ingersoll@Sun.COM int ipv6_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */ 1866*12720SWyllys.Ingersoll@Sun.COM char* ipv4_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */ 1867*12720SWyllys.Ingersoll@Sun.COM int ipv4_multicast_ttl; /* multicast scope */ 1868*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_IPV6 1869*12720SWyllys.Ingersoll@Sun.COM struct sockaddr_storage peer; /* IPv6: set by soap_accept and by UDP recv */ 1870*12720SWyllys.Ingersoll@Sun.COM #else 1871*12720SWyllys.Ingersoll@Sun.COM struct sockaddr_in peer; /* IPv4: set by soap_connect/soap_accept and by UDP recv */ 1872*12720SWyllys.Ingersoll@Sun.COM #endif 1873*12720SWyllys.Ingersoll@Sun.COM #endif 1874*12720SWyllys.Ingersoll@Sun.COM size_t peerlen; 1875*12720SWyllys.Ingersoll@Sun.COM #if defined(WITH_OPENSSL) /* OpenSSL */ 1876*12720SWyllys.Ingersoll@Sun.COM int (*fsslauth)(struct soap*); 1877*12720SWyllys.Ingersoll@Sun.COM int (*fsslverify)(int, X509_STORE_CTX*); 1878*12720SWyllys.Ingersoll@Sun.COM BIO *bio; 1879*12720SWyllys.Ingersoll@Sun.COM SSL *ssl; 1880*12720SWyllys.Ingersoll@Sun.COM SSL_CTX *ctx; 1881*12720SWyllys.Ingersoll@Sun.COM SSL_SESSION *session; 1882*12720SWyllys.Ingersoll@Sun.COM #else /* No SSL/TLS */ 1883*12720SWyllys.Ingersoll@Sun.COM void *fsslauth; /* dummy members, to preserve struct size */ 1884*12720SWyllys.Ingersoll@Sun.COM void *fsslverify; 1885*12720SWyllys.Ingersoll@Sun.COM void *bio; 1886*12720SWyllys.Ingersoll@Sun.COM void *ssl; 1887*12720SWyllys.Ingersoll@Sun.COM void *ctx; 1888*12720SWyllys.Ingersoll@Sun.COM void *session; 1889*12720SWyllys.Ingersoll@Sun.COM #endif 1890*12720SWyllys.Ingersoll@Sun.COM unsigned short ssl_flags; 1891*12720SWyllys.Ingersoll@Sun.COM const char *keyfile; 1892*12720SWyllys.Ingersoll@Sun.COM const char *password; 1893*12720SWyllys.Ingersoll@Sun.COM const char *dhfile; 1894*12720SWyllys.Ingersoll@Sun.COM const char *cafile; 1895*12720SWyllys.Ingersoll@Sun.COM const char *capath; 1896*12720SWyllys.Ingersoll@Sun.COM const char *crlfile; 1897*12720SWyllys.Ingersoll@Sun.COM const char *randfile; 1898*12720SWyllys.Ingersoll@Sun.COM char session_host[SOAP_TAGLEN]; 1899*12720SWyllys.Ingersoll@Sun.COM int session_port; 1900*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_C_LOCALE 1901*12720SWyllys.Ingersoll@Sun.COM locale_t c_locale; /* set to C locale by default */ 1902*12720SWyllys.Ingersoll@Sun.COM #else 1903*12720SWyllys.Ingersoll@Sun.COM void *c_locale; 1904*12720SWyllys.Ingersoll@Sun.COM #endif 1905*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_ZLIB 1906*12720SWyllys.Ingersoll@Sun.COM z_stream *d_stream; /* decompression stream */ 1907*12720SWyllys.Ingersoll@Sun.COM uLong z_crc; /* internal gzip crc */ 1908*12720SWyllys.Ingersoll@Sun.COM #else 1909*12720SWyllys.Ingersoll@Sun.COM void *d_stream; /* dummy members, to preserve struct size */ 1910*12720SWyllys.Ingersoll@Sun.COM soap_int32 z_crc; 1911*12720SWyllys.Ingersoll@Sun.COM #endif 1912*12720SWyllys.Ingersoll@Sun.COM const char *z_dict; /* support for zlib static dictionaries */ 1913*12720SWyllys.Ingersoll@Sun.COM unsigned int z_dict_len; 1914*12720SWyllys.Ingersoll@Sun.COM short zlib_state; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */ 1915*12720SWyllys.Ingersoll@Sun.COM short zlib_in; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */ 1916*12720SWyllys.Ingersoll@Sun.COM short zlib_out; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */ 1917*12720SWyllys.Ingersoll@Sun.COM char *z_buf; /* buffer */ 1918*12720SWyllys.Ingersoll@Sun.COM size_t z_buflen; 1919*12720SWyllys.Ingersoll@Sun.COM unsigned short z_level; /* compression level to be used (0=none, 1=fast to 9=best) */ 1920*12720SWyllys.Ingersoll@Sun.COM float z_ratio_in; /* detected compression ratio compressed_length/length of inbound message */ 1921*12720SWyllys.Ingersoll@Sun.COM float z_ratio_out; /* detected compression ratio compressed_length/length of outbound message */ 1922*12720SWyllys.Ingersoll@Sun.COM #ifdef WMW_RPM_IO /* VxWorks */ 1923*12720SWyllys.Ingersoll@Sun.COM void *rpmreqid; 1924*12720SWyllys.Ingersoll@Sun.COM #endif 1925*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 1926*12720SWyllys.Ingersoll@Sun.COM soap(); 1927*12720SWyllys.Ingersoll@Sun.COM soap(soap_mode); 1928*12720SWyllys.Ingersoll@Sun.COM soap(soap_mode, soap_mode); 1929*12720SWyllys.Ingersoll@Sun.COM soap(const struct soap&); 1930*12720SWyllys.Ingersoll@Sun.COM virtual ~soap(); 1931*12720SWyllys.Ingersoll@Sun.COM #else 1932*12720SWyllys.Ingersoll@Sun.COM void (*dummy)(); 1933*12720SWyllys.Ingersoll@Sun.COM #endif 1934*12720SWyllys.Ingersoll@Sun.COM }; 1935*12720SWyllys.Ingersoll@Sun.COM 1936*12720SWyllys.Ingersoll@Sun.COM struct soap_code_map 1937*12720SWyllys.Ingersoll@Sun.COM { long code; 1938*12720SWyllys.Ingersoll@Sun.COM const char *string; 1939*12720SWyllys.Ingersoll@Sun.COM }; 1940*12720SWyllys.Ingersoll@Sun.COM 1941*12720SWyllys.Ingersoll@Sun.COM /* forwarding list */ 1942*12720SWyllys.Ingersoll@Sun.COM struct soap_flist 1943*12720SWyllys.Ingersoll@Sun.COM { struct soap_flist *next; 1944*12720SWyllys.Ingersoll@Sun.COM int type; 1945*12720SWyllys.Ingersoll@Sun.COM void *ptr; 1946*12720SWyllys.Ingersoll@Sun.COM unsigned int level; 1947*12720SWyllys.Ingersoll@Sun.COM size_t len; 1948*12720SWyllys.Ingersoll@Sun.COM void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t); 1949*12720SWyllys.Ingersoll@Sun.COM }; 1950*12720SWyllys.Ingersoll@Sun.COM 1951*12720SWyllys.Ingersoll@Sun.COM /* id-ref forwarding list */ 1952*12720SWyllys.Ingersoll@Sun.COM struct soap_ilist 1953*12720SWyllys.Ingersoll@Sun.COM { struct soap_ilist *next; 1954*12720SWyllys.Ingersoll@Sun.COM int type; 1955*12720SWyllys.Ingersoll@Sun.COM size_t size; 1956*12720SWyllys.Ingersoll@Sun.COM void *link; 1957*12720SWyllys.Ingersoll@Sun.COM void *copy; 1958*12720SWyllys.Ingersoll@Sun.COM struct soap_flist *flist; 1959*12720SWyllys.Ingersoll@Sun.COM void *ptr; 1960*12720SWyllys.Ingersoll@Sun.COM unsigned int level; 1961*12720SWyllys.Ingersoll@Sun.COM char id[1]; /* the actual id string value flows into the allocated region below this struct */ 1962*12720SWyllys.Ingersoll@Sun.COM }; 1963*12720SWyllys.Ingersoll@Sun.COM 1964*12720SWyllys.Ingersoll@Sun.COM struct soap_plugin 1965*12720SWyllys.Ingersoll@Sun.COM { struct soap_plugin *next; 1966*12720SWyllys.Ingersoll@Sun.COM const char *id; 1967*12720SWyllys.Ingersoll@Sun.COM void *data; 1968*12720SWyllys.Ingersoll@Sun.COM int (*fcopy)(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src); 1969*12720SWyllys.Ingersoll@Sun.COM void (*fdelete)(struct soap *soap, struct soap_plugin *p); /* should delete fields of plugin only and not free(p) */ 1970*12720SWyllys.Ingersoll@Sun.COM }; 1971*12720SWyllys.Ingersoll@Sun.COM 1972*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NONAMESPACES 1973*12720SWyllys.Ingersoll@Sun.COM extern SOAP_NMAC struct Namespace namespaces[]; 1974*12720SWyllys.Ingersoll@Sun.COM #endif 1975*12720SWyllys.Ingersoll@Sun.COM 1976*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 1977*12720SWyllys.Ingersoll@Sun.COM # define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx]) 1978*12720SWyllys.Ingersoll@Sun.COM # define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++]) 1979*12720SWyllys.Ingersoll@Sun.COM #else 1980*12720SWyllys.Ingersoll@Sun.COM soap_wchar soap_get0(struct soap*); 1981*12720SWyllys.Ingersoll@Sun.COM soap_wchar soap_get1(struct soap*); 1982*12720SWyllys.Ingersoll@Sun.COM #endif 1983*12720SWyllys.Ingersoll@Sun.COM 1984*12720SWyllys.Ingersoll@Sun.COM #define soap_revget1(soap) ((soap)->bufidx--) 1985*12720SWyllys.Ingersoll@Sun.COM #define soap_unget(soap, c) ((soap)->ahead = c) 1986*12720SWyllys.Ingersoll@Sun.COM #define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL) 1987*12720SWyllys.Ingersoll@Sun.COM #define soap_imode(soap, n) ((soap)->mode = (soap)->imode = (n)) 1988*12720SWyllys.Ingersoll@Sun.COM #define soap_set_imode(soap, n) ((soap)->imode |= (n)) 1989*12720SWyllys.Ingersoll@Sun.COM #define soap_clr_imode(soap, n) ((soap)->imode &= ~(n)) 1990*12720SWyllys.Ingersoll@Sun.COM #define soap_omode(soap, n) ((soap)->mode = (soap)->omode = (n)) 1991*12720SWyllys.Ingersoll@Sun.COM #define soap_set_omode(soap, n) ((soap)->omode |= (n)) 1992*12720SWyllys.Ingersoll@Sun.COM #define soap_clr_omode(soap, n) ((soap)->omode &= ~(n)) 1993*12720SWyllys.Ingersoll@Sun.COM #define soap_set_mode(soap, n) ((soap)->imode |= (n), (soap)->omode |= (n)) 1994*12720SWyllys.Ingersoll@Sun.COM #define soap_clr_mode(soap, n) ((soap)->imode &= ~(n), (soap)->omode &= ~(n)) 1995*12720SWyllys.Ingersoll@Sun.COM #define soap_destroy(soap) soap_delete((soap), NULL) 1996*12720SWyllys.Ingersoll@Sun.COM 1997*12720SWyllys.Ingersoll@Sun.COM #ifdef HAVE_STRRCHR 1998*12720SWyllys.Ingersoll@Sun.COM # define soap_strrchr(s, t) strrchr(s, t) 1999*12720SWyllys.Ingersoll@Sun.COM #else 2000*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_strrchr(const char *s, int t); 2001*12720SWyllys.Ingersoll@Sun.COM #endif 2002*12720SWyllys.Ingersoll@Sun.COM 2003*12720SWyllys.Ingersoll@Sun.COM #ifdef HAVE_STRTOL 2004*12720SWyllys.Ingersoll@Sun.COM # define soap_strtol(s, t, b) strtol(s, t, b) 2005*12720SWyllys.Ingersoll@Sun.COM #else 2006*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 long SOAP_FMAC2 soap_strtol(const char *s, char **t, int b); 2007*12720SWyllys.Ingersoll@Sun.COM #endif 2008*12720SWyllys.Ingersoll@Sun.COM 2009*12720SWyllys.Ingersoll@Sun.COM #ifdef HAVE_STRTOUL 2010*12720SWyllys.Ingersoll@Sun.COM # define soap_strtoul(s, t, b) strtoul(s, t, b) 2011*12720SWyllys.Ingersoll@Sun.COM #else 2012*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned long SOAP_FMAC2 soap_strtoul(const char *s, char **t, int b); 2013*12720SWyllys.Ingersoll@Sun.COM #endif 2014*12720SWyllys.Ingersoll@Sun.COM 2015*12720SWyllys.Ingersoll@Sun.COM #if defined(WITH_OPENSSL) 2016*12720SWyllys.Ingersoll@Sun.COM # define soap_random soap_rand() 2017*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_rand(void); 2018*12720SWyllys.Ingersoll@Sun.COM #elif defined(HAVE_RANDOM) 2019*12720SWyllys.Ingersoll@Sun.COM # define soap_random (int)random() 2020*12720SWyllys.Ingersoll@Sun.COM #else 2021*12720SWyllys.Ingersoll@Sun.COM # define soap_random rand() 2022*12720SWyllys.Ingersoll@Sun.COM #endif 2023*12720SWyllys.Ingersoll@Sun.COM 2024*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_NOIDREF 2025*12720SWyllys.Ingersoll@Sun.COM # define soap_embedded(s, p, t) (0) 2026*12720SWyllys.Ingersoll@Sun.COM # define soap_id_lookup(s, i, p, t, n, k) (p) 2027*12720SWyllys.Ingersoll@Sun.COM # define soap_id_forward(s, h, p, len, st, tt, n, k, fc) (p) 2028*12720SWyllys.Ingersoll@Sun.COM # define soap_reference(s, a, t) (1) 2029*12720SWyllys.Ingersoll@Sun.COM # define soap_array_reference(s, p, a, n, t) (1) 2030*12720SWyllys.Ingersoll@Sun.COM # define soap_embed(s, p, a, n, t, pp) (0) 2031*12720SWyllys.Ingersoll@Sun.COM # define soap_embedded_id(s, i, p, t) (i) 2032*12720SWyllys.Ingersoll@Sun.COM # define soap_is_embedded(s, p) (0) 2033*12720SWyllys.Ingersoll@Sun.COM # define soap_is_single(s, p) (1) 2034*12720SWyllys.Ingersoll@Sun.COM # define soap_lookup_type(s, i) (0) 2035*12720SWyllys.Ingersoll@Sun.COM # define soap_getindependent(s) (0) 2036*12720SWyllys.Ingersoll@Sun.COM # define soap_putindependent(s) (0) 2037*12720SWyllys.Ingersoll@Sun.COM # define soap_getelement(s, n) (n) 2038*12720SWyllys.Ingersoll@Sun.COM # define soap_putelement(s, p, t, i, n) (0) 2039*12720SWyllys.Ingersoll@Sun.COM # define soap_markelement(s, p, n) (0) 2040*12720SWyllys.Ingersoll@Sun.COM #endif 2041*12720SWyllys.Ingersoll@Sun.COM 2042*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_header(struct soap*); 2043*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_fault(struct soap*); 2044*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultcode(struct soap*); 2045*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultsubcode(struct soap*); 2046*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultstring(struct soap*); 2047*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultdetail(struct soap*); 2048*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_serializeheader(struct soap*); 2049*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putheader(struct soap*); 2050*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getheader(struct soap*); 2051*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_serializefault(struct soap*); 2052*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putfault(struct soap*); 2053*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getfault(struct soap*); 2054*12720SWyllys.Ingersoll@Sun.COM 2055*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_ssl_init(); 2056*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_poll(struct soap*); 2057*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_connect_command(struct soap*, int, const char*, const char*); 2058*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_connect(struct soap*, const char*, const char*); 2059*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_bind(struct soap*, const char*, int, int); 2060*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_accept(struct soap*); 2061*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_accept(struct soap*); 2062*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char * SOAP_FMAC2 soap_ssl_error(struct soap*, int); 2063*12720SWyllys.Ingersoll@Sun.COM 2064*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap*, unsigned short, const char*, const char*, const char*, const char*, const char*, const char*, const char*); 2065*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap*, unsigned short, const char*, const char*, const char*, const char*, const char*); 2066*12720SWyllys.Ingersoll@Sun.COM 2067*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_puthttphdr(struct soap*, int status, size_t count); 2068*12720SWyllys.Ingersoll@Sun.COM 2069*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_get_header_attribute(struct soap*, const char*, const char*); 2070*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_key(char*, size_t, const char*); 2071*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_val(char*, size_t, const char*); 2072*12720SWyllys.Ingersoll@Sun.COM 2073*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 size_t SOAP_FMAC2 soap_hash(const char*); 2074*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_endpoint(struct soap*, const char*); 2075*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_flush_raw(struct soap*, const char*, size_t); 2076*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_flush(struct soap*); 2077*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_get(struct soap*); 2078*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getchar(struct soap*); 2079*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_tag_cmp(const char*, const char*); 2080*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_fault(struct soap*); 2081*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault(struct soap*, const char*, const char*); 2082*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault_subcode(struct soap*, const char*, const char*, const char*); 2083*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault(struct soap*, const char*, const char*); 2084*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault_subcode(struct soap*, const char*, const char*, const char*); 2085*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_sender_error(struct soap*, const char*, const char*, int); 2086*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_receiver_error(struct soap*, const char*, const char*, int); 2087*12720SWyllys.Ingersoll@Sun.COM 2088*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send_raw(struct soap*, const char*, size_t); 2089*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_recv_raw(struct soap*); 2090*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_recv(struct soap*); 2091*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send(struct soap*, const char*); 2092*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send2(struct soap*, const char*, const char*); 2093*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send3(struct soap*, const char*, const char*, const char*); 2094*12720SWyllys.Ingersoll@Sun.COM 2095*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_pututf8(struct soap*, unsigned long); 2096*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getutf8(struct soap*); 2097*12720SWyllys.Ingersoll@Sun.COM 2098*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putbase64(struct soap*, const unsigned char*, int); 2099*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_getbase64(struct soap*, int*, int); 2100*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_puthex(struct soap*, const unsigned char*, int); 2101*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_gethex(struct soap*, int*); 2102*12720SWyllys.Ingersoll@Sun.COM 2103*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 2104*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_xop_forward(struct soap*, unsigned char**, int*, char**, char**, char**); 2105*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_dime_forward(struct soap*, unsigned char**, int*, char**, char**, char**); 2106*12720SWyllys.Ingersoll@Sun.COM #endif 2107*12720SWyllys.Ingersoll@Sun.COM 2108*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF 2109*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup_id(struct soap*, void *p, int t, struct soap_plist**); 2110*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup(struct soap*, const void *p, int t, struct soap_plist**); 2111*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_enter(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**); 2112*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_array_pointer_lookup(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**); 2113*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_embed(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type); 2114*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_lookup(struct soap*, const char*); 2115*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_enter(struct soap*, const char*); 2116*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_resolve(struct soap*); 2117*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_embedded(struct soap*, const void *p, int t); 2118*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_reference(struct soap*, const void *p, int t); 2119*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_array_reference(struct soap*, const void *p, const struct soap_array *a, int n, int t); 2120*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_embedded_id(struct soap*, int id, const void *p, int t); 2121*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_is_embedded(struct soap*, struct soap_plist*); 2122*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_is_single(struct soap*, struct soap_plist*); 2123*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_embedded(struct soap*, struct soap_plist*); 2124*12720SWyllys.Ingersoll@Sun.COM #endif 2125*12720SWyllys.Ingersoll@Sun.COM 2126*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_begin_count(struct soap*); 2127*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_end_count(struct soap*); 2128*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_begin_send(struct soap*); 2129*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_end_send(struct soap*); 2130*12720SWyllys.Ingersoll@Sun.COM 2131*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const struct soap_code_map* SOAP_FMAC2 soap_code(const struct soap_code_map*, const char*); 2132*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 long SOAP_FMAC2 soap_code_int(const struct soap_code_map*, const char*, long); 2133*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_str(const struct soap_code_map*, long); 2134*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 long SOAP_FMAC2 soap_code_bits(const struct soap_code_map*, const char*); 2135*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_list(struct soap*, const struct soap_code_map*, long); 2136*12720SWyllys.Ingersoll@Sun.COM 2137*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getline(struct soap*, char*, int); 2138*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_begin_recv(struct soap*); 2139*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_end_recv(struct soap*); 2140*12720SWyllys.Ingersoll@Sun.COM 2141*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_malloc(struct soap*, size_t); 2142*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_dealloc(struct soap*, void*); 2143*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_clist * SOAP_FMAC2 soap_link(struct soap*, void*, int, int, int (*fdelete)(struct soap_clist*)); 2144*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_unlink(struct soap*, const void*); 2145*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_free_temp(struct soap*); 2146*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_del(struct soap*); 2147*12720SWyllys.Ingersoll@Sun.COM 2148*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_track_malloc(struct soap*, const char*, int, size_t); 2149*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_track_free(struct soap*, const char*, int, void*); 2150*12720SWyllys.Ingersoll@Sun.COM 2151*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF 2152*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_lookup_type(struct soap*, const char *id); 2153*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_id_lookup(struct soap*, const char *id, void **p, int t, size_t n, unsigned int k); 2154*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_id_forward(struct soap*, const char *id, void *p, size_t len, int st, int tt, size_t n, unsigned int k, void(*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t)); 2155*12720SWyllys.Ingersoll@Sun.COM #endif 2156*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_id_enter(struct soap*, const char *id, void *p, int t, size_t n, unsigned int k, const char *type, const char *arrayType, void *(*finstantiate)(struct soap*, int, const char*, const char*, size_t*)); 2157*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t, const void *q, size_t n); 2158*12720SWyllys.Ingersoll@Sun.COM 2159*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_size(const int *, int); 2160*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getoffsets(const char *, const int *, int *, int); 2161*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getsize(const char *, const char *, int *); 2162*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getsizes(const char *, int *, int); 2163*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getposition(const char *, int *); 2164*12720SWyllys.Ingersoll@Sun.COM 2165*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_putsize(struct soap*, const char *, int); 2166*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizesoffsets(struct soap*, const char *, const int *, const int *, int); 2167*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizes(struct soap*, const char *, const int *, int); 2168*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffset(struct soap*, int); 2169*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffsets(struct soap*, const int *, int); 2170*12720SWyllys.Ingersoll@Sun.COM 2171*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_closesock(struct soap*); 2172*12720SWyllys.Ingersoll@Sun.COM 2173*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new(void); 2174*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new1(soap_mode); 2175*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new2(soap_mode, soap_mode); 2176*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_free(struct soap*); 2177*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy(const struct soap*); 2178*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy_context(struct soap*, const struct soap*); 2179*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_copy_stream(struct soap*, struct soap*); 2180*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_free_stream(struct soap*); 2181*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_init(struct soap*); 2182*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_init1(struct soap*, soap_mode); 2183*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_init2(struct soap*, soap_mode, soap_mode); 2184*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_done(struct soap*); 2185*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_cleanup(struct soap*); 2186*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_begin(struct soap*); 2187*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_end(struct soap*); 2188*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_delete(struct soap*, void*); 2189*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_delegate_deletion(struct soap*, struct soap*); 2190*12720SWyllys.Ingersoll@Sun.COM 2191*12720SWyllys.Ingersoll@Sun.COM /* API functions available with DEBUG or SOAP_DEBUG defined: */ 2192*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_recv_logfile(struct soap*, const char*); 2193*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_sent_logfile(struct soap*, const char*); 2194*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_test_logfile(struct soap*, const char*); 2195*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_close_logfiles(struct soap*); 2196*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_open_logfile(struct soap*, int); 2197*12720SWyllys.Ingersoll@Sun.COM /* */ 2198*12720SWyllys.Ingersoll@Sun.COM 2199*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_value(struct soap*); 2200*12720SWyllys.Ingersoll@Sun.COM 2201*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_match_tag(struct soap*, const char*, const char *); 2202*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_match_array(struct soap*, const char*); 2203*12720SWyllys.Ingersoll@Sun.COM 2204*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element(struct soap*, const char*, int, const char*); 2205*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_out(struct soap*, const char *tag, int id, const char *type); 2206*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_array_begin_out(struct soap*, const char *tag, int id, const char *type, const char *offset); 2207*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_ref(struct soap*, const char *tag, int id, int href); 2208*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_href(struct soap*, const char *tag, int id, const char *ref, const char *val); 2209*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_null(struct soap*, const char *tag, int id, const char *type); 2210*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_id(struct soap*, const char *tag, int id, const void *p, const struct soap_array *a, int d, const char *type, int n); 2211*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_result(struct soap*, const char *tag); 2212*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_check_result(struct soap*, const char *tag); 2213*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_out(struct soap*, const char *tag); 2214*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_start_end_out(struct soap*, const char *tag); 2215*12720SWyllys.Ingersoll@Sun.COM 2216*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_attribute(struct soap*, const char*, const char*); 2217*12720SWyllys.Ingersoll@Sun.COM 2218*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_in(struct soap*, const char *tag, int nillable, const char *type); 2219*12720SWyllys.Ingersoll@Sun.COM 2220*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_in(struct soap*, const char *tag); 2221*12720SWyllys.Ingersoll@Sun.COM 2222*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_peek_element(struct soap*); 2223*12720SWyllys.Ingersoll@Sun.COM 2224*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_retry(struct soap*); 2225*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_revert(struct soap*); 2226*12720SWyllys.Ingersoll@Sun.COM 2227*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_strdup(struct soap*, const char*); 2228*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstrdup(struct soap*, const wchar_t*); 2229*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char * SOAP_FMAC2 soap_tagsearch(const char *big, const char *little); 2230*12720SWyllys.Ingersoll@Sun.COM 2231*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_string_out(struct soap*, const char *s, int flag); 2232*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_string_in(struct soap*, int, long, long); 2233*12720SWyllys.Ingersoll@Sun.COM 2234*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 2235*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_wstring_out(struct soap*, const wchar_t *s, int flag); 2236*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstring_in(struct soap*, int, long, long); 2237*12720SWyllys.Ingersoll@Sun.COM #endif 2238*12720SWyllys.Ingersoll@Sun.COM 2239*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_match_namespace(struct soap*, const char *, const char*, size_t n1, size_t n2); 2240*12720SWyllys.Ingersoll@Sun.COM 2241*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_namespaces(struct soap*, const struct Namespace*); 2242*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_local_namespaces(struct soap*); 2243*12720SWyllys.Ingersoll@Sun.COM 2244*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_pop_namespace(struct soap*); 2245*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_push_namespace(struct soap*, const char *,const char *); 2246*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_current_namespace(struct soap *soap, const char *tag); 2247*12720SWyllys.Ingersoll@Sun.COM 2248*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_lookup_ns(struct soap *soap, const char *tag, size_t n); 2249*12720SWyllys.Ingersoll@Sun.COM 2250*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_store_lab(struct soap*, const char*, size_t); 2251*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_append_lab(struct soap*, const char*, size_t); 2252*12720SWyllys.Ingersoll@Sun.COM 2253*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_blist* SOAP_FMAC2 soap_new_block(struct soap*); 2254*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_push_block(struct soap*, struct soap_blist*, size_t); 2255*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_pop_block(struct soap*, struct soap_blist*); 2256*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 size_t SOAP_FMAC2 soap_size_block(struct soap*, struct soap_blist*, size_t); 2257*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_first_block(struct soap*, struct soap_blist*); 2258*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_next_block(struct soap*, struct soap_blist*); 2259*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 size_t SOAP_FMAC2 soap_block_size(struct soap*, struct soap_blist*); 2260*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_save_block(struct soap*, struct soap_blist*, char*, int); 2261*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_end_block(struct soap*, struct soap_blist*); 2262*12720SWyllys.Ingersoll@Sun.COM 2263*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_out(struct soap*); 2264*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int soap_envelope_end_out(struct soap*); 2265*12720SWyllys.Ingersoll@Sun.COM 2266*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_in(struct soap*); 2267*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_in(struct soap*); 2268*12720SWyllys.Ingersoll@Sun.COM 2269*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_out(struct soap*); 2270*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_out(struct soap*); 2271*12720SWyllys.Ingersoll@Sun.COM 2272*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_in(struct soap*); 2273*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_in(struct soap*); 2274*12720SWyllys.Ingersoll@Sun.COM 2275*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_recv_header(struct soap*); 2276*12720SWyllys.Ingersoll@Sun.COM 2277*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_response(struct soap*, int); 2278*12720SWyllys.Ingersoll@Sun.COM 2279*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send_empty_response(struct soap*, int status); 2280*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_recv_empty_response(struct soap*); 2281*12720SWyllys.Ingersoll@Sun.COM 2282*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_send_fault(struct soap*); 2283*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*, int check); 2284*12720SWyllys.Ingersoll@Sun.COM 2285*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOSTDLIB 2286*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap*, FILE*); 2287*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap*, FILE*); 2288*12720SWyllys.Ingersoll@Sun.COM # ifndef WITH_LEAN 2289*12720SWyllys.Ingersoll@Sun.COM # ifdef __cplusplus 2290*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_stream_fault(struct soap*, std::ostream&); 2291*12720SWyllys.Ingersoll@Sun.COM # endif 2292*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_sprint_fault(struct soap*, char*, size_t); 2293*12720SWyllys.Ingersoll@Sun.COM # endif 2294*12720SWyllys.Ingersoll@Sun.COM #endif 2295*12720SWyllys.Ingersoll@Sun.COM 2296*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2byte(struct soap*, const char*, char*); 2297*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2short(struct soap*, const char*, short*); 2298*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2int(struct soap*, const char*, int*); 2299*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2long(struct soap*, const char*, long*); 2300*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2LONG64(struct soap*, const char*, LONG64*); 2301*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2float(struct soap*, const char*, float*); 2302*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2double(struct soap*, const char*, double*); 2303*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedByte(struct soap*, const char*, unsigned char*); 2304*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedShort(struct soap*, const char*, unsigned short*); 2305*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedInt(struct soap*, const char*, unsigned int*); 2306*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedLong(struct soap*, const char*, unsigned long*); 2307*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2ULONG64(struct soap*, const char*, ULONG64*); 2308*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2string(struct soap*, const char*, char**, long minlen, long maxlen); 2309*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2QName(struct soap*, const char*, char**, long minlen, long maxlen); 2310*12720SWyllys.Ingersoll@Sun.COM 2311*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 2312*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2wchar(struct soap*, const char*, wchar_t**, long minlen, long maxlen); 2313*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_s2dateTime(struct soap*, const char*, time_t*); 2314*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_s2base64(struct soap*, const unsigned char*, char*, int); 2315*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_s2hex(struct soap*, const unsigned char*, char*, int); 2316*12720SWyllys.Ingersoll@Sun.COM #endif 2317*12720SWyllys.Ingersoll@Sun.COM 2318*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_byte2s(struct soap*, char); 2319*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_short2s(struct soap*, short); 2320*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_int2s(struct soap*, int); 2321*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_long2s(struct soap*, long); 2322*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_LONG642s(struct soap*, LONG64); 2323*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_float2s(struct soap*, float); 2324*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_double2s(struct soap*, double); 2325*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedByte2s(struct soap*, unsigned char); 2326*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedShort2s(struct soap*, unsigned short); 2327*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedInt2s(struct soap*, unsigned int); 2328*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedLong2s(struct soap*, unsigned long); 2329*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_ULONG642s(struct soap*, ULONG64); 2330*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_QName2s(struct soap*, const char*); 2331*12720SWyllys.Ingersoll@Sun.COM 2332*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 2333*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_wchar2s(struct soap*, const wchar_t*); 2334*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_dateTime2s(struct soap*, time_t); 2335*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_base642s(struct soap*, const char*, char*, size_t, int*); 2336*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_hex2s(struct soap*, const char*, char*, size_t, int*); 2337*12720SWyllys.Ingersoll@Sun.COM #endif 2338*12720SWyllys.Ingersoll@Sun.COM 2339*12720SWyllys.Ingersoll@Sun.COM 2340*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int* SOAP_FMAC2 soap_inint(struct soap*, const char *tag, int *p, const char *, int); 2341*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_inbyte(struct soap*, const char *tag, char *p, const char *, int); 2342*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 long* SOAP_FMAC2 soap_inlong(struct soap*, const char *tag, long *p, const char *, int); 2343*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 LONG64* SOAP_FMAC2 soap_inLONG64(struct soap*, const char *tag, LONG64 *p, const char *, int); 2344*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 short* SOAP_FMAC2 soap_inshort(struct soap*, const char *tag, short *p, const char *, int); 2345*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 float* SOAP_FMAC2 soap_infloat(struct soap*, const char *tag, float *p, const char *, int); 2346*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 double* SOAP_FMAC2 soap_indouble(struct soap*, const char *tag, double *p, const char *, int); 2347*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_inunsignedByte(struct soap*, const char *tag, unsigned char *p, const char *, int); 2348*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned short* SOAP_FMAC2 soap_inunsignedShort(struct soap*, const char *tag, unsigned short *p, const char *, int); 2349*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned int* SOAP_FMAC2 soap_inunsignedInt(struct soap*, const char *tag, unsigned int *p, const char *, int); 2350*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 unsigned long* SOAP_FMAC2 soap_inunsignedLong(struct soap*, const char *tag, unsigned long *p, const char *, int); 2351*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 ULONG64* SOAP_FMAC2 soap_inULONG64(struct soap*, const char *tag, ULONG64 *p, const char *, int); 2352*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char** SOAP_FMAC2 soap_instring(struct soap*, const char *tag, char **p, const char *, int, int, long, long); 2353*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char** SOAP_FMAC2 soap_inliteral(struct soap*, const char *tag, char **p); 2354*12720SWyllys.Ingersoll@Sun.COM 2355*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 2356*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 time_t* SOAP_FMAC2 soap_indateTime(struct soap*, const char *tag, time_t *p, const char *, int); 2357*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 time_t SOAP_FMAC2 soap_timegm(struct tm*); 2358*12720SWyllys.Ingersoll@Sun.COM #endif 2359*12720SWyllys.Ingersoll@Sun.COM 2360*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 2361*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwstring(struct soap*, const char *tag, wchar_t **p, const char *, int, long, long); 2362*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwliteral(struct soap*, const char *tag, wchar_t **p); 2363*12720SWyllys.Ingersoll@Sun.COM #endif 2364*12720SWyllys.Ingersoll@Sun.COM 2365*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outbyte(struct soap*, const char *tag, int id, const char *p, const char *, int); 2366*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outshort(struct soap*, const char *tag, int id, const short *p, const char *, int); 2367*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outint(struct soap*, const char *tag, int id, const int *p, const char *, int); 2368*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outlong(struct soap*, const char *tag, int id, const long *p, const char *, int); 2369*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outLONG64(struct soap*, const char *tag, int id, const LONG64 *p, const char *, int); 2370*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outfloat(struct soap*, const char *tag, int id, const float *p, const char *, int); 2371*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outdouble(struct soap*, const char *tag, int id, const double *p, const char *, int); 2372*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedByte(struct soap*, const char *tag, int id, const unsigned char *p, const char *, int); 2373*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedShort(struct soap*, const char *tag, int id, const unsigned short *p, const char *, int); 2374*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedInt(struct soap*, const char *tag, int id, const unsigned int *p, const char *, int); 2375*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedLong(struct soap*, const char *tag, int id, const unsigned long *p, const char *, int); 2376*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outULONG64(struct soap*, const char *tag, int id, const ULONG64 *p, const char *, int); 2377*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outstring(struct soap*, const char *tag, int id, char *const*p, const char *, int); 2378*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outliteral(struct soap*, const char *tag, char *const*p, const char *type); 2379*12720SWyllys.Ingersoll@Sun.COM 2380*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEAN 2381*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outdateTime(struct soap*, const char *tag, int id, const time_t *p, const char *, int); 2382*12720SWyllys.Ingersoll@Sun.COM #endif 2383*12720SWyllys.Ingersoll@Sun.COM 2384*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 2385*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outwstring(struct soap*, const char *tag, int id, wchar_t *const*p, const char *, int); 2386*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_outwliteral(struct soap*, const char *tag, wchar_t *const*p, const char *type); 2387*12720SWyllys.Ingersoll@Sun.COM #endif 2388*12720SWyllys.Ingersoll@Sun.COM 2389*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_LEANER 2390*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_attachment(struct soap *, const char*, int, const void*, const struct soap_array*, const char*, const char*, const char*, int, const char*, int); 2391*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_move(struct soap*, long); 2392*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 size_t SOAP_FMAC2 soap_tell(struct soap*); 2393*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 char* SOAP_FMAC2 soap_dime_option(struct soap*, unsigned short, const char*); 2394*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getdimehdr(struct soap*); 2395*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getdime(struct soap*); 2396*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putdimehdr(struct soap*); 2397*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putdime(struct soap*); 2398*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getmimehdr(struct soap*); 2399*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_getmime(struct soap*); 2400*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putmimehdr(struct soap*, struct soap_multipart*); 2401*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putmime(struct soap*); 2402*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_dime(struct soap*); 2403*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_set_mime(struct soap*, const char *boundary, const char *start); 2404*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_clr_dime(struct soap*); 2405*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_clr_mime(struct soap*); 2406*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_dime_attachment(struct soap*, char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option); 2407*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_mime_attachment(struct soap*, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description); 2408*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_post_check_mime_attachments(struct soap *soap); 2409*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_check_mime_attachments(struct soap *soap); 2410*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_get_mime_attachment(struct soap *soap, void *handle); 2411*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_match_cid(struct soap*, const char*, const char*); 2412*12720SWyllys.Ingersoll@Sun.COM #endif 2413*12720SWyllys.Ingersoll@Sun.COM 2414*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_register_plugin_arg(struct soap*, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void*); 2415*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void* SOAP_FMAC2 soap_lookup_plugin(struct soap*, const char*); 2416*12720SWyllys.Ingersoll@Sun.COM 2417*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 const char* SOAP_FMAC2 soap_attr_value(struct soap *soap, const char *name, int flag); 2418*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_set_attr(struct soap *soap, const char *name, const char *value, int flag); 2419*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_clr_attr(struct soap *soap); 2420*12720SWyllys.Ingersoll@Sun.COM 2421*12720SWyllys.Ingersoll@Sun.COM #ifdef WITH_COOKIES 2422*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 void SOAP_FMAC2 soap_getcookies(struct soap *soap, const char *val); 2423*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 size_t SOAP_FMAC2 soap_encode_cookie(const char*, char*, size_t); 2424*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_set_cookie(struct soap*, const char*, const char*, const char*, const char*); 2425*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_cookie(struct soap*, const char*, const char*, const char*); 2426*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern char* SOAP_FMAC2 soap_cookie_value(struct soap*, const char*, const char*, const char*); 2427*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern char* SOAP_FMAC2 soap_env_cookie_value(struct soap*, const char*, const char*, const char*); 2428*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern time_t SOAP_FMAC2 soap_cookie_expire(struct soap*, const char*, const char*, const char*); 2429*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_expire(struct soap*, const char*, long, const char*, const char*); 2430*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_session(struct soap*, const char*, const char*, const char*); 2431*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern int SOAP_FMAC2 soap_clr_cookie_session(struct soap*, const char*, const char*, const char*); 2432*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern void SOAP_FMAC2 soap_clr_cookie(struct soap*, const char*, const char*, const char*); 2433*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern int SOAP_FMAC2 soap_getenv_cookies(struct soap*); 2434*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_copy_cookies(struct soap*, const struct soap*); 2435*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 extern void SOAP_FMAC2 soap_free_cookies(struct soap*); 2436*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putsetcookies(struct soap *soap); 2437*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 int SOAP_FMAC2 soap_putcookies(struct soap *soap, const char *domain, const char *path, int secure); 2438*12720SWyllys.Ingersoll@Sun.COM #endif 2439*12720SWyllys.Ingersoll@Sun.COM 2440*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus 2441*12720SWyllys.Ingersoll@Sun.COM } /* extern "C" */ 2442*12720SWyllys.Ingersoll@Sun.COM #endif 2443*12720SWyllys.Ingersoll@Sun.COM 2444*12720SWyllys.Ingersoll@Sun.COM #endif /* STDSOAP_H */ 2445