[03/10] include: Add missing Web Services declarations.

Hans Leidekker hans at codeweavers.com
Fri Apr 22 02:42:40 CDT 2016


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

diff --git a/include/webservices.h b/include/webservices.h
index 87035bc..6217105 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -39,6 +39,7 @@ typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING;
 typedef struct _WS_CHANNEL WS_CHANNEL;
 typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY;
 typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES;
+typedef struct _WS_HTTP_BINDING_TEMPLATE WS_HTTP_BINDING_TEMPLATE;
 typedef struct _WS_HTTP_SSL_BINDING_TEMPLATE WS_HTTP_SSL_BINDING_TEMPLATE;
 typedef struct _WS_CHANNEL_PROPERTIES WS_CHANNEL_PROPERTIES;
 typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE;
@@ -49,6 +50,16 @@ typedef struct _WS_ENDPOINT_IDENTITY WS_ENDPOINT_IDENTITY;
 typedef struct _WS_ENUM_DESCRIPTION WS_ENUM_DESCRIPTION;
 typedef struct _WS_ENUM_VALUE WS_ENUM_VALUE;
 typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION;
+typedef struct _WS_HTTP_POLICY_DESCRIPTION WS_HTTP_POLICY_DESCRIPTION;
+typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY;
+typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES;
+typedef struct _WS_MESSAGE WS_MESSAGE;
+typedef struct _WS_MESSAGE_DESCRIPTION WS_MESSAGE_DESCRIPTION;
+typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION;
+typedef struct _WS_PARAMETER_DESCRIPTION WS_PARAMETER_DESCRIPTION;
+typedef struct _WS_OPERATION_CONTEXT WS_OPERATION_CONTEXT;
+typedef struct _WS_CALL_PROPERTY WS_CALL_PROPERTY;
+typedef struct _WS_DOUBLE_DESCRIPTION WS_DOUBLE_DESCRIPTION;
 
 struct _WS_STRUCT_DESCRIPTION;
 struct _WS_XML_STRING;
@@ -372,6 +383,11 @@ struct _WS_ENUM_DESCRIPTION {
     ULONG *nameIndices;
 };
 
