/* optH.h
   Generated by gSOAP 2.8.77 for opt.h

gSOAP XML Web services tools
Copyright (C) 2000-2018, Robert van Engelen, Genivia Inc. All Rights Reserved.
The soapcpp2 tool and its generated software are released under the GPL.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
A commercial use license is available from Genivia Inc., contact@genivia.com
--------------------------------------------------------------------------------
*/

#ifndef optH_H
#define optH_H
#include "optStub.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef WITH_NOIDREF
SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);
SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);
SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);
#endif
SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap*, const char*, int*);
SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);
SOAP_FMAC3 void * SOAP_FMAC4 soap_dupelement(struct soap*, const void*, int);
SOAP_FMAC3 void SOAP_FMAC4 soap_delelement(const void*, int);
SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);

SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap);

#ifndef SOAP_TYPE_byte_DEFINED
#define SOAP_TYPE_byte_DEFINED

#ifdef SOAP_DEFAULT_byte
#define soap_default_byte(soap, a) (*(a) = SOAP_DEFAULT_byte)
#else
#define soap_default_byte(soap, a) (*(a) = (char)0)
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap*, const char*, int, const char *, const char*);
SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap*, const char*, char *, const char*);

SOAP_FMAC3 char * SOAP_FMAC4 soap_new_byte(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap*, const char *, const char*, const char*);

#ifndef soap_write_byte
#define soap_write_byte(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || soap_put_byte(soap, data, "byte", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_byte
#define soap_PUT_byte(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_byte(soap, data, "byte", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_byte
#define soap_PATCH_byte(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_byte(soap, data, "byte", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_byte
#define soap_POST_send_byte(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_byte(soap, data, "byte", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap*, char *, const char*, const char*);

#ifndef soap_read_byte
#define soap_read_byte(soap, data) ( soap_begin_recv(soap) || !soap_get_byte(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_byte
#define soap_GET_byte(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_byte(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_byte
#define soap_POST_recv_byte(soap, data) ( soap_read_byte(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#ifndef SOAP_TYPE_int_DEFINED
#define SOAP_TYPE_int_DEFINED

#ifdef SOAP_DEFAULT_int
#define soap_default_int(soap, a) (*(a) = SOAP_DEFAULT_int)
#else
#define soap_default_int(soap, a) (*(a) = (int)0)
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap*, const char*, int, const int *, const char*);
SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap*, const char*, int *, const char*);

SOAP_FMAC3 int * SOAP_FMAC4 soap_new_int(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap*, const int *, const char*, const char*);

#ifndef soap_write_int
#define soap_write_int(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || soap_put_int(soap, data, "int", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_int
#define soap_PUT_int(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_int(soap, data, "int", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_int
#define soap_PATCH_int(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_int(soap, data, "int", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_int
#define soap_POST_send_int(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_int(soap, data, "int", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap*, int *, const char*, const char*);

#ifndef soap_read_int
#define soap_read_int(soap, data) ( soap_begin_recv(soap) || !soap_get_int(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_int
#define soap_GET_int(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_int(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_int
#define soap_POST_recv_int(soap, data) ( soap_read_int(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_SOAP_ENV__Fault_DEFINED
#define SOAP_TYPE_SOAP_ENV__Fault_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap*, const char*, int, const struct SOAP_ENV__Fault *, const char*);
SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap*, const char*, struct SOAP_ENV__Fault *, const char*);

SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_new_SOAP_ENV__Fault(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *, const char*, const char*);

#ifndef soap_write_SOAP_ENV__Fault
#define soap_write_SOAP_ENV__Fault(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Fault(soap, data), 0) || soap_put_SOAP_ENV__Fault(soap, data, "SOAP-ENV:Fault", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_SOAP_ENV__Fault
#define soap_PUT_SOAP_ENV__Fault(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Fault(soap, data), 0) || soap_put_SOAP_ENV__Fault(soap, data, "SOAP-ENV:Fault", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_SOAP_ENV__Fault
#define soap_PATCH_SOAP_ENV__Fault(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Fault(soap, data), 0) || soap_put_SOAP_ENV__Fault(soap, data, "SOAP-ENV:Fault", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_SOAP_ENV__Fault
#define soap_POST_send_SOAP_ENV__Fault(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Fault(soap, data), 0) || soap_put_SOAP_ENV__Fault(soap, data, "SOAP-ENV:Fault", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *, const char*, const char*);

