/******************************************************************************* * Copyright (C) 2004-2006 Intel Corp. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * - Neither the name of Intel Corp. nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ /** * @author Anas Nashif */ #ifndef WSMAN_FAULTS_H_ #define WSMAN_FAULTS_H_ #define FAULT_SENDER_CODE "Sender" #define FAULT_MUSTUNDERSTAND_CODE "MustUnderstand" #define FAULT_RECEIVER_CODE "Receiver" #define FAULT_SENDER_CODE_NS "s:Sender" #define FAULT_RECEIVER_CODE_NS "s:Receiver" #define FAULT_MUSTUNDERSTAND_CODE_NS "s:MustUnderstand" enum __WsmanFaultCodeType { WSMAN_RC_OK = 0, WSMAN_ACCESS_DENIED, /** wsa:ActionNotSupported */ WSA_ACTION_NOT_SUPPORTED, WSMAN_ALREADY_EXISTS, /** wsen:CannotProcessFilter */ WSEN_CANNOT_PROCESS_FILTER, WSMAN_CANNOT_PROCESS_FILTER, WSMAN_CONCURRENCY, /**wse:DeliveryModeRequestedUnavailable */ WSE_DELIVERY_MODE_REQUESTED_UNAVAILABLE, WSMAN_DELIVERY_REFUSED, /** wsa:DestinationUnreachable */ WSA_DESTINATION_UNREACHABLE, WSMAN_ENCODING_LIMIT, /** wsa:EndpointUnavailable */ WSA_ENDPOINT_UNAVAILABLE, WSMAN_EVENT_DELIVER_TO_UNUSABLE, /** wse:EventSourceUnableToProcess*/ WSE_EVENT_SOURCE_UNABLE_TO_PROCESS, /** wsen:FilterDialectRequestedUnavailable */ WSEN_FILTER_DIALECT_REQUESTED_UNAVAILABLE, /** wse:FilteringNotSupported */ WSE_FILTERING_NOT_SUPPORTED, /** wsen:FilteringNotSupported */ WSEN_FILTERING_NOT_SUPPORTED, /** wse:FilteringRequestedUnavailable */ WSE_FILTERING_REQUESTED_UNAVAILABLE, WSMAN_FRAGMENT_DIALECT_NOT_SUPPORTED, WSMAN_INTERNAL_ERROR, WSMAN_INVALID_BOOKMARK, // WSEN WSEN_INVALID_ENUMERATION_CONTEXT, /** wse:InvalidExpirationTime */ WSE_INVALID_EXPIRATION_TIME, /** wsen:InvalidExpirationTime */ WSEN_INVALID_EXPIRATION_TIME, /** wse:InvalidMessage */ WSE_INVALID_MESSAGE, /** wsa:InvalidMessageInformationHeader */ WSA_INVALID_MESSAGE_INFORMATION_HEADER, WSMAN_INVALID_OPTIONS, WSMAN_INVALID_PARAMETER, // WS-Transfer WXF_INVALID_REPRESENTATION, WSMAN_INVALID_SELECTORS, /** wsa:MessageInformationHeaderRequired */ WSA_MESSAGE_INFORMATION_HEADER_REQUIRED, WSMAN_NO_ACK, WSMAN_QUOTA_LIMIT, WSMAN_SCHEMA_VALIDATION_ERROR, /** wsen:TimedOut */ WSEN_TIMED_OUT, WSMAN_TIMED_OUT, /** wse:UnableToRenew */ WSE_UNABLE_TO_RENEW, /** wse:UnsupportedExpirationType */ WSE_UNSUPPORTED_EXPIRATION_TYPE, /** wsen:UnsupportedExpirationType */ WSEN_UNSUPPORTED_EXPIRATION_TYPE, WSMAN_UNSUPPORTED_FEATURE, // SOAP SOAP_FAULT_VERSION_MISMATCH, // MustUnderstand SOAP_FAULT_MUSTUNDERSTAND, // wsmb:PolymorphismModeNotSupported WSMB_POLYMORPHISM_MODE_NOT_SUPPORTED, WSMAN_UNKNOWN }; typedef enum __WsmanFaultCodeType WsmanFaultCodeType; enum __WsmanFaultDetailType { WSMAN_DETAIL_OK = 0, WSMAN_DETAIL_ACK, WSMAN_DETAIL_ACTION_MISMATCH, WSMAN_DETAIL_ALREADY_EXISTS, WSMAN_DETAIL_AMBIGUOUS_SELECTORS, WSMAN_DETAIL_ASYNCHRONOUS_REQUEST, WSMAN_DETAIL_ADDRESSING_MODE, WSMAN_DETAIL_AUTHERIZATION_MODE, WSMAN_DETAIL_BOOKMARKS, WSMAN_DETAIL_CHARECHTER_SET, WSMAN_DETAIL_DELIVERY_RETRIES, WSMAN_DETAIL_DUPLICATE_SELECTORS, WSMAN_DETAIL_ENCODING_TYPE, WSMAN_DETAIL_ENUMERATION_MODE, WSMAN_DETAIL_EXPIRATION_TIME, WSMAN_DETAIL_EXPIRED, WSMAN_DETAIL_FILTERING_REQUIRED, WSMAN_DETAIL_FORMAT_MISMATCH, WSMAN_DETAIL_FORMAT_SECURITY_TOKEN, WSMAN_DETAIL_FRAGMENT_LEVEL_ACCESS, WSMAN_DETAIL_HEARTBEATS, WSMAN_DETAIL_INSECURE_ADDRESS, WSMAN_DETAIL_INSUFFICIENT_SELECTORS, WSMAN_DETAIL_INVALID, WSMAN_DETAIL_INVALID_ADDRESS, WSMAN_DETAIL_INVALID_FORMAT, WSMAN_DETAIL_INVALID_FRAGMENT, WSMAN_DETAIL_INVALID_NAME, WSMAN_DETAIL_INVALID_NAMESPACE, WSMAN_DETAIL_INVALID_RESOURCEURI, WSMAN_DETAIL_INVALID_SELECTOR_ASSIGNMENT, WSMAN_DETAIL_INVALID_SYSTEM, WSMAN_DETAIL_INVALID_TIMEOUT, WSMAN_DETAIL_INVALID_VALUE, WSMAN_DETAIL_INVALID_VALUES, WSMAN_DETAIL_LOCALE, WSMAN_DETAIL_MAX_ELEMENTS, WSMAN_DETAIL_MAX_ENVELOPE_POLICY, WSMAN_DETAIL_MAX_ENVELOPE_SIZE, WSMAN_DETAIL_MAX_TIME, WSMAN_DETAIL_MINIMUM_ENVELOPE_LIMIT, WSMAN_DETAIL_MISSING_VALUES, WSMAN_DETAIL_NOT_SUPPORTED, WSMAN_DETAIL_OPERATION_TIMEOUT, WSMAN_DETAIL_OPTION_LIMIT, WSMAN_DETAIL_OPTION_SET, WSMAN_DETAIL_READ_ONLY, WSMAN_DETAIL_RESOURCE_OFFLINE, WSMAN_DETAIL_RENAME, WSMAN_DETAIL_SELECTOR_LIMIT, WSMAN_DETAIL_SERVICE_ENVELOPE_LIMIT, WSMAN_DETAIL_TARGET_ALREADY_EXISTS, WSMAN_DETAIL_TYPE_MISMATCH, WSMAN_DETAIL_UNEXPECTED_SELECTORS, WSMAN_DETAIL_UNREPORTABLE_SUCCESS, WSMAN_DETAIL_UNUSABLE_ADDRESS, WSMAN_DETAIL_URI_LIMIT_EXCEEDED, WSMAN_DETAIL_WHITESPACE, // WS-Addressing WSA_DETAIL_DUPLICATE_MESSAGE_ID, // SOAP SOAP_DETAIL_HEADER_NOT_UNDERSTOOD, // WS-Trust WST_DETAIL_UNSUPPORTED_TOKENTYPE, // WS_Policy WSP_DETAIL_INVALID_EPR, // OpenWSMAN OWSMAN_DETAIL_ENDPOINT_ERROR, OWSMAN_NO_DETAILS, OWSMAN_SYSTEM_ERROR /* keep this as last entry ! */ }; typedef enum __WsmanFaultDetailType WsmanFaultDetailType; typedef enum { WSMAN_STATUS_NONE, /* Transport Errors */ WSMAN_STATUS_CANCELLED = 1, WSMAN_STATUS_CANT_RESOLVE, WSMAN_STATUS_CANT_RESOLVE_PROXY, WSMAN_STATUS_CANT_CONNECT, WSMAN_STATUS_CANT_CONNECT_PROXY, WSMAN_STATUS_SSL_FAILED, WSMAN_STATUS_IO_ERROR, WSMAN_STATUS_MALFORMED, WSMAN_STATUS_TRY_AGAIN, /* HTTP Status Codes */ WSMAN_STATUS_CONTINUE = 100, WSMAN_STATUS_SWITCHING_PROTOCOLS = 101, WSMAN_STATUS_PROCESSING = 102, /* WebDAV */ WSMAN_STATUS_OK = 200, WSMAN_STATUS_CREATED = 201, WSMAN_STATUS_ACCEPTED = 202, WSMAN_STATUS_NON_AUTHORITATIVE = 203, WSMAN_STATUS_NO_CONTENT = 204, WSMAN_STATUS_RESET_CONTENT = 205, WSMAN_STATUS_PARTIAL_CONTENT = 206, WSMAN_STATUS_MULTI_STATUS = 207, /* WebDAV */ WSMAN_STATUS_MULTIPLE_CHOICES = 300, WSMAN_STATUS_MOVED_PERMANENTLY = 301, WSMAN_STATUS_FOUND = 302, WSMAN_STATUS_MOVED_TEMPORARILY = 302, /* RFC 2068 */ WSMAN_STATUS_SEE_OTHER = 303, WSMAN_STATUS_NOT_MODIFIED = 304, WSMAN_STATUS_USE_PROXY = 305, WSMAN_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL = 306, /* (reserved) */ WSMAN_STATUS_TEMPORARY_REDIRECT = 307, WSMAN_STATUS_BAD_REQUEST = 400, WSMAN_STATUS_UNAUTHORIZED = 401, WSMAN_STATUS_PAYMENT_REQUIRED = 402, /* (reserved) */ WSMAN_STATUS_FORBIDDEN = 403, WSMAN_STATUS_NOT_FOUND = 404, WSMAN_STATUS_METHOD_NOT_ALLOWED = 405, WSMAN_STATUS_NOT_ACCEPTABLE = 406, WSMAN_STATUS_PROXY_AUTHENTICATION_REQUIRED = 407, WSMAN_STATUS_PROXY_UNAUTHORIZED = WSMAN_STATUS_PROXY_AUTHENTICATION_REQUIRED, WSMAN_STATUS_REQUEST_TIMEOUT = 408, WSMAN_STATUS_CONFLICT = 409, WSMAN_STATUS_GONE = 410, WSMAN_STATUS_LENGTH_REQUIRED = 411, WSMAN_STATUS_PRECONDITION_FAILED = 412, WSMAN_STATUS_REQUEST_ENTITY_TOO_LARGE = 413, WSMAN_STATUS_REQUEST_URI_TOO_LONG = 414, WSMAN_STATUS_UNSUPPORTED_MEDIA_TYPE = 415, WSMAN_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE = 416, WSMAN_STATUS_INVALID_RANGE = WSMAN_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE, WSMAN_STATUS_EXPECTATION_FAILED = 417, WSMAN_STATUS_UNPROCESSABLE_ENTITY = 422, /* WebDAV */ WSMAN_STATUS_LOCKED = 423, /* WebDAV */ WSMAN_STATUS_FAILED_DEPENDENCY = 424, /* WebDAV */ WSMAN_STATUS_INTERNAL_SERVER_ERROR = 500, WSMAN_STATUS_NOT_IMPLEMENTED = 501, WSMAN_STATUS_BAD_GATEWAY = 502, WSMAN_STATUS_SERVICE_UNAVAILABLE = 503, WSMAN_STATUS_GATEWAY_TIMEOUT = 504, WSMAN_STATUS_HTTP_VERSION_NOT_SUPPORTED = 505, WSMAN_STATUS_INSUFFICIENT_STORAGE = 507, /* WebDAV search */ WSMAN_STATUS_NOT_EXTENDED = 510 /* RFC 2774 */ } WsmanKnownStatusCode; struct __WsmanFaultCodeTable { WsmanFaultCodeType fault_code; WsmanKnownStatusCode http_code; char* fault_action; char* subCodeNs; char* code; char* subCode; char* reason; }; typedef struct __WsmanFaultCodeTable WsmanFaultCodeTable; struct __WsmanFaultDetailTable { WsmanFaultDetailType fault_code; char* detail; }; typedef struct __WsmanFaultDetailTable WsmanFaultDetailTable; #endif /*WSMAN_FAULTS_H_*/