include: Add TrySubmitThreadpoolCallback declaration.
[wine.git] / include / webservices.h
blob594a6ba677bce659365e1bcc11b55253dc0ea1e5
1 /*
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
22 #ifdef __cplusplus
23 extern "C" {
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;
35 typedef enum {
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;
43 void *value;
44 ULONG valueSize;
45 } WS_ERROR_PROPERTY;
47 typedef enum {
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;
56 void *value;
57 ULONG valueSize;
58 } WS_HEAP_PROPERTY;
60 typedef ULONG WS_XML_BUFFER_PROPERTY_ID;
62 typedef struct _WS_XML_BUFFER_PROPERTY {
63 WS_XML_BUFFER_PROPERTY_ID id;
64 void *value;
65 ULONG valueSize;
66 } WS_XML_BUFFER_PROPERTY;
68 typedef enum {
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;
88 void *value;
89 ULONG valueSize;
90 } WS_XML_READER_PROPERTY;
92 typedef enum {
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;
116 void *value;
117 ULONG valueSize;
118 } WS_XML_WRITER_PROPERTY;
120 typedef struct _WS_BYTES {
121 ULONG length;
122 BYTE *bytes;
123 } WS_BYTES;
125 typedef struct _WS_BUFFERS {
126 ULONG bufferCount;
127 WS_BYTES *buffers;
128 } WS_BUFFERS;
130 typedef enum {
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;
141 typedef enum {
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;
152 typedef enum {
153 WS_CHARSET_AUTO,
154 WS_CHARSET_UTF8,
155 WS_CHARSET_UTF16LE,
156 WS_CHARSET_UTF16BE
157 } WS_CHARSET;
159 typedef struct _WS_XML_READER_TEXT_ENCODING {
160 WS_XML_READER_ENCODING encoding;
161 WS_CHARSET charSet;
162 } WS_XML_READER_TEXT_ENCODING;
164 typedef struct _WS_XML_WRITER_TEXT_ENCODING {
165 WS_XML_WRITER_ENCODING encoding;
166 WS_CHARSET charSet;
167 } WS_XML_WRITER_TEXT_ENCODING;
169 typedef enum {
170 WS_XML_READER_INPUT_TYPE_BUFFER = 1,
171 WS_XML_READER_INPUT_TYPE_STREAM = 2
172 } WS_XML_READER_INPUT_TYPE;
174 typedef enum {
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;
189 void *encodedData;
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;
197 typedef enum {
198 WS_SHORT_CALLBACK,
199 WS_LONG_CALLBACK
200 } WS_CALLBACK_MODEL;
202 typedef void (CALLBACK *WS_ASYNC_CALLBACK)
203 (HRESULT, WS_CALLBACK_MODEL, void *);
205 typedef struct _WS_ASYNC_CONTEXT {
206 WS_ASYNC_CALLBACK callback;
207 void *callbackState;
208 } WS_ASYNC_CONTEXT;
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 {
220 GUID guid;
221 struct _WS_XML_STRING *strings;
222 ULONG stringCount;
223 BOOL isConst;
224 } WS_XML_DICTIONARY;
226 typedef struct _WS_XML_STRING {
227 ULONG length;
228 BYTE *bytes;
229 WS_XML_DICTIONARY *dictionary;
230 ULONG id;
231 } WS_XML_STRING;
233 typedef enum {
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
238 } WS_TYPE_MAPPING;
240 typedef enum {
241 WS_BOOL_TYPE,
242 WS_INT8_TYPE,
243 WS_INT16_TYPE,
244 WS_INT32_TYPE,
245 WS_INT64_TYPE,
246 WS_UINT8_TYPE,
247 WS_UINT16_TYPE,
248 WS_UINT32_TYPE,
249 WS_UINT64_TYPE,
250 WS_FLOAT_TYPE,
251 WS_DOUBLE_TYPE,
252 WS_DECIMAL_TYPE,
253 WS_DATETIME_TYPE,
254 WS_TIMESPAN_TYPE,
255 WS_GUID_TYPE,
256 WS_UNIQUE_ID_TYPE,
257 WS_STRING_TYPE,
258 WS_WSZ_TYPE,
259 WS_BYTES_TYPE,
260 WS_XML_STRING_TYPE,
261 WS_XML_QNAME_TYPE,
262 WS_XML_BUFFER_TYPE,
263 WS_CHAR_ARRAY_TYPE,
264 WS_UTF8_ARRAY_TYPE,
265 WS_BYTE_ARRAY_TYPE,
266 WS_DESCRIPTION_TYPE,
267 WS_STRUCT_TYPE,
268 WS_CUSTOM_TYPE,
269 WS_ENDPOINT_ADDRESS_TYPE,
270 WS_FAULT_TYPE,
271 WS_VOID_TYPE,
272 WS_ENUM_TYPE,
273 WS_DURATION_TYPE,
274 WS_UNION_TYPE,
275 WS_ANY_ATTRIBUTES_TYPE
276 } WS_TYPE;
278 typedef enum {
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
284 } WS_READ_OPTION;
286 typedef enum {
287 WS_WRITE_REQUIRED_VALUE = 1,
288 WS_WRITE_REQUIRED_POINTER = 2,
289 WS_WRITE_NILLABLE_VALUE = 3,
290 WS_WRITE_NILLABLE_POINTER = 4
291 } WS_WRITE_OPTION;
293 typedef enum {
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,
299 WS_NO_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
307 } WS_FIELD_MAPPING;
309 typedef struct _WS_DEFAULT_VALUE {
310 void *value;
311 ULONG valueSize;
312 } WS_DEFAULT_VALUE;
314 typedef struct _WS_ITEM_RANGE {
315 ULONG minItemCount;
316 ULONG maxItemCount;
317 } WS_ITEM_RANGE;
319 enum
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;
331 WS_XML_STRING *ns;
332 WS_TYPE type;
333 void *typeDescription;
334 ULONG offset;
335 ULONG options;
336 WS_DEFAULT_VALUE *defaultValue;
337 ULONG countOffset;
338 WS_XML_STRING *itemLocalName;
339 WS_XML_STRING *itemNs;
340 WS_ITEM_RANGE *itemRange;
341 } WS_FIELD_DESCRIPTION;
343 enum
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 {
351 ULONG size;
352 ULONG alignment;
353 WS_FIELD_DESCRIPTION **fields;
354 ULONG fieldCount;
355 WS_XML_STRING *typeLocalName;
356 WS_XML_STRING *typeNs;
357 struct _WS_STRUCT_DESCRIPTION *parentType;
358 struct _WS_STRUCT_DESCRIPTION **subTypes;
359 ULONG subTypeCount;
360 ULONG structOptions;
361 } WS_STRUCT_DESCRIPTION;
363 typedef struct _WS_ATTRIBUTE_DESCRIPTION {
364 WS_XML_STRING *attributeLocalName;
365 WS_XML_STRING *attributeNs;
366 WS_TYPE type;
367 void *typeDescription;
368 } WS_ATTRIBUTE_DESCRIPTION;
370 typedef struct _WS_STRING {
371 ULONG length;
372 WCHAR *chars;
373 } WS_STRING;
375 typedef enum {
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
384 } WS_XML_NODE_TYPE;
386 typedef struct _WS_XML_NODE {
387 WS_XML_NODE_TYPE nodeType;
388 } WS_XML_NODE;
390 typedef enum {
391 WS_MOVE_TO_ROOT_ELEMENT,
392 WS_MOVE_TO_NEXT_ELEMENT,
393 WS_MOVE_TO_PREVIOUS_ELEMENT,
394 WS_MOVE_TO_CHILD_ELEMENT,
395 WS_MOVE_TO_END_ELEMENT,
396 WS_MOVE_TO_PARENT_ELEMENT,
397 WS_MOVE_TO_NEXT_NODE,
398 WS_MOVE_TO_PREVIOUS_NODE,
399 WS_MOVE_TO_FIRST_NODE,
400 WS_MOVE_TO_BOF,
401 WS_MOVE_TO_EOF,
402 WS_MOVE_TO_CHILD_NODE
403 } WS_MOVE_TO;
405 typedef enum {
406 WS_XML_TEXT_TYPE_UTF8 = 1,
407 WS_XML_TEXT_TYPE_UTF16 = 2,
408 WS_XML_TEXT_TYPE_BASE64 = 3,
409 WS_XML_TEXT_TYPE_BOOL = 4,
410 WS_XML_TEXT_TYPE_INT32 = 5,
411 WS_XML_TEXT_TYPE_INT64 = 6,
412 WS_XML_TEXT_TYPE_UINT64 = 7,
413 WS_XML_TEXT_TYPE_FLOAT = 8,
414 WS_XML_TEXT_TYPE_DOUBLE = 9,
415 WS_XML_TEXT_TYPE_DECIMAL = 10,
416 WS_XML_TEXT_TYPE_GUID = 11,
417 WS_XML_TEXT_TYPE_UNIQUE_ID = 12,
418 WS_XML_TEXT_TYPE_DATETIME = 13,
419 WS_XML_TEXT_TYPE_TIMESPAN = 14,
420 WS_XML_TEXT_TYPE_QNAME = 15,
421 WS_XML_TEXT_TYPE_LIST = 16
422 } WS_XML_TEXT_TYPE;
424 typedef struct _WS_XML_TEXT {
425 WS_XML_TEXT_TYPE textType;
426 } WS_XML_TEXT;
428 typedef struct _WS_XML_UTF8_TEXT {
429 WS_XML_TEXT text;
430 WS_XML_STRING value;
431 } WS_XML_UTF8_TEXT;
433 typedef struct _WS_XML_ATTRIBUTE {
434 BYTE singleQuote;
435 BYTE isXmlNs;
436 WS_XML_STRING *prefix;
437 WS_XML_STRING *localName;
438 WS_XML_STRING *ns;
439 WS_XML_TEXT *value;
440 } WS_XML_ATTRIBUTE;
442 typedef struct _WS_XML_ELEMENT_NODE {
443 WS_XML_NODE node;
444 WS_XML_STRING *prefix;
445 WS_XML_STRING *localName;
446 WS_XML_STRING *ns;
447 ULONG attributeCount;
448 WS_XML_ATTRIBUTE **attributes;
449 BOOL isEmpty;
450 } WS_XML_ELEMENT_NODE;
452 typedef struct _WS_XML_TEXT_NODE {
453 WS_XML_NODE node;
454 WS_XML_TEXT *text;
455 } WS_XML_TEXT_NODE;
457 typedef struct _WS_XML_COMMENT_NODE {
458 WS_XML_NODE node;
459 WS_XML_STRING value;
460 } WS_XML_COMMENT_NODE;
462 typedef struct _WS_XML_NODE_POSITION {
463 WS_XML_BUFFER *buffer;
464 void *node;
465 } WS_XML_NODE_POSITION;
467 HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, WS_ERROR*);
468 HRESULT WINAPI WsCreateError(const WS_ERROR_PROPERTY*, ULONG, WS_ERROR**);
469 HRESULT WINAPI WsCreateHeap(SIZE_T, SIZE_T, const WS_HEAP_PROPERTY*, ULONG, WS_HEAP**, WS_ERROR*);
470 HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*);
471 HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*);
472 HRESULT WINAPI WsCreateXmlBuffer(WS_HEAP*, const WS_XML_BUFFER_PROPERTY*, ULONG, WS_XML_BUFFER**,
473 WS_ERROR*);
474 HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
475 HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
476 ULONG*, WS_ERROR*);
477 void WINAPI WsFreeError(WS_ERROR*);
478 void WINAPI WsFreeHeap(WS_HEAP*);
479 void WINAPI WsFreeReader(WS_XML_READER*);
480 void WINAPI WsFreeWriter(WS_XML_WRITER*);
481 HRESULT WINAPI WsGetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, void*, ULONG);
482 HRESULT WINAPI WsGetErrorString(WS_ERROR*, ULONG, WS_STRING*);
483 HRESULT WINAPI WsGetHeapProperty(WS_HEAP*, WS_HEAP_PROPERTY_ID, void*, ULONG, WS_ERROR*);
484 HRESULT WINAPI WsGetReaderNode(WS_XML_READER*, const WS_XML_NODE**, WS_ERROR*);
485 HRESULT WINAPI WsGetReaderPosition(WS_XML_READER*, WS_XML_NODE_POSITION*, WS_ERROR*);
486 HRESULT WINAPI WsGetReaderProperty(WS_XML_READER*, WS_XML_READER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
487 HRESULT WINAPI WsGetWriterProperty(WS_XML_WRITER*, WS_XML_WRITER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
488 HRESULT WINAPI WsGetXmlAttribute(WS_XML_READER*, const WS_XML_STRING*, WS_HEAP*, WCHAR**,
489 ULONG*, WS_ERROR*);
490 HRESULT WINAPI WsMoveReader(WS_XML_READER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
491 HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
492 HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
493 WS_HEAP*, void*, ULONG, WS_ERROR*);
494 HRESULT WINAPI WsReadEndElement(WS_XML_READER*, WS_ERROR*);
495 HRESULT WINAPI WsReadNode(WS_XML_READER*, WS_ERROR*);
496 HRESULT WINAPI WsReadStartAttribute(WS_XML_READER*, ULONG, WS_ERROR*);
497 HRESULT WINAPI WsReadStartElement(WS_XML_READER*, WS_ERROR*);
498 HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*,
499 BOOL*, WS_ERROR*);
500 HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION,
501 WS_HEAP*, void*, ULONG, WS_ERROR*);
502 HRESULT WINAPI WsSetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, const void*, ULONG);
503 HRESULT WINAPI WsSetInput(WS_XML_READER*, const WS_XML_READER_ENCODING*, const WS_XML_READER_INPUT*,
504 const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*);
505 HRESULT WINAPI WsSetInputToBuffer(WS_XML_READER*, WS_XML_BUFFER*, const WS_XML_READER_PROPERTY*,
506 ULONG, WS_ERROR*);
507 HRESULT WINAPI WsSetOutput(WS_XML_WRITER*, const WS_XML_WRITER_ENCODING*, const WS_XML_WRITER_OUTPUT*,
508 const WS_XML_WRITER_PROPERTY*, ULONG, WS_ERROR*);
509 HRESULT WINAPI WsSetOutputToBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_PROPERTY*,
510 ULONG, WS_ERROR*);
511 HRESULT WINAPI WsWriteEndAttribute(WS_XML_WRITER*, WS_ERROR*);
512 HRESULT WINAPI WsWriteEndElement(WS_XML_WRITER*, WS_ERROR*);
513 HRESULT WINAPI WsWriteEndStartElement(WS_XML_WRITER*, WS_ERROR*);
514 HRESULT WINAPI WsWriteStartAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
515 const WS_XML_STRING*, BOOL, WS_ERROR*);
516 HRESULT WINAPI WsWriteStartElement(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
517 const WS_XML_STRING*, WS_ERROR*);
518 HRESULT WINAPI WsWriteText(WS_XML_WRITER*, const WS_XML_TEXT*, WS_ERROR*);
519 HRESULT WINAPI WsWriteType(WS_XML_WRITER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_WRITE_OPTION,
520 const void*, ULONG, WS_ERROR*);
521 HRESULT WINAPI WsXmlStringEquals(const WS_XML_STRING*, const WS_XML_STRING*, WS_ERROR*);
523 #define WS_S_ASYNC 0x003d0000
524 #define WS_S_END 0x003d0001
525 #define WS_E_INVALID_FORMAT 0x803d0000
526 #define WS_E_OBJECT_FAULTED 0x803d0001
527 #define WS_E_NUMERIC_OVERFLOW 0x803d0002
528 #define WS_E_INVALID_OPERATION 0x803d0003
529 #define WS_E_OPERATION_ABORTED 0x803d0004
530 #define WS_E_ENDPOINT_ACCESS_DENIED 0x803d0005
531 #define WS_E_OPERATION_TIMED_OUT 0x803d0006
532 #define WS_E_OPERATION_ABANDONED 0x803d0007
533 #define WS_E_QUOTA_EXCEEDED 0x803d0008
534 #define WS_E_NO_TRANSLATION_AVAILABLE 0x803d0009
535 #define WS_E_SECURITY_VERIFICATION_FAILURE 0x803d000a
536 #define WS_E_ADDRESS_IN_USE 0x803d000b
537 #define WS_E_ADDRESS_NOT_AVAILABLE 0x803d000c
538 #define WS_E_ENDPOINT_NOT_FOUND 0x803d000d
539 #define WS_E_ENDPOINT_NOT_AVAILABLE 0x803d000e
540 #define WS_E_ENDPOINT_FAILURE 0x803d000f
541 #define WS_E_ENDPOINT_UNREACHABLE 0x803d0010
542 #define WS_E_ENDPOINT_ACTION_NOT_SUPPORTED 0x803d0011
543 #define WS_E_ENDPOINT_TOO_BUSY 0x803d0012
544 #define WS_E_ENDPOINT_FAULT_RECEIVED 0x803d0013
545 #define WS_E_ENDPOINT_DISCONNECTED 0x803d0014
546 #define WS_E_PROXY_FAILURE 0x803d0015
547 #define WS_E_PROXY_ACCESS_DENIED 0x803d0016
548 #define WS_E_NOT_SUPPORTED 0x803d0017
549 #define WS_E_PROXY_REQUIRES_BASIC_AUTH 0x803d0018
550 #define WS_E_PROXY_REQUIRES_DIGEST_AUTH 0x803d0019
551 #define WS_E_PROXY_REQUIRES_NTLM_AUTH 0x803d001a
552 #define WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH 0x803d001b
553 #define WS_E_SERVER_REQUIRES_BASIC_AUTH 0x803d001c
554 #define WS_E_SERVER_REQUIRES_DIGEST_AUTH 0x803d001d
555 #define WS_E_SERVER_REQUIRES_NTLM_AUTH 0x803d001e
556 #define WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH 0x803d001f
557 #define WS_E_INVALID_ENDPOINT_URL 0x803d0020
558 #define WS_E_OTHER 0x803d0021
559 #define WS_E_SECURITY_TOKEN_EXPIRED 0x803d0022
560 #define WS_E_SECURITY_SYSTEM_FAILURE 0x803d0023
562 #ifdef __cplusplus
564 #endif /* __cplusplus */
566 #endif /* __WINE_WEBSERVICES_H */