[3/7] include: Add missing Web Services declarations.

Hans Leidekker hans at codeweavers.com
Wed Oct 14 06:01:04 CDT 2015


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 include/webservices.h | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 98 insertions(+), 1 deletion(-)

diff --git a/include/webservices.h b/include/webservices.h
index d9d1052..7d9a0e2 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -27,6 +27,7 @@ typedef struct _WS_ERROR WS_ERROR;
 typedef struct _WS_HEAP WS_HEAP;
 typedef struct _WS_XML_BUFFER WS_XML_BUFFER;
 typedef struct _WS_XML_READER WS_XML_READER;
+typedef struct _WS_XML_WRITER WS_XML_WRITER;
 
 struct _WS_STRUCT_DESCRIPTION;
 struct _WS_XML_STRING;
@@ -81,6 +82,44 @@ typedef struct _WS_XML_READER_PROPERTY {
 } WS_XML_READER_PROPERTY;
 
 typedef enum {
+    WS_XML_WRITER_PROPERTY_MAX_DEPTH,
+    WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT,
+    WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES,
+    WS_XML_WRITER_PROPERTY_WRITE_DECLARATION,
+    WS_XML_WRITER_PROPERTY_INDENT,
+    WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE,
+    WS_XML_WRITER_PROPERTY_CHARSET,
+    WS_XML_WRITER_PROPERTY_BUFFERS,
+    WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE,
+    WS_XML_WRITER_PROPERTY_BYTES,
+    WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE,
+    WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE,
+    WS_XML_WRITER_PROPERTY_INITIAL_BUFFER,
+    WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES,
+    WS_XML_WRITER_PROPERTY_MAX_NAMESPACES,
+    WS_XML_WRITER_PROPERTY_BYTES_WRITTEN,
+    WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE,
+    WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS,
+    WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
+} WS_XML_WRITER_PROPERTY_ID;
+
+typedef struct _WS_XML_WRITER_PROPERTY {
+    WS_XML_WRITER_PROPERTY_ID id;
+    void                     *value;
+    ULONG                     valueSize;
+} WS_XML_WRITER_PROPERTY;
+
+typedef struct _WS_BYTES {
+    ULONG length;
+    BYTE *bytes;
+} WS_BYTES;
+
+typedef struct _WS_BUFFERS {
+    ULONG bufferCount;
+    WS_BYTES *buffers;
+} WS_BUFFERS;
+
+typedef enum {
     WS_XML_READER_ENCODING_TYPE_TEXT   = 1,
     WS_XML_READER_ENCODING_TYPE_BINARY = 2,
     WS_XML_READER_ENCODING_TYPE_MTOM   = 3,
@@ -92,6 +131,17 @@ typedef struct _WS_XML_READER_ENCODING {
 } WS_XML_READER_ENCODING;
 
 typedef enum {
+    WS_XML_WRITER_ENCODING_TYPE_TEXT   = 1,
+    WS_XML_WRITER_ENCODING_TYPE_BINARY = 2,
+    WS_XML_WRITER_ENCODING_TYPE_MTOM   = 3,
+    WS_XML_WRITER_ENCODING_TYPE_RAW    = 4
+} WS_XML_WRITER_ENCODING_TYPE;
+
+typedef struct _WS_XML_WRITER_ENCODING {
+    WS_XML_WRITER_ENCODING_TYPE encodingType;
+} WS_XML_WRITER_ENCODING;
+
+typedef enum {
     WS_CHARSET_AUTO,
     WS_CHARSET_UTF8,
     WS_CHARSET_UTF16LE,
@@ -103,21 +153,39 @@ typedef struct _WS_XML_READER_TEXT_ENCODING {
     WS_CHARSET charSet;
 } WS_XML_READER_TEXT_ENCODING;
 
+typedef struct _WS_XML_WRITER_TEXT_ENCODING {
+    WS_XML_WRITER_ENCODING encoding;
+    WS_CHARSET charSet;
+} WS_XML_WRITER_TEXT_ENCODING;
+
 typedef enum {
     WS_XML_READER_INPUT_TYPE_BUFFER = 1,
     WS_XML_READER_INPUT_TYPE_STREAM = 2
 } WS_XML_READER_INPUT_TYPE;
 
+typedef enum {
+    WS_XML_WRITER_OUTPUT_TYPE_BUFFER = 1,
+    WS_XML_WRITER_OUTPUT_TYPE_STREAM = 2
+} WS_XML_WRITER_OUTPUT_TYPE;
+
 typedef struct _WS_XML_READER_INPUT {
     WS_XML_READER_INPUT_TYPE inputType;
 } WS_XML_READER_INPUT;
 
+typedef struct _WS_XML_WRITER_OUTPUT {
+    WS_XML_WRITER_OUTPUT_TYPE outputType;
+} WS_XML_WRITER_OUTPUT;
+
 typedef struct _WS_XML_READER_BUFFER_INPUT {
     WS_XML_READER_INPUT input;
     void *encodedData;
     ULONG encodedDataSize;
 } WS_XML_READER_BUFFER_INPUT;
 
+typedef struct _WS_XML_WRITER_BUFFER_OUTPUT {
+    WS_XML_WRITER_OUTPUT output;
+} WS_XML_WRITER_BUFFER_OUTPUT;
+
 typedef enum {
     WS_SHORT_CALLBACK,
     WS_LONG_CALLBACK
@@ -208,6 +276,13 @@ typedef enum {
 } WS_READ_OPTION;
 
 typedef enum {
+    WS_WRITE_REQUIRED_VALUE   = 1,
+    WS_WRITE_REQUIRED_POINTER = 2,
+    WS_WRITE_NILLABLE_VALUE   = 3,
+    WS_WRITE_NILLABLE_POINTER = 4
+} WS_WRITE_OPTION;
+
+typedef enum {
     WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
     WS_ATTRIBUTE_FIELD_MAPPING,
     WS_ELEMENT_FIELD_MAPPING,
@@ -233,6 +308,15 @@ typedef struct _WS_ITEM_RANGE {
     ULONG maxItemCount;
 } WS_ITEM_RANGE;
 
+enum
+{
+    WS_FIELD_POINTER         = 0x1,
+    WS_FIELD_OPTIONAL        = 0x2,
+    WS_FIELD_NILLABLE        = 0x4,
+    WS_FIELD_NILLABLE_ITEM   = 0x8,
+    WS_FIELD_OTHER_NAMESPACE = 0x10
+};
+
 typedef struct _WS_FIELD_DESCRIPTION {
     WS_FIELD_MAPPING mapping;
     WS_XML_STRING *localName;
@@ -248,6 +332,13 @@ typedef struct _WS_FIELD_DESCRIPTION {
     WS_ITEM_RANGE *itemRange;
 } WS_FIELD_DESCRIPTION;
 
+enum
+{
+    WS_STRUCT_ABSTRACT                        = 0x1,
+    WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT = 0x2,
+    WS_STRUCT_IGNORE_UNHANDLED_ATTRIBUTES     = 0x4
+};
+
 typedef struct _WS_STRUCT_DESCRIPTION {
     ULONG size;
     ULONG alignment;
@@ -353,18 +444,21 @@ typedef struct _WS_XML_NODE_POSITION {
 HRESULT WINAPI WsCreateError(const WS_ERROR_PROPERTY*, ULONG, WS_ERROR**);
 HRESULT WINAPI WsCreateHeap(SIZE_T, SIZE_T, const WS_HEAP_PROPERTY*, ULONG, WS_HEAP**, WS_ERROR*);
 HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*);
+HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*);
 HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
                                ULONG*, WS_ERROR*);
 void WINAPI WsFreeError(WS_ERROR*);
 void WINAPI WsFreeHeap(WS_HEAP*);
 void WINAPI WsFreeReader(WS_XML_READER*);
+void WINAPI WsFreeWriter(WS_XML_WRITER*);
 HRESULT WINAPI WsGetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, void*, ULONG);
 HRESULT WINAPI WsGetErrorString(WS_ERROR*, ULONG, WS_STRING*);
 HRESULT WINAPI WsGetHeapProperty(WS_HEAP*, WS_HEAP_PROPERTY_ID, void*, ULONG, WS_ERROR*);
 HRESULT WINAPI WsGetReaderNode(WS_XML_READER*, const WS_XML_NODE**, WS_ERROR*);
 HRESULT WINAPI WsGetReaderPosition(WS_XML_READER*, WS_XML_NODE_POSITION*, WS_ERROR*);
 HRESULT WINAPI WsGetReaderProperty(WS_XML_READER*, WS_XML_READER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsGetWriterProperty(WS_XML_WRITER*, WS_XML_WRITER_PROPERTY_ID, void*, ULONG, WS_ERROR*);
 HRESULT WINAPI WsGetXmlAttribute(WS_XML_READER*, const WS_XML_STRING*, WS_HEAP*, WCHAR**,
                                  ULONG*, WS_ERROR*);
 HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
@@ -380,7 +474,10 @@ HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*,
 HRESULT WINAPI WsSetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, const void*, ULONG);
 HRESULT WINAPI WsSetInput(WS_XML_READER*, const WS_XML_READER_ENCODING*, const WS_XML_READER_INPUT*,
                           const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*);
-
+HRESULT WINAPI WsSetOutput(WS_XML_WRITER*, const WS_XML_WRITER_ENCODING*, const WS_XML_WRITER_OUTPUT*,
+                           const WS_XML_WRITER_PROPERTY*, ULONG, WS_ERROR*);
+HRESULT WINAPI WsWriteType(WS_XML_WRITER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_WRITE_OPTION,
+                           const void*, ULONG, WS_ERROR*);
 
 #define WS_S_ASYNC                          0x003d0000
 #define WS_S_END                            0x003d0001
-- 
2.6.1




More information about the wine-patches mailing list