[6/9] include: Add missing Web Services declarations.

Hans Leidekker hans at codeweavers.com
Wed Apr 13 06:49:43 CDT 2016


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

diff --git a/include/webservices.h b/include/webservices.h
index 1b13fce..bfc84e2 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -28,6 +28,27 @@ 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;
+typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY;
+typedef struct _WS_SECURITY_DESCRIPTION WS_SECURITY_DESCRIPTION;
+typedef struct _WS_CHANNEL_PROPERTY WS_CHANNEL_PROPERTY;
+typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY;
+typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY;
+typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY;
+typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES;
+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_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;
+typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES;
+typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL;
+typedef struct _WS_ENDPOINT_ADDRESS WS_ENDPOINT_ADDRESS;
+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;
 
 struct _WS_STRUCT_DESCRIPTION;
 struct _WS_XML_STRING;
@@ -339,6 +360,18 @@ typedef struct _WS_WSZ_DESCRIPTION {
     ULONG maxCharCount;
 } WS_WSZ_DESCRIPTION;
 
+struct _WS_ENUM_VALUE {
+    int value;
+    WS_XML_STRING *name;
+};
+
+struct _WS_ENUM_DESCRIPTION {
+    WS_ENUM_VALUE *values;
+    ULONG valueCount;
+    ULONG maxByteCount;
+    ULONG *nameIndices;
+};
+
 typedef enum {
     WS_TYPE_ATTRIBUTE_FIELD_MAPPING,
     WS_ATTRIBUTE_FIELD_MAPPING,
@@ -539,20 +572,359 @@ typedef struct _WS_XML_NODE_POSITION {
     void *node;
 } WS_XML_NODE_POSITION;
 
+typedef enum {
+    WS_SERVICE_PROXY_STATE_CREATED,
+    WS_SERVICE_PROXY_STATE_OPENING,
+    WS_SERVICE_PROXY_STATE_OPEN,
+    WS_SERVICE_PROXY_STATE_CLOSING,
+    WS_SERVICE_PROXY_STATE_CLOSED,
+    WS_SERVICE_PROXY_STATE_FAULTED
+} WS_SERVICE_PROXY_STATE;
+
+typedef enum {
+    WS_PROXY_PROPERTY_CALL_TIMEOUT,
+    WS_PROXY_PROPERTY_MESSAGE_PROPERTIES,
+    WS_PROXY_PROPERTY_MAX_CALL_POOL_SIZE,
+    WS_PROXY_PROPERTY_STATE,
+    WS_PROXY_PROPERTY_MAX_PENDING_CALLS,
+    WS_PROXY_PROPERTY_MAX_CLOSE_TIMEOUT,
+    WS_PROXY_FAULT_LANG_ID
+} WS_PROXY_PROPERTY_ID;
+
+struct _WS_PROXY_PROPERTY {
+    WS_PROXY_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
+typedef enum {
+    WS_CHANNEL_TYPE_INPUT           = 0x1,
+    WS_CHANNEL_TYPE_OUTPUT          = 0x2,
+    WS_CHANNEL_TYPE_SESSION         = 0x4,
+    WS_CHANNEL_TYPE_INPUT_SESSION   = (WS_CHANNEL_TYPE_INPUT  | WS_CHANNEL_TYPE_SESSION),
+    WS_CHANNEL_TYPE_OUTPUT_SESSION  = (WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION),
+    WS_CHANNEL_TYPE_DUPLEX          = (WS_CHANNEL_TYPE_INPUT  | WS_CHANNEL_TYPE_OUTPUT),
+    WS_CHANNEL_TYPE_DUPLEX_SESSION  = (WS_CHANNEL_TYPE_INPUT  | WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION),
+    WS_CHANNEL_TYPE_REQUEST         = 0x8,
+    WS_CHANNEL_TYPE_REPLY           = 0x10
+} WS_CHANNEL_TYPE;
+
+typedef enum {
+    WS_ENCODING_XML_BINARY_1,
+    WS_ENCODING_XML_BINARY_SESSION_1,
+    WS_ENCODING_XML_MTOM_UTF8,
+    WS_ENCODING_XML_MTOM_UTF16BE,
+    WS_ENCODING_XML_MTOM_UTF16LE,
+    WS_ENCODING_XML_UTF8,
+    WS_ENCODING_XML_UTF16BE,
+    WS_ENCODING_XML_UTF16LE,
+    WS_ENCODING_RAW
+} WS_ENCODING;
+
+typedef enum {
+    WS_CHANNEL_STATE_CREATED,
+    WS_CHANNEL_STATE_OPENING,
+    WS_CHANNEL_STATE_ACCEPTING,
+    WS_CHANNEL_STATE_OPEN,
+    WS_CHANNEL_STATE_FAULTED,
+    WS_CHANNEL_STATE_CLOSING,
+    WS_CHANNEL_STATE_CLOSED
+} WS_CHANNEL_STATE;
+
+typedef enum {
+    WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE               = 0,
+    WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE               = 1,
+    WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE                 = 2,
+    WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE                 = 3,
+    WS_CHANNEL_PROPERTY_ENCODING                                = 4,
+    WS_CHANNEL_PROPERTY_ENVELOPE_VERSION                        = 5,
+    WS_CHANNEL_PROPERTY_ADDRESSING_VERSION                      = 6,
+    WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE             = 7,
+    WS_CHANNEL_PROPERTY_STATE                                   = 8,
+    WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL                    = 9,
+    WS_CHANNEL_PROPERTY_IP_VERSION                              = 10,
+    WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT                         = 11,
+    WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT                         = 12,
+    WS_CHANNEL_PROPERTY_SEND_TIMEOUT                            = 13,
+    WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT                = 14,
+    WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT                         = 15,
+    WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT                           = 16,
+    WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS                         = 17,
+    WS_CHANNEL_PROPERTY_TRANSFER_MODE                           = 18,
+    WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE                     = 19,
+    WS_CHANNEL_PROPERTY_MULTICAST_HOPS                          = 20,
+    WS_CHANNEL_PROPERTY_REMOTE_ADDRESS                          = 21,
+    WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS                       = 22,
+    WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID                      = 23,
+    WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS                = 24,
+    WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS               = 25,
+    WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE                 = 26,
+    WS_CHANNEL_PROPERTY_TRANSPORT_URL                           = 27,
+    WS_CHANNEL_PROPERTY_NO_DELAY                                = 28,
+    WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES                        = 29,
+    WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME                         = 30,
+    WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL                     = 31,
+    WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS             = 32,
+    WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN                    = 33,
+    WS_CHANNEL_PROPERTY_CHANNEL_TYPE                            = 34,
+    WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE              = 35,
+    WS_CHANNEL_PROPERTY_ENCODER                                 = 36,
+    WS_CHANNEL_PROPERTY_DECODER                                 = 37,
+    WS_CHANNEL_PROPERTY_PROTECTION_LEVEL                        = 38,
+    WS_CHANNEL_PROPERTY_COOKIE_MODE                             = 39,
+    WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE                 = 40,
+    WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY                       = 41,
+    WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING                    = 42,
+    WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT                    = 43,
+    WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT          = 44,
+    WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS                        = 45,
+    WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS                  = 46,
+    WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN                         = 47,
+    WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN                          = 48,
+    WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE    = 49
+} WS_CHANNEL_PROPERTY_ID;
+
+struct _WS_CHANNEL_PROPERTY {
+    WS_CHANNEL_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
+struct _WS_CHANNEL_PROPERTIES {
+    WS_CHANNEL_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+typedef enum {
+    WS_HTTP_CHANNEL_BINDING,
+    WS_TCP_CHANNEL_BINDING,
+    WS_UDP_CHANNEL_BINDING,
+    WS_CUSTOM_CHANNEL_BINDING,
+    WS_NAMEDPIPE_CHANNEL_BINDING
+} WS_CHANNEL_BINDING;
+
+typedef enum {
+    WS_SSL_TRANSPORT_SECURITY_BINDING_TYPE,
+    WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_TYPE,
+    WS_HTTP_HEADER_AUTH_SECURITY_BINDING_TYPE,
+    WS_USERNAME_MESSAGE_SECURITY_BINDING_TYPE,
+    WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_TYPE,
+    WS_XML_TOKEN_MESSAGE_SECURITY_BINDING_TYPE,
+    WS_SAML_MESSAGE_SECURITY_BINDING_TYPE,
+    WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_TYPE,
+    WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING_TYPE
+} WS_SECURITY_BINDING_TYPE;
+
+typedef enum {
+    WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT                    = 1,
+    WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE            = 2,
+    WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH                        = 3,
+    WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS                    = 4,
+    WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL                = 5,
+    WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME                    = 6,
+    WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET                    = 7,
+    WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM               = 8,
+    WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM              = 9,
+    WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN             = 10,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE                  = 11,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE          = 12,
+    WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES                         = 13,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS      = 14,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS       = 15,
+    WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION                = 16,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW             = 17,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL          = 18,
+    WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL         = 19,
+    WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE                    = 20,
+    WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK              = 21,
+    WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS                = 22,
+    WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT    = 23
+} WS_SECURITY_BINDING_PROPERTY_ID;
+
+struct _WS_SECURITY_BINDING_PROPERTY {
+    WS_SECURITY_BINDING_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
+struct _WS_SECURITY_BINDING_PROPERTIES {
+    WS_SECURITY_BINDING_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+struct _WS_SECURITY_BINDING {
+    WS_SECURITY_BINDING_TYPE bindingType;
+    WS_SECURITY_BINDING_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+typedef enum {
+    WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL     = 1,
+    WS_SECURITY_PROPERTY_ALGORITHM_SUITE                = 2,
+    WS_SECURITY_PROPERTY_ALGORITHM_SUITE_NAME           = 3,
+    WS_SECURITY_PROPERTY_MAX_ALLOWED_LATENCY            = 4,
+    WS_SECURITY_PROPERTY_TIMESTAMP_VALIDITY_DURATION    = 5,
+    WS_SECURITY_PROPERTY_MAX_ALLOWED_CLOCK_SKEW         = 6,
+    WS_SECURITY_PROPERTY_TIMESTAMP_USAGE                = 7,
+    WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT         = 8,
+    WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION        = 9,
+    WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY     = 10,
+    WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO   = 11,
+    WS_SECURITY_PROPERTY_SERVICE_IDENTITIES             = 12
+} WS_SECURITY_PROPERTY_ID;
+
+struct _WS_SECURITY_PROPERTY {
+    WS_SECURITY_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
+struct _WS_SECURITY_PROPERTIES {
+    WS_SECURITY_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+struct _WS_SECURITY_DESCRIPTION {
+    WS_SECURITY_BINDING **securityBindings;
+    ULONG securityBindingCount;
+    WS_SECURITY_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+typedef enum {
+    WS_HTTP_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_HEADER_AUTH_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_HEADER_AUTH_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_USERNAME_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE,
+    WS_TCP_BINDING_TEMPLATE_TYPE,
+    WS_TCP_SSPI_BINDING_TEMPLATE_TYPE,
+    WS_TCP_SSPI_USERNAME_BINDING_TEMPLATE_TYPE,
+    WS_TCP_SSPI_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
+    WS_HTTP_SSL_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
+    WS_TCP_SSPI_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE,
+    WS_TCP_SSPI_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE
+} WS_BINDING_TEMPLATE_TYPE;
+
+typedef enum {
+    WS_SUBJECT_NAME_CERT_CREDENTIAL_TYPE    = 1,
+    WS_THUMBPRINT_CERT_CREDENTIAL_TYPE      = 2,
+    WS_CUSTOM_CERT_CREDENTIAL_TYPE          = 3
+} WS_CERT_CREDENTIAL_TYPE;
+
+struct _WS_CERT_CREDENTIAL {
+    WS_CERT_CREDENTIAL_TYPE credentialType;
+};
+
+struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE {
+    WS_SECURITY_BINDING_PROPERTIES securityBindingProperties;
+    WS_CERT_CREDENTIAL *localCertCredential;
+};
+
+struct _WS_HTTP_SSL_BINDING_TEMPLATE {
+    WS_CHANNEL_PROPERTIES channelProperties;
+    WS_SECURITY_PROPERTIES securityProperties;
+    WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE sslTransportSecurityBinding;
+};
+
+typedef enum {
+    WS_ADDRESSING_VERSION_0_9       = 1,
+    WS_ADDRESSING_VERSION_1_0       = 2,
+    WS_ADDRESSING_VERSION_TRANSPORT = 3
+} WS_ADDRESSING_VERSION;
+
+typedef enum {
+    WS_ENVELOPE_VERSION_SOAP_1_1    = 1,
+    WS_ENVELOPE_VERSION_SOAP_1_2    = 2,
+    WS_ENVELOPE_VERSION_NONE        = 3
+} WS_ENVELOPE_VERSION;
+
+typedef enum {
+    WS_MESSAGE_PROPERTY_STATE,
+    WS_MESSAGE_PROPERTY_HEAP,
+    WS_MESSAGE_PROPERTY_ENVELOPE_VERSION,
+    WS_MESSAGE_PROPERTY_ADDRESSING_VERSION,
+    WS_MESSAGE_PROPERTY_HEADER_BUFFER,
+    WS_MESSAGE_PROPERTY_HEADER_POSITION,
+    WS_MESSAGE_PROPERTY_BODY_READER,
+    WS_MESSAGE_PROPERTY_BODY_WRITER,
+    WS_MESSAGE_PROPERTY_IS_ADDRESSED,
+    WS_MESSAGE_PROPERTY_HEAP_PROPERTIES,
+    WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES,
+    WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES,
+    WS_MESSAGE_PROPERTY_IS_FAULT,
+    WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS,
+    WS_MESSAGE_PROPERTY_USERNAME,
+    WS_MESSAGE_PROPERTY_ENCODED_CERT,
+    WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN,
+    WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN,
+    WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN,
+    WS_MESSAGE_PROPERTY_SAML_ASSERTION,
+    WS_MESSAGE_PROPERTY_SECURITY_CONTEXT,
+    WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
+} WS_MESSAGE_PROPERTY_ID;
+
+struct _WS_MESSAGE_PROPERTY {
+    WS_MESSAGE_PROPERTY_ID id;
+    void *value;
+    ULONG valueSize;
+};
+
+struct _WS_MESSAGE_PROPERTIES {
+    WS_MESSAGE_PROPERTY *properties;
+    ULONG propertyCount;
+};
+
+typedef enum {
+    WS_DNS_ENDPOINT_IDENTITY_TYPE       = 1,
+    WS_UPN_ENDPOINT_IDENTITY_TYPE       = 2,
+    WS_SPN_ENDPOINT_IDENTITY_TYPE       = 3,
+    WS_RSA_ENDPOINT_IDENTITY_TYPE       = 4,
+    WS_CERT_ENDPOINT_IDENTITY_TYPE      = 5,
+    WS_UNKNOWN_ENDPOINT_IDENTITY_TYPE   = 6
+} WS_ENDPOINT_IDENTITY_TYPE;
+
+struct _WS_ENDPOINT_IDENTITY {
+    WS_ENDPOINT_IDENTITY_TYPE identityType;
+};
+
+struct _WS_ENDPOINT_ADDRESS {
+    WS_STRING url;
+    WS_XML_BUFFER *headers;
+    WS_XML_BUFFER *extensions;
+    WS_ENDPOINT_IDENTITY *identity;
+};
+
 HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, 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 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*,
+                                    const ULONG, const WS_CHANNEL_PROPERTY*, const ULONG,
+                                    WS_SERVICE_PROXY**, WS_ERROR*);
+HRESULT WINAPI WsCreateServiceProxyFromTemplate(WS_CHANNEL_TYPE, const WS_PROXY_PROPERTY*,
+                                                const ULONG, WS_BINDING_TEMPLATE_TYPE,
+                                                void*, ULONG, const void*, ULONG,
+                                                WS_SERVICE_PROXY**, WS_ERROR*);
 HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*);
 HRESULT WINAPI WsCreateXmlBuffer(WS_HEAP*, const WS_XML_BUFFER_PROPERTY*, ULONG, WS_XML_BUFFER**,
                                  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 WsFreeChannel(WS_CHANNEL*);
 void WINAPI WsFreeError(WS_ERROR*);
 void WINAPI WsFreeHeap(WS_HEAP*);
 void WINAPI WsFreeReader(WS_XML_READER*);
+void WINAPI WsFreeServiceProxy(WS_SERVICE_PROXY*);
 void WINAPI WsFreeWriter(WS_XML_WRITER*);
+HRESULT WINAPI WsGetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, void*, ULONG, WS_ERROR*);
 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*);
@@ -563,11 +935,15 @@ HRESULT WINAPI WsGetPrefixFromNamespace(WS_XML_WRITER*, const WS_XML_STRING*, BO
 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 WsGetServiceProxyProperty(WS_SERVICE_PROXY*, const WS_PROXY_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 WsMoveReader(WS_XML_READER*, WS_MOVE_TO, BOOL*, WS_ERROR*);
 HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, BOOL*, 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,
                                WS_HEAP*, void*, ULONG, WS_ERROR*);
 HRESULT WINAPI WsReadEndAttribute(WS_XML_READER*, WS_ERROR*);
@@ -579,6 +955,7 @@ HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const
                                     BOOL*, WS_ERROR*);
 HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION,
                           WS_HEAP*, void*, ULONG, 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*,
                           const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*);
-- 
2.8.0.rc3




More information about the wine-patches mailing list