#ifndef soap_read_SOAP_ENV__Fault
#define soap_read_SOAP_ENV__Fault(soap, data) ( ((data) ? (soap_default_SOAP_ENV__Fault(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_SOAP_ENV__Fault(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_SOAP_ENV__Fault
#define soap_GET_SOAP_ENV__Fault(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_SOAP_ENV__Fault(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_SOAP_ENV__Fault
#define soap_POST_recv_SOAP_ENV__Fault(soap, data) ( soap_read_SOAP_ENV__Fault(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_SOAP_ENV__Reason_DEFINED
#define SOAP_TYPE_SOAP_ENV__Reason_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap*, const char*, int, const struct SOAP_ENV__Reason *, const char*);
SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap*, const char*, struct SOAP_ENV__Reason *, const char*);

SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_new_SOAP_ENV__Reason(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *, const char*, const char*);

#ifndef soap_write_SOAP_ENV__Reason
#define soap_write_SOAP_ENV__Reason(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Reason(soap, data), 0) || soap_put_SOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_SOAP_ENV__Reason
#define soap_PUT_SOAP_ENV__Reason(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Reason(soap, data), 0) || soap_put_SOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_SOAP_ENV__Reason
#define soap_PATCH_SOAP_ENV__Reason(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Reason(soap, data), 0) || soap_put_SOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_SOAP_ENV__Reason
#define soap_POST_send_SOAP_ENV__Reason(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Reason(soap, data), 0) || soap_put_SOAP_ENV__Reason(soap, data, "SOAP-ENV:Reason", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *, const char*, const char*);

#ifndef soap_read_SOAP_ENV__Reason
#define soap_read_SOAP_ENV__Reason(soap, data) ( ((data) ? (soap_default_SOAP_ENV__Reason(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_SOAP_ENV__Reason(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_SOAP_ENV__Reason
#define soap_GET_SOAP_ENV__Reason(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_SOAP_ENV__Reason(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_SOAP_ENV__Reason
#define soap_POST_recv_SOAP_ENV__Reason(soap, data) ( soap_read_SOAP_ENV__Reason(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_SOAP_ENV__Detail_DEFINED
#define SOAP_TYPE_SOAP_ENV__Detail_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap*, const char*, int, const struct SOAP_ENV__Detail *, const char*);
SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap*, const char*, struct SOAP_ENV__Detail *, const char*);

SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_new_SOAP_ENV__Detail(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *, const char*, const char*);

#ifndef soap_write_SOAP_ENV__Detail
#define soap_write_SOAP_ENV__Detail(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Detail(soap, data), 0) || soap_put_SOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_SOAP_ENV__Detail
#define soap_PUT_SOAP_ENV__Detail(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Detail(soap, data), 0) || soap_put_SOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_SOAP_ENV__Detail
#define soap_PATCH_SOAP_ENV__Detail(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Detail(soap, data), 0) || soap_put_SOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_SOAP_ENV__Detail
#define soap_POST_send_SOAP_ENV__Detail(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Detail(soap, data), 0) || soap_put_SOAP_ENV__Detail(soap, data, "SOAP-ENV:Detail", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *, const char*, const char*);

#ifndef soap_read_SOAP_ENV__Detail
#define soap_read_SOAP_ENV__Detail(soap, data) ( ((data) ? (soap_default_SOAP_ENV__Detail(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_SOAP_ENV__Detail(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_SOAP_ENV__Detail
#define soap_GET_SOAP_ENV__Detail(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_SOAP_ENV__Detail(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_SOAP_ENV__Detail
#define soap_POST_recv_SOAP_ENV__Detail(soap, data) ( soap_read_SOAP_ENV__Detail(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_SOAP_ENV__Code_DEFINED
#define SOAP_TYPE_SOAP_ENV__Code_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap*, const char*, int, const struct SOAP_ENV__Code *, const char*);
SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap*, const char*, struct SOAP_ENV__Code *, const char*);

SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_new_SOAP_ENV__Code(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *, const char*, const char*);

#ifndef soap_write_SOAP_ENV__Code
#define soap_write_SOAP_ENV__Code(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Code(soap, data), 0) || soap_put_SOAP_ENV__Code(soap, data, "SOAP-ENV:Code", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_SOAP_ENV__Code
#define soap_PUT_SOAP_ENV__Code(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Code(soap, data), 0) || soap_put_SOAP_ENV__Code(soap, data, "SOAP-ENV:Code", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_SOAP_ENV__Code
#define soap_PATCH_SOAP_ENV__Code(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Code(soap, data), 0) || soap_put_SOAP_ENV__Code(soap, data, "SOAP-ENV:Code", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_SOAP_ENV__Code
#define soap_POST_send_SOAP_ENV__Code(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Code(soap, data), 0) || soap_put_SOAP_ENV__Code(soap, data, "SOAP-ENV:Code", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *, const char*, const char*);

