1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_WSDXMLDOM 7 #define _INC_WSDXMLDOM 8 9 #ifndef _INC_WSDAPI 10 #error Please include wsdapi.h instead of this header. This header cannot be used directly. 11 #endif 12 13 #if (_WIN32_WINNT >= 0x0600) 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 typedef struct _WSDXML_TYPE { 20 WCHAR *Uri; 21 BYTE *Table; 22 } WSDXML_TYPE; 23 24 typedef const WSDXML_TYPE *PCWSDXML_TYPE; 25 26 typedef struct _WSDXML_NAMESPACE { 27 const WCHAR *Uri; 28 const WCHAR *PreferredPrefix; 29 WSDXML_NAME *Names; 30 WORD NamesCount; 31 WORD Encoding; 32 } WSDXML_NAMESPACE; 33 34 typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE; 35 36 typedef struct _WSDXML_NAME { 37 WSDXML_NAMESPACE *Space; 38 WCHAR *LocalName; 39 } WSDXML_NAME; 40 41 typedef struct _WSDXML_NODE { 42 enum DUMMYUNIONNAME { 43 ElementType, 44 TextType 45 } Type; 46 WSDXML_ELEMENT *Parent; 47 WSDXML_NODE *Next; 48 } WSDXML_NODE; 49 50 typedef struct _WSDXML_TEXT { 51 WSDXML_NODE Node; 52 WCHAR *Text; 53 } WSDXML_TEXT; 54 55 typedef struct _WSDXML_ATTRIBUTE { 56 WSDXML_ELEMENT *Element; 57 WSDXML_ATTRIBUTE *Next; 58 WSDXML_NAME *Name; 59 WCHAR *Value; 60 } WSDXML_ATTRIBUTE; 61 62 typedef struct _WSDXML_PREFIX_MAPPING { 63 DWORD Refs; 64 WSDXML_PREFIX_MAPPING *Next; 65 WSDXML_NAMESPACE *Space; 66 WCHAR *Prefix; 67 } WSDXML_PREFIX_MAPPING; 68 69 typedef struct _WSDXML_ELEMENT { 70 WSDXML_NODE Node; 71 WSDXML_NAME *Name; 72 WSDXML_ATTRIBUTE *FirstAttribute; 73 WSDXML_NODE *FirstChild; 74 WSDXML_PREFIX_MAPPING *PrefixMappings; 75 } WSDXML_ELEMENT; 76 77 typedef struct _WSDXML_ELEMENT_LIST { 78 WSDXML_ELEMENT_LIST *Next; 79 WSDXML_ELEMENT *Element; 80 } WSDXML_ELEMENT_LIST; 81 82 #ifdef __cplusplus 83 } 84 #endif 85 #endif /*(_WIN32_WINNT >= 0x0600)*/ 86 #endif /*_INC_WSDXMLDOM*/ 87