2 * Copyright 2015 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_WEBSERVICES_H
20 #define __WINE_WEBSERVICES_H
24 #endif /* __cplusplus */
26 typedef struct _WS_ERROR WS_ERROR
;
27 typedef struct _WS_HEAP WS_HEAP
;
28 typedef struct _WS_XML_BUFFER WS_XML_BUFFER
;
29 typedef struct _WS_XML_READER WS_XML_READER
;
30 typedef struct _WS_XML_WRITER WS_XML_WRITER
;
32 struct _WS_STRUCT_DESCRIPTION
;
33 struct _WS_XML_STRING
;
36 WS_ERROR_PROPERTY_STRING_COUNT
,
37 WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE
,
38 WS_ERROR_PROPERTY_LANGID
39 } WS_ERROR_PROPERTY_ID
;
41 typedef struct _WS_ERROR_PROPERTY
{
42 WS_ERROR_PROPERTY_ID id
;
48 WS_HEAP_PROPERTY_MAX_SIZE
,
49 WS_HEAP_PROPERTY_TRIM_SIZE
,
50 WS_HEAP_PROPERTY_REQUESTED_SIZE
,
51 WS_HEAP_PROPERTY_ACTUAL_SIZE
52 } WS_HEAP_PROPERTY_ID
;
54 typedef struct _WS_HEAP_PROPERTY
{
55 WS_HEAP_PROPERTY_ID id
;
60 typedef ULONG WS_XML_BUFFER_PROPERTY_ID
;
62 typedef struct _WS_XML_BUFFER_PROPERTY
{
63 WS_XML_BUFFER_PROPERTY_ID id
;
66 } WS_XML_BUFFER_PROPERTY
;
69 WS_XML_READER_PROPERTY_MAX_DEPTH
,
70 WS_XML_READER_PROPERTY_ALLOW_FRAGMENT
,
71 WS_XML_READER_PROPERTY_MAX_ATTRIBUTES
,
72 WS_XML_READER_PROPERTY_READ_DECLARATION
,
73 WS_XML_READER_PROPERTY_CHARSET
,
74 WS_XML_READER_PROPERTY_ROW
,
75 WS_XML_READER_PROPERTY_COLUMN
,
76 WS_XML_READER_PROPERTY_UTF8_TRIM_SIZE
,
77 WS_XML_READER_PROPERTY_STREAM_BUFFER_SIZE
,
78 WS_XML_READER_PROPERTY_IN_ATTRIBUTE
,
79 WS_XML_READER_PROPERTY_STREAM_MAX_ROOT_MIME_PART_SIZE
,
80 WS_XML_READER_PROPERTY_STREAM_MAX_MIME_HEADERS_SIZE
,
81 WS_XML_READER_PROPERTY_MAX_MIME_PARTS
,
82 WS_XML_READER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
,
83 WS_XML_READER_PROPERTY_MAX_NAMESPACES
84 } WS_XML_READER_PROPERTY_ID
;
86 typedef struct _WS_XML_READER_PROPERTY
{
87 WS_XML_READER_PROPERTY_ID id
;
90 } WS_XML_READER_PROPERTY
;
93 WS_XML_WRITER_PROPERTY_MAX_DEPTH
,
94 WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
,
95 WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
,
96 WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
,
97 WS_XML_WRITER_PROPERTY_INDENT
,
98 WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
,
99 WS_XML_WRITER_PROPERTY_CHARSET
,
100 WS_XML_WRITER_PROPERTY_BUFFERS
,
101 WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
,
102 WS_XML_WRITER_PROPERTY_BYTES
,
103 WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
,
104 WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
,
105 WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
,
106 WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
,
107 WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
,
108 WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
,
109 WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
,
110 WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
,
111 WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
112 } WS_XML_WRITER_PROPERTY_ID
;
114 typedef struct _WS_XML_WRITER_PROPERTY
{
115 WS_XML_WRITER_PROPERTY_ID id
;
118 } WS_XML_WRITER_PROPERTY
;
120 typedef struct _WS_BYTES
{
125 typedef struct _WS_BUFFERS
{
131 WS_XML_READER_ENCODING_TYPE_TEXT
= 1,
132 WS_XML_READER_ENCODING_TYPE_BINARY
= 2,
133 WS_XML_READER_ENCODING_TYPE_MTOM
= 3,
134 WS_XML_READER_ENCODING_TYPE_RAW
= 4
135 } WS_XML_READER_ENCODING_TYPE
;
137 typedef struct _WS_XML_READER_ENCODING
{
138 WS_XML_READER_ENCODING_TYPE encodingType
;
139 } WS_XML_READER_ENCODING
;
142 WS_XML_WRITER_ENCODING_TYPE_TEXT
= 1,
143 WS_XML_WRITER_ENCODING_TYPE_BINARY
= 2,
144 WS_XML_WRITER_ENCODING_TYPE_MTOM
= 3,
145 WS_XML_WRITER_ENCODING_TYPE_RAW
= 4
146 } WS_XML_WRITER_ENCODING_TYPE
;
148 typedef struct _WS_XML_WRITER_ENCODING
{
149 WS_XML_WRITER_ENCODING_TYPE encodingType
;
150 } WS_XML_WRITER_ENCODING
;
159 typedef struct _WS_XML_READER_TEXT_ENCODING
{
160 WS_XML_READER_ENCODING encoding
;
162 } WS_XML_READER_TEXT_ENCODING
;
164 typedef struct _WS_XML_WRITER_TEXT_ENCODING
{
165 WS_XML_WRITER_ENCODING encoding
;
167 } WS_XML_WRITER_TEXT_ENCODING
;
170 WS_XML_READER_INPUT_TYPE_BUFFER
= 1,
171 WS_XML_READER_INPUT_TYPE_STREAM
= 2
172 } WS_XML_READER_INPUT_TYPE
;
175 WS_XML_WRITER_OUTPUT_TYPE_BUFFER
= 1,
176 WS_XML_WRITER_OUTPUT_TYPE_STREAM
= 2
177 } WS_XML_WRITER_OUTPUT_TYPE
;
179 typedef struct _WS_XML_READER_INPUT
{
180 WS_XML_READER_INPUT_TYPE inputType
;
181 } WS_XML_READER_INPUT
;
183 typedef struct _WS_XML_WRITER_OUTPUT
{
184 WS_XML_WRITER_OUTPUT_TYPE outputType
;
185 } WS_XML_WRITER_OUTPUT
;
187 typedef struct _WS_XML_READER_BUFFER_INPUT
{
188 WS_XML_READER_INPUT input
;
190 ULONG encodedDataSize
;
191 } WS_XML_READER_BUFFER_INPUT
;
193 typedef struct _WS_XML_WRITER_BUFFER_OUTPUT
{
194 WS_XML_WRITER_OUTPUT output
;
195 } WS_XML_WRITER_BUFFER_OUTPUT
;
202 typedef void (CALLBACK
*WS_ASYNC_CALLBACK
)
203 (HRESULT
, WS_CALLBACK_MODEL
, void *);
205 typedef struct _WS_ASYNC_CONTEXT
{
206 WS_ASYNC_CALLBACK callback
;
210 typedef HRESULT (CALLBACK
*WS_READ_CALLBACK
)
211 (void*, void*, ULONG
, ULONG
*, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
213 typedef struct _WS_XML_READER_STREAM_INPUT
{
214 WS_XML_READER_INPUT input
;
215 WS_READ_CALLBACK readCallback
;
216 void *readCallbackState
;
217 } WS_XML_READER_STREAM_INPUT
;
219 typedef struct _WS_XML_DICTIONARY
{
221 struct _WS_XML_STRING
*strings
;
226 typedef struct _WS_XML_STRING
{
229 WS_XML_DICTIONARY
*dictionary
;
234 WS_ELEMENT_TYPE_MAPPING
= 1,
235 WS_ATTRIBUTE_TYPE_MAPPING
= 2,
236 WS_ELEMENT_CONTENT_TYPE_MAPPING
= 3,
237 WS_ANY_ELEMENT_TYPE_MAPPING
= 4
269 WS_ENDPOINT_ADDRESS_TYPE
,
275 WS_ANY_ATTRIBUTES_TYPE
279 WS_READ_REQUIRED_VALUE
= 1,
280 WS_READ_REQUIRED_POINTER
= 2,
281 WS_READ_OPTIONAL_POINTER
= 3,
282 WS_READ_NILLABLE_POINTER
= 4,
283 WS_READ_NILLABLE_VALUE
= 5
287 WS_WRITE_REQUIRED_VALUE
= 1,
288 WS_WRITE_REQUIRED_POINTER
= 2,
289 WS_WRITE_NILLABLE_VALUE
= 3,
290 WS_WRITE_NILLABLE_POINTER
= 4
294 WS_TYPE_ATTRIBUTE_FIELD_MAPPING
,
295 WS_ATTRIBUTE_FIELD_MAPPING
,
296 WS_ELEMENT_FIELD_MAPPING
,
297 WS_REPEATING_ELEMENT_FIELD_MAPPING
,
298 WS_TEXT_FIELD_MAPPING
,
300 WS_XML_ATTRIBUTE_FIELD_MAPPING
,
301 WS_ELEMENT_CHOICE_FIELD_MAPPING
,
302 WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING
,
303 WS_ANY_ELEMENT_FIELD_MAPPING
,
304 WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING
,
305 WS_ANY_CONTENT_FIELD_MAPPING
,
306 WS_ANY_ATTRIBUTES_FIELD_MAPPING
309 typedef struct _WS_DEFAULT_VALUE
{
314 typedef struct _WS_ITEM_RANGE
{
321 WS_FIELD_POINTER
= 0x1,
322 WS_FIELD_OPTIONAL
= 0x2,
323 WS_FIELD_NILLABLE
= 0x4,
324 WS_FIELD_NILLABLE_ITEM
= 0x8,
325 WS_FIELD_OTHER_NAMESPACE
= 0x10
328 typedef struct _WS_FIELD_DESCRIPTION
{
329 WS_FIELD_MAPPING mapping
;
330 WS_XML_STRING
*localName
;
333 void *typeDescription
;
336 WS_DEFAULT_VALUE
*defaultValue
;
338 WS_XML_STRING
*itemLocalName
;
339 WS_XML_STRING
*itemNs
;
340 WS_ITEM_RANGE
*itemRange
;
341 } WS_FIELD_DESCRIPTION
;
345 WS_STRUCT_ABSTRACT
= 0x1,
346 WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT
= 0x2,
347 WS_STRUCT_IGNORE_UNHANDLED_ATTRIBUTES
= 0x4
350 typedef struct _WS_STRUCT_DESCRIPTION
{
353 WS_FIELD_DESCRIPTION
**fields
;
355 WS_XML_STRING
*typeLocalName
;
356 WS_XML_STRING
*typeNs
;
357 struct _WS_STRUCT_DESCRIPTION
*parentType
;
358 struct _WS_STRUCT_DESCRIPTION
**subTypes
;
361 } WS_STRUCT_DESCRIPTION
;
363 typedef struct _WS_ATTRIBUTE_DESCRIPTION
{
364 WS_XML_STRING
*attributeLocalName
;
365 WS_XML_STRING
*attributeNs
;
367 void *typeDescription
;
368 } WS_ATTRIBUTE_DESCRIPTION
;
370 typedef struct _WS_STRING
{
376 WS_XML_NODE_TYPE_ELEMENT
= 1,
377 WS_XML_NODE_TYPE_TEXT
= 2,
378 WS_XML_NODE_TYPE_END_ELEMENT
= 3,
379 WS_XML_NODE_TYPE_COMMENT
= 4,
380 WS_XML_NODE_TYPE_CDATA
= 6,
381 WS_XML_NODE_TYPE_END_CDATA
= 7,
382 WS_XML_NODE_TYPE_EOF
= 8,
383 WS_XML_NODE_TYPE_BOF
= 9
386 typedef struct _WS_XML_NODE
{
387 WS_XML_NODE_TYPE nodeType
;
391 WS_XML_TEXT_TYPE_UTF8
= 1,
392 WS_XML_TEXT_TYPE_UTF16
= 2,
393 WS_XML_TEXT_TYPE_BASE64
= 3,
394 WS_XML_TEXT_TYPE_BOOL
= 4,
395 WS_XML_TEXT_TYPE_INT32
= 5,
396 WS_XML_TEXT_TYPE_INT64
= 6,
397 WS_XML_TEXT_TYPE_UINT64
= 7,
398 WS_XML_TEXT_TYPE_FLOAT
= 8,
399 WS_XML_TEXT_TYPE_DOUBLE
= 9,
400 WS_XML_TEXT_TYPE_DECIMAL
= 10,
401 WS_XML_TEXT_TYPE_GUID
= 11,
402 WS_XML_TEXT_TYPE_UNIQUE_ID
= 12,
403 WS_XML_TEXT_TYPE_DATETIME
= 13,
404 WS_XML_TEXT_TYPE_TIMESPAN
= 14,
405 WS_XML_TEXT_TYPE_QNAME
= 15,
406 WS_XML_TEXT_TYPE_LIST
= 16
409 typedef struct _WS_XML_TEXT
{
410 WS_XML_TEXT_TYPE textType
;
413 typedef struct _WS_XML_UTF8_TEXT
{
418 typedef struct _WS_XML_ATTRIBUTE
{
421 WS_XML_STRING
*prefix
;
422 WS_XML_STRING
*localName
;
427 typedef struct _WS_XML_ELEMENT_NODE
{
429 WS_XML_STRING
*prefix
;
430 WS_XML_STRING
*localName
;
432 ULONG attributeCount
;
433 WS_XML_ATTRIBUTE
**attributes
;
435 } WS_XML_ELEMENT_NODE
;
437 typedef struct _WS_XML_TEXT_NODE
{
442 typedef struct _WS_XML_COMMENT_NODE
{
445 } WS_XML_COMMENT_NODE
;
447 typedef struct _WS_XML_NODE_POSITION
{
448 WS_XML_BUFFER
*buffer
;
450 } WS_XML_NODE_POSITION
;
452 HRESULT WINAPI
WsCreateError(const WS_ERROR_PROPERTY
*, ULONG
, WS_ERROR
**);
453 HRESULT WINAPI
WsCreateHeap(SIZE_T
, SIZE_T
, const WS_HEAP_PROPERTY
*, ULONG
, WS_HEAP
**, WS_ERROR
*);
454 HRESULT WINAPI
WsCreateReader(const WS_XML_READER_PROPERTY
*, ULONG
, WS_XML_READER
**, WS_ERROR
*);
455 HRESULT WINAPI
WsCreateWriter(const WS_XML_WRITER_PROPERTY
*, ULONG
, WS_XML_WRITER
**, WS_ERROR
*);
456 HRESULT WINAPI
WsCreateXmlBuffer(WS_HEAP
*, const WS_XML_BUFFER_PROPERTY
*, ULONG
, WS_XML_BUFFER
**,
458 HRESULT WINAPI
WsFillReader(WS_XML_READER
*, ULONG
, const WS_ASYNC_CONTEXT
*, WS_ERROR
*);
459 HRESULT WINAPI
WsFindAttribute(WS_XML_READER
*, const WS_XML_STRING
*, const WS_XML_STRING
*, BOOL
,
461 void WINAPI
WsFreeError(WS_ERROR
*);
462 void WINAPI
WsFreeHeap(WS_HEAP
*);
463 void WINAPI
WsFreeReader(WS_XML_READER
*);
464 void WINAPI
WsFreeWriter(WS_XML_WRITER
*);
465 HRESULT WINAPI
WsGetErrorProperty(WS_ERROR
*, WS_ERROR_PROPERTY_ID
, void*, ULONG
);
466 HRESULT WINAPI
WsGetErrorString(WS_ERROR
*, ULONG
, WS_STRING
*);
467 HRESULT WINAPI
WsGetHeapProperty(WS_HEAP
*, WS_HEAP_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
468 HRESULT WINAPI
WsGetReaderNode(WS_XML_READER
*, const WS_XML_NODE
**, WS_ERROR
*);
469 HRESULT WINAPI
WsGetReaderPosition(WS_XML_READER
*, WS_XML_NODE_POSITION
*, WS_ERROR
*);
470 HRESULT WINAPI
WsGetReaderProperty(WS_XML_READER
*, WS_XML_READER_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
471 HRESULT WINAPI
WsGetWriterProperty(WS_XML_WRITER
*, WS_XML_WRITER_PROPERTY_ID
, void*, ULONG
, WS_ERROR
*);
472 HRESULT WINAPI
WsGetXmlAttribute(WS_XML_READER
*, const WS_XML_STRING
*, WS_HEAP
*, WCHAR
**,
474 HRESULT WINAPI
WsReadAttribute(WS_XML_READER
*, const WS_ATTRIBUTE_DESCRIPTION
*, WS_READ_OPTION
,
475 WS_HEAP
*, void*, ULONG
, WS_ERROR
*);
476 HRESULT WINAPI
WsReadEndElement(WS_XML_READER
*, WS_ERROR
*);
477 HRESULT WINAPI
WsReadNode(WS_XML_READER
*, WS_ERROR
*);
478 HRESULT WINAPI
WsReadStartAttribute(WS_XML_READER
*, ULONG
, WS_ERROR
*);
479 HRESULT WINAPI
WsReadStartElement(WS_XML_READER
*, WS_ERROR
*);
480 HRESULT WINAPI
WsReadToStartElement(WS_XML_READER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
482 HRESULT WINAPI
WsReadType(WS_XML_READER
*, WS_TYPE_MAPPING
, WS_TYPE
, const void*, WS_READ_OPTION
,
483 WS_HEAP
*, void*, ULONG
, WS_ERROR
*);
484 HRESULT WINAPI
WsSetErrorProperty(WS_ERROR
*, WS_ERROR_PROPERTY_ID
, const void*, ULONG
);
485 HRESULT WINAPI
WsSetInput(WS_XML_READER
*, const WS_XML_READER_ENCODING
*, const WS_XML_READER_INPUT
*,
486 const WS_XML_READER_PROPERTY
*, ULONG
, WS_ERROR
*);
487 HRESULT WINAPI
WsSetInputToBuffer(WS_XML_READER
*, WS_XML_BUFFER
*, const WS_XML_READER_PROPERTY
*,
489 HRESULT WINAPI
WsSetOutput(WS_XML_WRITER
*, const WS_XML_WRITER_ENCODING
*, const WS_XML_WRITER_OUTPUT
*,
490 const WS_XML_WRITER_PROPERTY
*, ULONG
, WS_ERROR
*);
491 HRESULT WINAPI
WsSetOutputToBuffer(WS_XML_WRITER
*, WS_XML_BUFFER
*, const WS_XML_WRITER_PROPERTY
*,
493 HRESULT WINAPI
WsWriteEndAttribute(WS_XML_WRITER
*, WS_ERROR
*);
494 HRESULT WINAPI
WsWriteEndElement(WS_XML_WRITER
*, WS_ERROR
*);
495 HRESULT WINAPI
WsWriteStartAttribute(WS_XML_WRITER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
496 const WS_XML_STRING
*, BOOL
, WS_ERROR
*);
497 HRESULT WINAPI
WsWriteStartElement(WS_XML_WRITER
*, const WS_XML_STRING
*, const WS_XML_STRING
*,
498 const WS_XML_STRING
*, WS_ERROR
*);
499 HRESULT WINAPI
WsWriteType(WS_XML_WRITER
*, WS_TYPE_MAPPING
, WS_TYPE
, const void*, WS_WRITE_OPTION
,
500 const void*, ULONG
, WS_ERROR
*);
502 #define WS_S_ASYNC 0x003d0000
503 #define WS_S_END 0x003d0001
504 #define WS_E_INVALID_FORMAT 0x803d0000
505 #define WS_E_OBJECT_FAULTED 0x803d0001
506 #define WS_E_NUMERIC_OVERFLOW 0x803d0002
507 #define WS_E_INVALID_OPERATION 0x803d0003
508 #define WS_E_OPERATION_ABORTED 0x803d0004
509 #define WS_E_ENDPOINT_ACCESS_DENIED 0x803d0005
510 #define WS_E_OPERATION_TIMED_OUT 0x803d0006
511 #define WS_E_OPERATION_ABANDONED 0x803d0007
512 #define WS_E_QUOTA_EXCEEDED 0x803d0008
513 #define WS_E_NO_TRANSLATION_AVAILABLE 0x803d0009
514 #define WS_E_SECURITY_VERIFICATION_FAILURE 0x803d000a
515 #define WS_E_ADDRESS_IN_USE 0x803d000b
516 #define WS_E_ADDRESS_NOT_AVAILABLE 0x803d000c
517 #define WS_E_ENDPOINT_NOT_FOUND 0x803d000d
518 #define WS_E_ENDPOINT_NOT_AVAILABLE 0x803d000e
519 #define WS_E_ENDPOINT_FAILURE 0x803d000f
520 #define WS_E_ENDPOINT_UNREACHABLE 0x803d0010
521 #define WS_E_ENDPOINT_ACTION_NOT_SUPPORTED 0x803d0011
522 #define WS_E_ENDPOINT_TOO_BUSY 0x803d0012
523 #define WS_E_ENDPOINT_FAULT_RECEIVED 0x803d0013
524 #define WS_E_ENDPOINT_DISCONNECTED 0x803d0014
525 #define WS_E_PROXY_FAILURE 0x803d0015
526 #define WS_E_PROXY_ACCESS_DENIED 0x803d0016
527 #define WS_E_NOT_SUPPORTED 0x803d0017
528 #define WS_E_PROXY_REQUIRES_BASIC_AUTH 0x803d0018
529 #define WS_E_PROXY_REQUIRES_DIGEST_AUTH 0x803d0019
530 #define WS_E_PROXY_REQUIRES_NTLM_AUTH 0x803d001a
531 #define WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH 0x803d001b
532 #define WS_E_SERVER_REQUIRES_BASIC_AUTH 0x803d001c
533 #define WS_E_SERVER_REQUIRES_DIGEST_AUTH 0x803d001d
534 #define WS_E_SERVER_REQUIRES_NTLM_AUTH 0x803d001e
535 #define WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH 0x803d001f
536 #define WS_E_INVALID_ENDPOINT_URL 0x803d0020
537 #define WS_E_OTHER 0x803d0021
538 #define WS_E_SECURITY_TOKEN_EXPIRED 0x803d0022
539 #define WS_E_SECURITY_SYSTEM_FAILURE 0x803d0023
543 #endif /* __cplusplus */
545 #endif /* __WINE_WEBSERVICES_H */