#ifndef soap_read_SOAP_ENV__Code
#define soap_read_SOAP_ENV__Code(soap, data) ( ((data) ? (soap_default_SOAP_ENV__Code(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_SOAP_ENV__Code(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_SOAP_ENV__Code
#define soap_GET_SOAP_ENV__Code(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_SOAP_ENV__Code(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_SOAP_ENV__Code
#define soap_POST_recv_SOAP_ENV__Code(soap, data) ( soap_read_SOAP_ENV__Code(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_SOAP_ENV__Header_DEFINED
#define SOAP_TYPE_SOAP_ENV__Header_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap*, const char*, int, const struct SOAP_ENV__Header *, const char*);
SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap*, const char*, struct SOAP_ENV__Header *, const char*);

SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_new_SOAP_ENV__Header(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *, const char*, const char*);

#ifndef soap_write_SOAP_ENV__Header
#define soap_write_SOAP_ENV__Header(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_SOAP_ENV__Header(soap, data), 0) || soap_put_SOAP_ENV__Header(soap, data, "SOAP-ENV:Header", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_SOAP_ENV__Header
#define soap_PUT_SOAP_ENV__Header(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Header(soap, data), 0) || soap_put_SOAP_ENV__Header(soap, data, "SOAP-ENV:Header", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_SOAP_ENV__Header
#define soap_PATCH_SOAP_ENV__Header(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Header(soap, data), 0) || soap_put_SOAP_ENV__Header(soap, data, "SOAP-ENV:Header", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_SOAP_ENV__Header
#define soap_POST_send_SOAP_ENV__Header(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_SOAP_ENV__Header(soap, data), 0) || soap_put_SOAP_ENV__Header(soap, data, "SOAP-ENV:Header", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *, const char*, const char*);

#ifndef soap_read_SOAP_ENV__Header
#define soap_read_SOAP_ENV__Header(soap, data) ( ((data) ? (soap_default_SOAP_ENV__Header(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_SOAP_ENV__Header(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_SOAP_ENV__Header
#define soap_GET_SOAP_ENV__Header(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_SOAP_ENV__Header(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_SOAP_ENV__Header
#define soap_POST_recv_SOAP_ENV__Header(soap, data) ( soap_read_SOAP_ENV__Header(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#endif

#ifndef SOAP_TYPE_t__Option_DEFINED
#define SOAP_TYPE_t__Option_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_default_t__Option(struct soap*, struct t__Option *);
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_t__Option(struct soap*, const struct t__Option *);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_t__Option(struct soap*, const char*, int, const struct t__Option *, const char*);
SOAP_FMAC3 struct t__Option * SOAP_FMAC4 soap_in_t__Option(struct soap*, const char*, struct t__Option *, const char*);

SOAP_FMAC3 struct t__Option * SOAP_FMAC4 soap_new_t__Option(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_t__Option(struct soap*, const struct t__Option *, const char*, const char*);

#ifndef soap_write_t__Option
#define soap_write_t__Option(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || (soap_serialize_t__Option(soap, data), 0) || soap_put_t__Option(soap, data, "t:Option", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_t__Option
#define soap_PUT_t__Option(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_t__Option(soap, data), 0) || soap_put_t__Option(soap, data, "t:Option", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_t__Option
#define soap_PATCH_t__Option(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_t__Option(soap, data), 0) || soap_put_t__Option(soap, data, "t:Option", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_t__Option
#define soap_POST_send_t__Option(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || (soap_serialize_t__Option(soap, data), 0) || soap_put_t__Option(soap, data, "t:Option", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 struct t__Option * SOAP_FMAC4 soap_get_t__Option(struct soap*, struct t__Option *, const char*, const char*);

#ifndef soap_read_t__Option
#define soap_read_t__Option(soap, data) ( ((data) ? (soap_default_t__Option(soap, (data)), 0) : 0) || soap_begin_recv(soap) || !soap_get_t__Option(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_t__Option
#define soap_GET_t__Option(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_t__Option(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_t__Option
#define soap_POST_recv_t__Option(soap, data) ( soap_read_t__Option(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason_DEFINED
#define SOAP_TYPE_PointerToSOAP_ENV__Reason_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap*, const char *, int, struct SOAP_ENV__Reason *const*, const char *);
SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap*, const char*, struct SOAP_ENV__Reason **, const char*);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*, const char*, const char*);
SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason **, const char*, const char*);
#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail_DEFINED
#define SOAP_TYPE_PointerToSOAP_ENV__Detail_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap*, const char *, int, struct SOAP_ENV__Detail *const*, const char *);
SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap*, const char*, struct SOAP_ENV__Detail **, const char*);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*, const char*, const char*);
SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail **, const char*, const char*);
#endif

