taskschd/tests: Fix memory leaks (Valgrind).
[wine/multimedia.git] / include / webservices.h
blob8bef315fb5bb7c9715203d7781e169c757613521
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_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
407 } WS_XML_TEXT_TYPE;
409 typedef struct _WS_XML_TEXT {
410 WS_XML_TEXT_TYPE textType;
411 } WS_XML_TEXT;
413 typedef struct _WS_XML_UTF8_TEXT {
414 WS_XML_TEXT text;
415 WS_XML_STRING value;
416 } WS_XML_UTF8_TEXT;
418 typedef struct _WS_XML_ATTRIBUTE {
419 BYTE singleQuote;
420 BYTE isXmlNs;
421 WS_XML_STRING *prefix;
422 WS_XML_STRING *localName;
423 WS_XML_STRING *ns;
424 WS_XML_TEXT *value;
425 } WS_XML_ATTRIBUTE;
427 typedef struct _WS_XML_ELEMENT_NODE {
428 WS_XML_NODE node;
429 WS_XML_STRING *prefix;
430 WS_XML_STRING *localName;
431 WS_XML_STRING *ns;
432 ULONG attributeCount;
433 WS_XML_ATTRIBUTE **attributes;
434 BOOL isEmpty;
435 } WS_XML_ELEMENT_NODE;
437 typedef struct _WS_XML_TEXT_NODE {
438 WS_XML_NODE node;
439 WS_XML_TEXT *text;
440 } WS_XML_TEXT_NODE;
442 typedef struct _WS_XML_COMMENT_NODE {
443 WS_XML_NODE node;
444 WS_XML_STRING value;
445 } WS_XML_COMMENT_NODE;
447 typedef struct _WS_XML_NODE_POSITION {
448 WS_XML_BUFFER *buffer;
449 void *node;
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**,
457 WS_ERROR*);
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,
460 ULONG*, WS_ERROR*);
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**,
473 ULONG*, WS_ERROR*);
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*,
481 BOOL*, WS_ERROR*);
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*,
488 ULONG, WS_ERROR*);
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*,
492 ULONG, WS_ERROR*);
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
541 #ifdef __cplusplus
543 #endif /* __cplusplus */
545 #endif /* __WINE_WEBSERVICES_H */