krnl386.exe16: Emulate 'mov Eb, Gb' instruction on x86 processor architecture.
[wine.git] / include / webservices.h
blob1b13fce306b2f84cadec590793abd4778fed885d
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 struct _WS_BOOL_DESCRIPTION {
294 BOOL value;
295 } WS_BOOL_DESCRIPTION;
297 typedef struct _WS_INT8_DESCRIPTION {
298 char minValue;
299 char maxValue;
300 } WS_INT8_DESCRIPTION;
302 typedef struct _WS_INT16_DESCRIPTION {
303 short minValue;
304 short maxValue;
305 } WS_INT16_DESCRIPTION;
307 typedef struct _WS_INT32_DESCRIPTION {
308 int minValue;
309 int maxValue;
310 } WS_INT32_DESCRIPTION;
312 typedef struct _WS_INT64_DESCRIPTION {
313 __int64 minValue;
314 __int64 maxValue;
315 } WS_INT64_DESCRIPTION;
317 typedef struct _WS_UINT8_DESCRIPTION {
318 BYTE minValue;
319 BYTE maxValue;
320 } WS_UINT8_DESCRIPTION;
322 typedef struct _WS_UINT16_DESCRIPTION {
323 USHORT minValue;
324 USHORT maxValue;
325 } WS_UINT16_DESCRIPTION;
327 typedef struct _WS_UINT32_DESCRIPTION {
328 ULONG minValue;
329 ULONG maxValue;
330 } WS_UINT32_DESCRIPTION;
332 typedef struct _WS_UINT64_DESCRIPTION {
333 unsigned __int64 minValue;
334 unsigned __int64 maxValue;
335 } WS_UINT64_DESCRIPTION;
337 typedef struct _WS_WSZ_DESCRIPTION {
338 ULONG minCharCount;
339 ULONG maxCharCount;
340 } WS_WSZ_DESCRIPTION;
342 typedef enum {
343 WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
344 WS_ATTRIBUTE_FIELD_MAPPING,
345 WS_ELEMENT_FIELD_MAPPING,
346 WS_REPEATING_ELEMENT_FIELD_MAPPING,
347 WS_TEXT_FIELD_MAPPING,
348 WS_NO_FIELD_MAPPING,
349 WS_XML_ATTRIBUTE_FIELD_MAPPING,
350 WS_ELEMENT_CHOICE_FIELD_MAPPING,
351 WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING,
352 WS_ANY_ELEMENT_FIELD_MAPPING,
353 WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING,
354 WS_ANY_CONTENT_FIELD_MAPPING,
355 WS_ANY_ATTRIBUTES_FIELD_MAPPING
356 } WS_FIELD_MAPPING;
358 typedef struct _WS_DEFAULT_VALUE {
359 void *value;
360 ULONG valueSize;
361 } WS_DEFAULT_VALUE;
363 typedef struct _WS_ITEM_RANGE {
364 ULONG minItemCount;
365 ULONG maxItemCount;
366 } WS_ITEM_RANGE;
368 enum
370 WS_FIELD_POINTER = 0x1,
371 WS_FIELD_OPTIONAL = 0x2,
372 WS_FIELD_NILLABLE = 0x4,
373 WS_FIELD_NILLABLE_ITEM = 0x8,
374 WS_FIELD_OTHER_NAMESPACE = 0x10
377 typedef struct _WS_FIELD_DESCRIPTION {
378 WS_FIELD_MAPPING mapping;
379 WS_XML_STRING *localName;
380 WS_XML_STRING *ns;
381 WS_TYPE type;
382 void *typeDescription;
383 ULONG offset;
384 ULONG options;
385 WS_DEFAULT_VALUE *defaultValue;
386 ULONG countOffset;
387 WS_XML_STRING *itemLocalName;
388 WS_XML_STRING *itemNs;
389 WS_ITEM_RANGE *itemRange;
390 } WS_FIELD_DESCRIPTION;
392 enum
394 WS_STRUCT_ABSTRACT = 0x1,
395 WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT = 0x2,
396 WS_STRUCT_IGNORE_UNHANDLED_ATTRIBUTES = 0x4
399 typedef struct _WS_STRUCT_DESCRIPTION {
400 ULONG size;
401 ULONG alignment;
402 WS_FIELD_DESCRIPTION **fields;
403 ULONG fieldCount;
404 WS_XML_STRING *typeLocalName;
405 WS_XML_STRING *typeNs;
406 struct _WS_STRUCT_DESCRIPTION *parentType;
407 struct _WS_STRUCT_DESCRIPTION **subTypes;
408 ULONG subTypeCount;
409 ULONG structOptions;
410 } WS_STRUCT_DESCRIPTION;
412 typedef struct _WS_ATTRIBUTE_DESCRIPTION {
413 WS_XML_STRING *attributeLocalName;
414 WS_XML_STRING *attributeNs;
415 WS_TYPE type;
416 void *typeDescription;
417 } WS_ATTRIBUTE_DESCRIPTION;
419 typedef struct _WS_ELEMENT_DESCRIPTION {
420 WS_XML_STRING *elementLocalName;
421 WS_XML_STRING *elementNs;
422 WS_TYPE type;
423 void *typeDescription;
424 } WS_ELEMENT_DESCRIPTION;
426 typedef struct _WS_STRING {
427 ULONG length;
428 WCHAR *chars;
429 } WS_STRING;
431 typedef enum {
432 WS_XML_NODE_TYPE_ELEMENT = 1,
433 WS_XML_NODE_TYPE_TEXT = 2,
434 WS_XML_NODE_TYPE_END_ELEMENT = 3,
435 WS_XML_NODE_TYPE_COMMENT = 4,
436 WS_XML_NODE_TYPE_CDATA = 6,
437 WS_XML_NODE_TYPE_END_CDATA = 7,
438 WS_XML_NODE_TYPE_EOF = 8,
439 WS_XML_NODE_TYPE_BOF = 9
440 } WS_XML_NODE_TYPE;
442 typedef struct _WS_XML_NODE {
443 WS_XML_NODE_TYPE nodeType;
444 } WS_XML_NODE;
446 typedef enum {
447 WS_MOVE_TO_ROOT_ELEMENT,
448 WS_MOVE_TO_NEXT_ELEMENT,
449 WS_MOVE_TO_PREVIOUS_ELEMENT,
450 WS_MOVE_TO_CHILD_ELEMENT,
451 WS_MOVE_TO_END_ELEMENT,
452 WS_MOVE_TO_PARENT_ELEMENT,
453 WS_MOVE_TO_NEXT_NODE,
454 WS_MOVE_TO_PREVIOUS_NODE,
455 WS_MOVE_TO_FIRST_NODE,
456 WS_MOVE_TO_BOF,
457 WS_MOVE_TO_EOF,
458 WS_MOVE_TO_CHILD_NODE
459 } WS_MOVE_TO;
461 typedef enum {
462 WS_XML_TEXT_TYPE_UTF8 = 1,
463 WS_XML_TEXT_TYPE_UTF16 = 2,
464 WS_XML_TEXT_TYPE_BASE64 = 3,
465 WS_XML_TEXT_TYPE_BOOL = 4,
466 WS_XML_TEXT_TYPE_INT32 = 5,
467 WS_XML_TEXT_TYPE_INT64 = 6,
468 WS_XML_TEXT_TYPE_UINT64 = 7,
469 WS_XML_TEXT_TYPE_FLOAT = 8,
470 WS_XML_TEXT_TYPE_DOUBLE = 9,
471 WS_XML_TEXT_TYPE_DECIMAL = 10,
472 WS_XML_TEXT_TYPE_GUID = 11,
473 WS_XML_TEXT_TYPE_UNIQUE_ID = 12,
474 WS_XML_TEXT_TYPE_DATETIME = 13,
475 WS_XML_TEXT_TYPE_TIMESPAN = 14,
476 WS_XML_TEXT_TYPE_QNAME = 15,
477 WS_XML_TEXT_TYPE_LIST = 16
478 } WS_XML_TEXT_TYPE;
480 typedef struct _WS_XML_TEXT {
481 WS_XML_TEXT_TYPE textType;
482 } WS_XML_TEXT;
484 typedef struct _WS_XML_UTF8_TEXT {
485 WS_XML_TEXT text;
486 WS_XML_STRING value;
487 } WS_XML_UTF8_TEXT;
489 typedef enum {
490 WS_BOOL_VALUE_TYPE,
491 WS_INT8_VALUE_TYPE,
492 WS_INT16_VALUE_TYPE,
493 WS_INT32_VALUE_TYPE,
494 WS_INT64_VALUE_TYPE,
495 WS_UINT8_VALUE_TYPE,
496 WS_UINT16_VALUE_TYPE,
497 WS_UINT32_VALUE_TYPE,
498 WS_UINT64_VALUE_TYPE,
499 WS_FLOAT_VALUE_TYPE,
500 WS_DOUBLE_VALUE_TYPE,
501 WS_DECIMAL_VALUE_TYPE,
502 WS_DATETIME_VALUE_TYPE,
503 WS_TIMESPAN_VALUE_TYPE,
504 WS_GUID_VALUE_TYPE,
505 WS_DURATION_VALUE_TYPE
506 } WS_VALUE_TYPE;
508 typedef struct _WS_XML_ATTRIBUTE {
509 BYTE singleQuote;
510 BYTE isXmlNs;
511 WS_XML_STRING *prefix;
512 WS_XML_STRING *localName;
513 WS_XML_STRING *ns;
514 WS_XML_TEXT *value;
515 } WS_XML_ATTRIBUTE;
517 typedef struct _WS_XML_ELEMENT_NODE {
518 WS_XML_NODE node;
519 WS_XML_STRING *prefix;
520 WS_XML_STRING *localName;
521 WS_XML_STRING *ns;
522 ULONG attributeCount;
523 WS_XML_ATTRIBUTE **attributes;
524 BOOL isEmpty;
525 } WS_XML_ELEMENT_NODE;
527 typedef struct _WS_XML_TEXT_NODE {
528 WS_XML_NODE node;
529 WS_XML_TEXT *text;
530 } WS_XML_TEXT_NODE;
532 typedef struct _WS_XML_COMMENT_NODE {
533 WS_XML_NODE node;
534 WS_XML_STRING value;
535 } WS_XML_COMMENT_NODE;
537 typedef struct _WS_XML_NODE_POSITION {
538 WS_XML_BUFFER *buffer;
539 void *node;
540 } WS_XML_NODE_POSITION;
542 HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, WS_ERROR*);
543 HRESULT WINAPI WsCreateError(const WS_ERROR_PROPERTY*, ULONG, WS_ERROR**);
544 HRESULT WINAPI WsCreateHeap(SIZE_T, SIZE_T, const WS_HEAP_PROPERTY*, ULONG, WS_HEAP**, WS_ERROR*);
545 HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*);
546 HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*);
547 HRESULT WINAPI WsCreateXmlBuffer(WS_HEAP*, const WS_XML_BUFFER_PROPERTY*, ULONG, WS_XML_BUFFER**,
548 WS_ERROR*);
549 HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
550 HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
551 ULONG*, WS_ERROR*);
552 void WINAPI WsFreeError(WS_ERROR*);
553 void WINAPI WsFreeHeap(WS_HEAP*);
554 void WINAPI WsFreeReader(WS_XML_READER*);
555 void WINAPI WsFreeWriter(WS_XML_WRITER*);
556 HRESULT WINAPI WsGetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, void*, ULONG);
557 HRESULT WINAPI WsGetErrorString(WS_ERROR*, ULONG, WS_STRING*);
558 HRESULT WINAPI WsGetHeapProperty(WS_HEAP*, WS_HEAP_PROPERTY_ID, void*, ULONG, WS_ERROR*);
559 HRESULT WINAPI WsGetNamespaceFromPrefix(WS_XML_READER*, const WS_XML_STRING*, BOOL,
560 const WS_XML_STRING**, WS_ERROR*);
561 HRESULT WINAPI WsGetPrefixFromNamespace(WS_XML_WRITER*, const WS_XML_STRING*, BOOL,
562 const WS_XML_STRING**, WS_ERROR*);
563 HRESULT WINAPI WsGetReaderNode(WS_XML_READER*, const WS_XML_NODE**, WS_ERROR*);
564 HRESULT WINAPI WsGetReaderPosition(WS_XML_READER*, WS_XML_NODE_POSITION*, WS_ERROR*);
565 HRESULT WINAPI WsGetReaderProperty(WS_XML_READER*, WS_XML_READER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
566 HRESULT WINAPI WsGetWriterProperty(WS_XML_WRITER*, WS_XML_WRITER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
567 HRESULT WINAPI WsGetXmlAttribute(WS_XML_READER*, const WS_XML_STRING*, WS_HEAP*, WCHAR**,
568 ULONG*, WS_ERROR*);
569 HRESULT WINAPI WsMoveReader(WS_XML_READER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
570 HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
571 HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
572 WS_HEAP*, void*, ULONG, WS_ERROR*);
573 HRESULT WINAPI WsReadEndAttribute(WS_XML_READER*, WS_ERROR*);
574 HRESULT WINAPI WsReadEndElement(WS_XML_READER*, WS_ERROR*);
575 HRESULT WINAPI WsReadNode(WS_XML_READER*, WS_ERROR*);
576 HRESULT WINAPI WsReadStartAttribute(WS_XML_READER*, ULONG, WS_ERROR*);
577 HRESULT WINAPI WsReadStartElement(WS_XML_READER*, WS_ERROR*);
578 HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*,
579 BOOL*, WS_ERROR*);
580 HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION,
581 WS_HEAP*, void*, ULONG, WS_ERROR*);
582 HRESULT WINAPI WsSetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, const void*, ULONG);
583 HRESULT WINAPI WsSetInput(WS_XML_READER*, const WS_XML_READER_ENCODING*, const WS_XML_READER_INPUT*,
584 const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*);
585 HRESULT WINAPI WsSetInputToBuffer(WS_XML_READER*, WS_XML_BUFFER*, const WS_XML_READER_PROPERTY*,
586 ULONG, WS_ERROR*);
587 HRESULT WINAPI WsSetOutput(WS_XML_WRITER*, const WS_XML_WRITER_ENCODING*, const WS_XML_WRITER_OUTPUT*,
588 const WS_XML_WRITER_PROPERTY*, ULONG, WS_ERROR*);
589 HRESULT WINAPI WsSetOutputToBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_PROPERTY*,
590 ULONG, WS_ERROR*);
591 HRESULT WINAPI WsSkipNode(WS_XML_READER*, WS_ERROR*);
592 HRESULT WINAPI WsWriteAttribute(WS_XML_WRITER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_WRITE_OPTION,
593 const void*, ULONG, WS_ERROR*);
594 HRESULT WINAPI WsWriteElement(WS_XML_WRITER*, const WS_ELEMENT_DESCRIPTION*, WS_WRITE_OPTION,
595 const void*, ULONG, WS_ERROR*);
596 HRESULT WINAPI WsWriteEndAttribute(WS_XML_WRITER*, WS_ERROR*);
597 HRESULT WINAPI WsWriteEndCData(WS_XML_WRITER*, WS_ERROR*);
598 HRESULT WINAPI WsWriteEndElement(WS_XML_WRITER*, WS_ERROR*);
599 HRESULT WINAPI WsWriteEndStartElement(WS_XML_WRITER*, WS_ERROR*);
600 HRESULT WINAPI WsWriteStartAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
601 const WS_XML_STRING*, BOOL, WS_ERROR*);
602 HRESULT WINAPI WsWriteStartCData(WS_XML_WRITER*, WS_ERROR*);
603 HRESULT WINAPI WsWriteStartElement(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
604 const WS_XML_STRING*, WS_ERROR*);
605 HRESULT WINAPI WsWriteText(WS_XML_WRITER*, const WS_XML_TEXT*, WS_ERROR*);
606 HRESULT WINAPI WsWriteType(WS_XML_WRITER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_WRITE_OPTION,
607 const void*, ULONG, WS_ERROR*);
608 HRESULT WINAPI WsWriteValue(WS_XML_WRITER*, WS_VALUE_TYPE, const void*, ULONG, WS_ERROR*);
609 HRESULT WINAPI WsWriteXmlBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, WS_ERROR*);
610 HRESULT WINAPI WsWriteXmlBufferToBytes(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_ENCODING*,
611 const WS_XML_WRITER_PROPERTY*, ULONG, WS_HEAP*, void**,
612 ULONG*, WS_ERROR*);
613 HRESULT WINAPI WsWriteXmlnsAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
614 BOOL, WS_ERROR*);
615 HRESULT WINAPI WsXmlStringEquals(const WS_XML_STRING*, const WS_XML_STRING*, WS_ERROR*);
617 #define WS_S_ASYNC 0x003d0000
618 #define WS_S_END 0x003d0001
619 #define WS_E_INVALID_FORMAT 0x803d0000
620 #define WS_E_OBJECT_FAULTED 0x803d0001
621 #define WS_E_NUMERIC_OVERFLOW 0x803d0002
622 #define WS_E_INVALID_OPERATION 0x803d0003
623 #define WS_E_OPERATION_ABORTED 0x803d0004
624 #define WS_E_ENDPOINT_ACCESS_DENIED 0x803d0005
625 #define WS_E_OPERATION_TIMED_OUT 0x803d0006
626 #define WS_E_OPERATION_ABANDONED 0x803d0007
627 #define WS_E_QUOTA_EXCEEDED 0x803d0008
628 #define WS_E_NO_TRANSLATION_AVAILABLE 0x803d0009
629 #define WS_E_SECURITY_VERIFICATION_FAILURE 0x803d000a
630 #define WS_E_ADDRESS_IN_USE 0x803d000b
631 #define WS_E_ADDRESS_NOT_AVAILABLE 0x803d000c
632 #define WS_E_ENDPOINT_NOT_FOUND 0x803d000d
633 #define WS_E_ENDPOINT_NOT_AVAILABLE 0x803d000e
634 #define WS_E_ENDPOINT_FAILURE 0x803d000f
635 #define WS_E_ENDPOINT_UNREACHABLE 0x803d0010
636 #define WS_E_ENDPOINT_ACTION_NOT_SUPPORTED 0x803d0011
637 #define WS_E_ENDPOINT_TOO_BUSY 0x803d0012
638 #define WS_E_ENDPOINT_FAULT_RECEIVED 0x803d0013
639 #define WS_E_ENDPOINT_DISCONNECTED 0x803d0014
640 #define WS_E_PROXY_FAILURE 0x803d0015
641 #define WS_E_PROXY_ACCESS_DENIED 0x803d0016
642 #define WS_E_NOT_SUPPORTED 0x803d0017
643 #define WS_E_PROXY_REQUIRES_BASIC_AUTH 0x803d0018
644 #define WS_E_PROXY_REQUIRES_DIGEST_AUTH 0x803d0019
645 #define WS_E_PROXY_REQUIRES_NTLM_AUTH 0x803d001a
646 #define WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH 0x803d001b
647 #define WS_E_SERVER_REQUIRES_BASIC_AUTH 0x803d001c
648 #define WS_E_SERVER_REQUIRES_DIGEST_AUTH 0x803d001d
649 #define WS_E_SERVER_REQUIRES_NTLM_AUTH 0x803d001e
650 #define WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH 0x803d001f
651 #define WS_E_INVALID_ENDPOINT_URL 0x803d0020
652 #define WS_E_OTHER 0x803d0021
653 #define WS_E_SECURITY_TOKEN_EXPIRED 0x803d0022
654 #define WS_E_SECURITY_SYSTEM_FAILURE 0x803d0023
656 #ifdef __cplusplus
658 #endif /* __cplusplus */
660 #endif /* __WINE_WEBSERVICES_H */