+struct _WS_DOUBLE_DESCRIPTION {
+    double minValue;
+    double maxValue;
+};
+
 typedef enum {
     WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
     WS_ATTRIBUTE_FIELD_MAPPING,
@@ -823,6 +839,10 @@ struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE {
     WS_CERT_CREDENTIAL *localCertCredential;
 };
 
+struct _WS_HTTP_BINDING_TEMPLATE {
+    WS_CHANNEL_PROPERTIES channelProperties;
+};
+
 struct _WS_HTTP_SSL_BINDING_TEMPLATE {
     WS_CHANNEL_PROPERTIES channelProperties;
     WS_SECURITY_PROPERTIES securityProperties;
@@ -878,6 +898,22 @@ struct _WS_MESSAGE_PROPERTIES {
 };
 
 typedef enum {
+    WS_MESSAGE_STATE_EMPTY          = 1,
+    WS_MESSAGE_STATE_INITIALIZED    = 2,
+    WS_MESSAGE_STATE_READING        = 3,
+    WS_MESSAGE_STATE_WRITING        = 4,
+    WS_MESSAGE_STATE_DONE           = 5
+} WS_MESSAGE_STATE;
+
+typedef enum {
+    WS_BLANK_MESSAGE,
+    WS_DUPLICATE_MESSAGE,
+    WS_REQUEST_MESSAGE,
+    WS_REPLY_MESSAGE,
+    WS_FAULT_MESSAGE
+} WS_MESSAGE_INITIALIZATION;
+
+typedef enum {
     WS_DNS_ENDPOINT_IDENTITY_TYPE       = 1,
     WS_UPN_ENDPOINT_IDENTITY_TYPE       = 2,
     WS_SPN_ENDPOINT_IDENTITY_TYPE       = 3,
@@ -897,12 +933,79 @@ struct _WS_ENDPOINT_ADDRESS {
     WS_ENDPOINT_IDENTITY *identity;
 };
 
+struct _WS_HTTP_POLICY_DESCRIPTION {
+    WS_CHANNEL_PROPERTIES channelProperties;
+};
+
+struct _WS_MESSAGE_DESCRIPTION {
+    WS_XML_STRING *action;
+    WS_ELEMENT_DESCRIPTION *bodyElementDescription;
+};
+
+typedef enum {
+    WS_PARAMETER_TYPE_NORMAL,
+    WS_PARAMETER_TYPE_ARRAY,
+    WS_PARAMETER_TYPE_ARRAY_COUNT,
+    WS_PARAMETER_TYPE_MESSAGES
+} WS_PARAMETER_TYPE;
+
+struct _WS_PARAMETER_DESCRIPTION {
+    WS_PARAMETER_TYPE parameterType;
+    USHORT inputMessageIndex;
+    USHORT outputMessageIndex;
+};
+
+typedef HRESULT (CALLBACK *WS_SERVICE_STUB_CALLBACK)(
+    const WS_OPERATION_CONTEXT *context,
+    void *frame,
+    const void *callback,
+    const WS_ASYNC_CONTEXT *asyncContext,
+    WS_ERROR *error );
+
+typedef enum {
+    WS_NON_RPC_LITERAL_OPERATION,
+    WS_RPC_LITERAL_OPERATION
+} WS_OPERATION_STYLE;
+
+struct _WS_OPERATION_DESCRIPTION {
+    ULONG versionInfo;
+    WS_MESSAGE_DESCRIPTION *inputMessageDescription;
+    WS_MESSAGE_DESCRIPTION *outputMessageDescription;
+    ULONG inputMessageOptions;
+    ULONG outputMessageOptions;
+    USHORT parameterCount;
+    WS_PARAMETER_DESCRIPTION *parameterDescription;
+    WS_SERVICE_STUB_CALLBACK stubCallback;
+    WS_OPERATION_STYLE style;
+};
+
+typedef enum {
+    WS_CALL_PROPERTY_CHECK_MUST_UNDERSTAND,
+    WS_CALL_PROPERTY_SEND_MESSAGE_CONTEXT,
+    WS_CALL_PROPERTY_RECEIVE_MESSAGE_CONTEXT,
+    WS_CALL_PROPERTY_CALL_ID
+} WS_CALL_PROPERTY_ID;
+
+struct _WS_CALL_PROPERTY {
+    WS_CALL_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
 HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, WS_ERROR*);
+HRESULT WINAPI WsCall(WS_SERVICE_PROXY*, const WS_OPERATION_DESCRIPTION*, const void**,
+                      WS_HEAP*, const WS_CALL_PROPERTY*, const ULONG, const WS_ASYNC_CONTEXT*,
+                      WS_ERROR*);
+HRESULT WINAPI WsCloseChannel(WS_CHANNEL*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsCloseServiceProxy(WS_SERVICE_PROXY*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsCreateChannel(WS_CHANNEL_TYPE, WS_CHANNEL_BINDING, const WS_CHANNEL_PROPERTY*,
                                ULONG, const WS_SECURITY_DESCRIPTION*, WS_CHANNEL**, WS_ERROR*);
 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 WsCreateMessage(WS_ENVELOPE_VERSION, WS_ADDRESSING_VERSION, const WS_MESSAGE_PROPERTY*,
+                               ULONG, WS_MESSAGE**, WS_ERROR*);
+HRESULT WINAPI WsCreateMessageForChannel(WS_CHANNEL*, const WS_MESSAGE_PROPERTY*, ULONG, WS_MESSAGE**,
+                                         WS_ERROR*);
 HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*);
 HRESULT WINAPI WsCreateServiceProxy(const WS_CHANNEL_TYPE, const WS_CHANNEL_BINDING,
                                     const WS_SECURITY_DESCRIPTION*, const WS_PROXY_PROPERTY*,
@@ -921,6 +1024,7 @@ HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XM
 void WINAPI WsFreeChannel(WS_CHANNEL*);
 void WINAPI WsFreeError(WS_ERROR*);
 void WINAPI WsFreeHeap(WS_HEAP*);
+void WINAPI WsFreeMessage(WS_MESSAGE*);
 void WINAPI WsFreeReader(WS_XML_READER*);
 void WINAPI WsFreeServiceProxy(WS_SERVICE_PROXY*);
 void WINAPI WsFreeWriter(WS_XML_WRITER*);
@@ -940,8 +1044,10 @@ HRESULT WINAPI WsGetServiceProxyProperty(WS_SERVICE_PROXY*, const WS_PROXY_PROPE
 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 WsInitializeMessage(WS_MESSAGE*, WS_MESSAGE_INITIALIZATION, WS_MESSAGE*, WS_ERROR*);
 HRESULT WINAPI WsMoveReader(WS_XML_READER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
 HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
+HRESULT WINAPI WsOpenChannel(WS_CHANNEL*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsOpenServiceProxy(WS_SERVICE_PROXY*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*,
                                   WS_ERROR*);
 HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION,
@@ -956,6 +1062,8 @@ HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const
 HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION,
                           WS_HEAP*, void*, ULONG, WS_ERROR*);
 HRESULT WINAPI WsResetHeap(WS_HEAP*, WS_ERROR*);
+HRESULT WINAPI WsSendMessage(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, WS_WRITE_OPTION,
+                             const void*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsSetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, const void*, ULONG, WS_ERROR*);
 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*,
@@ -975,6 +1083,8 @@ HRESULT WINAPI WsWriteEndAttribute(WS_XML_WRITER*, WS_ERROR*);
 HRESULT WINAPI WsWriteEndCData(WS_XML_WRITER*, WS_ERROR*);
 HRESULT WINAPI WsWriteEndElement(WS_XML_WRITER*, WS_ERROR*);
 HRESULT WINAPI WsWriteEndStartElement(WS_XML_WRITER*, WS_ERROR*);
+HRESULT WINAPI WsWriteMessageStart(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
+HRESULT WINAPI WsWriteMessageEnd(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*);
 HRESULT WINAPI WsWriteStartAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*,
                                      const WS_XML_STRING*, BOOL, WS_ERROR*);
 HRESULT WINAPI WsWriteStartCData(WS_XML_WRITER*, WS_ERROR*);
-- 
2.8.0.rc3




More information about the wine-patches mailing list