Home | History | Annotate | Download | only in include
      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