xpmgr/BuildTools/Include/wsdxmldom.h

100 lines
2.0 KiB
C

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Component: WSDAPI - Microsoft Web Services for Devices API
//
// File: wsdxmldom.h
//
// Abstract: WSDAPI XML Type Definitions
//
//--------------------------------------------------------------------------
#pragma once
// pragma once does not guard properly when included into .idl
#ifndef __WSDXMLDOM_H__
#define __WSDXMLDOM_H__
typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE;
typedef struct _WSDXML_NAME WSDXML_NAME;
typedef struct _WSDXML_TYPE WSDXML_TYPE;
typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING;
typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE;
typedef struct _WSDXML_NODE WSDXML_NODE;
typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT;
typedef struct _WSDXML_TEXT WSDXML_TEXT;
typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST;
struct _WSDXML_NAMESPACE
{
const WCHAR* Uri;
const WCHAR* PreferredPrefix;
WSDXML_NAME* Names;
WORD NamesCount;
WORD Encoding;
};
struct _WSDXML_NAME
{
WSDXML_NAMESPACE* Space;
WCHAR* LocalName;
};
struct _WSDXML_TYPE
{
const WCHAR* Uri;
const BYTE* Table;
};
struct _WSDXML_PREFIX_MAPPING
{
DWORD Refs;
WSDXML_PREFIX_MAPPING* Next;
WSDXML_NAMESPACE* Space;
WCHAR* Prefix;
};
struct _WSDXML_ATTRIBUTE
{
WSDXML_ELEMENT* Element;
WSDXML_ATTRIBUTE* Next;
WSDXML_NAME* Name;
WCHAR* Value;
};
struct _WSDXML_NODE
{
enum
{
ElementType,
TextType
} Type;
WSDXML_ELEMENT* Parent;
WSDXML_NODE* Next;
};
struct _WSDXML_ELEMENT
{
WSDXML_NODE Node;
WSDXML_NAME* Name;
WSDXML_ATTRIBUTE* FirstAttribute;
WSDXML_NODE* FirstChild;
WSDXML_PREFIX_MAPPING* PrefixMappings;
};
struct _WSDXML_TEXT
{
WSDXML_NODE Node;
WCHAR* Text;
};
struct _WSDXML_ELEMENT_LIST
{
WSDXML_ELEMENT_LIST* Next;
WSDXML_ELEMENT* Element;
};
#endif // __WSDXMLDOM_H__