#endif

#ifndef WITH_NOGLOBAL

#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code_DEFINED
#define SOAP_TYPE_PointerToSOAP_ENV__Code_DEFINED
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*);
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap*, const char *, int, struct SOAP_ENV__Code *const*, const char *);
SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap*, const char*, struct SOAP_ENV__Code **, const char*);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*, const char*, const char*);
SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code **, const char*, const char*);
#endif

#endif

#ifndef SOAP_TYPE__QName_DEFINED
#define SOAP_TYPE__QName_DEFINED

#ifdef SOAP_DEFAULT__QName
#define soap_default__QName(soap, a) (*(a) = SOAP_DEFAULT__QName)
#else
#define soap_default__QName(soap, a) (*(a) = (char *)0)
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__QName(struct soap*, char *const*);

#define soap__QName2s(soap, a) soap_QName2s(soap, (a))
SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap*, const char*, int, char*const*, const char*);

#define soap_s2_QName(soap, s, a) soap_s2QName((soap), (s), (char**)(a), 0, -1, NULL)
SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap*, const char*, char **, const char*);
#define soap_new__QName soap_new_string

SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap*, char *const*, const char*, const char*);

#ifndef soap_write__QName
#define soap_write__QName(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || soap_put__QName(soap, data, "QName", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT__QName
#define soap_PUT__QName(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put__QName(soap, data, "QName", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH__QName
#define soap_PATCH__QName(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put__QName(soap, data, "QName", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send__QName
#define soap_POST_send__QName(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put__QName(soap, data, "QName", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap*, char **, const char*, const char*);

#ifndef soap_read__QName
#define soap_read__QName(soap, data) ( soap_begin_recv(soap) || !soap_get__QName(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET__QName
#define soap_GET__QName(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read__QName(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv__QName
#define soap_POST_recv__QName(soap, data) ( soap_read__QName(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#ifndef SOAP_TYPE__XML_DEFINED
#define SOAP_TYPE__XML_DEFINED
#endif

#ifndef SOAP_TYPE_string_DEFINED
#define SOAP_TYPE_string_DEFINED

#ifdef SOAP_DEFAULT_string
#define soap_default_string(soap, a) (*(a) = SOAP_DEFAULT_string)
#else
#define soap_default_string(soap, a) (*(a) = (char *)0)
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap*, char *const*);

#define soap_string2s(soap, a) (a)
SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap*, const char*, int, char*const*, const char*);

#define soap_s2string(soap, s, a) soap_s2char((soap), (s), (char**)(a), 1, 0, -1, NULL)
SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap*, const char*, char **, const char*);

SOAP_FMAC3 char * * SOAP_FMAC4 soap_new_string(struct soap *soap, int n);
SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap*, char *const*, const char*, const char*);

#ifndef soap_write_string
#define soap_write_string(soap, data) ( soap_free_temp(soap), soap_begin_send(soap) || soap_put_string(soap, data, "string", "") || soap_end_send(soap), (soap)->error )
#endif


#ifndef soap_PUT_string
#define soap_PUT_string(soap, URL, data) ( soap_free_temp(soap), soap_PUT(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_string(soap, data, "string", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_PATCH_string
#define soap_PATCH_string(soap, URL, data) ( soap_free_temp(soap), soap_PATCH(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_string(soap, data, "string", "") || soap_end_send(soap) || soap_recv_empty_response(soap), soap_closesock(soap) )
#endif


#ifndef soap_POST_send_string
#define soap_POST_send_string(soap, URL, data) ( soap_free_temp(soap), ( soap_POST(soap, URL, NULL, "text/xml; charset=utf-8") || soap_put_string(soap, data, "string", "") || soap_end_send(soap) ) && soap_closesock(soap), (soap)->error )
#endif

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap*, char **, const char*, const char*);

#ifndef soap_read_string
#define soap_read_string(soap, data) ( soap_begin_recv(soap) || !soap_get_string(soap, (data), NULL, NULL) || soap_end_recv(soap), (soap)->error )
#endif


#ifndef soap_GET_string
#define soap_GET_string(soap, URL, data) ( soap_GET(soap, URL, NULL) || soap_read_string(soap, (data)), soap_closesock(soap) )
#endif


#ifndef soap_POST_recv_string
#define soap_POST_recv_string(soap, data) ( soap_read_string(soap, (data)) || soap_closesock(soap), (soap)->error )
#endif

#endif

#ifdef __cplusplus
}
#endif

#endif

/* End of optH.h */
