mirror of
https://github.com/reactos/reactos.git
synced 2025-05-13 14:20:31 +00:00
- Add types for bda driver
svn path=/trunk/; revision=42797
This commit is contained in:
parent
743c591273
commit
43eae548e0
2 changed files with 205 additions and 0 deletions
|
@ -14,4 +14,165 @@ typedef struct _KSP_BDA_NODE_PIN {
|
||||||
ULONG ulOutputPinId;
|
ULONG ulOutputPinId;
|
||||||
} KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
|
} KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
|
||||||
|
|
||||||
|
typedef struct _KSM_BDA_PIN
|
||||||
|
{
|
||||||
|
KSMETHOD Method;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ULONG PinId;
|
||||||
|
ULONG PinType;
|
||||||
|
};
|
||||||
|
ULONG Reserved;
|
||||||
|
} KSM_BDA_PIN, * PKSM_BDA_PIN;
|
||||||
|
|
||||||
|
typedef struct _KSM_BDA_PIN_PAIR
|
||||||
|
{
|
||||||
|
KSMETHOD Method;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ULONG InputPinId;
|
||||||
|
ULONG InputPinType;
|
||||||
|
};
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ULONG OutputPinId;
|
||||||
|
ULONG OutputPinType;
|
||||||
|
};
|
||||||
|
} KSM_BDA_PIN_PAIR, * PKSM_BDA_PIN_PAIR;
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define STATIC_KSPROPSETID_BdaTopology \
|
||||||
|
0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
|
||||||
|
DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology);
|
||||||
|
#define KSPROPSETID_BdaTopology DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology)
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
KSPROPERTY_BDA_NODE_TYPES,
|
||||||
|
KSPROPERTY_BDA_PIN_TYPES,
|
||||||
|
KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,
|
||||||
|
KSPROPERTY_BDA_NODE_METHODS,
|
||||||
|
KSPROPERTY_BDA_NODE_PROPERTIES,
|
||||||
|
KSPROPERTY_BDA_NODE_EVENTS,
|
||||||
|
KSPROPERTY_BDA_CONTROLLING_PIN_ID,
|
||||||
|
KSPROPERTY_BDA_NODE_DESCRIPTORS
|
||||||
|
}KSPROPERTY_BDA_TOPOLOGY;
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_NODE_TYPES,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSPROPERTY),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_PIN_TYPES,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSPROPERTY),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSPROPERTY),\
|
||||||
|
sizeof( BDA_TEMPLATE_CONNECTION),\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_NODE_METHODS,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSP_NODE),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_NODE_PROPERTIES,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSP_NODE),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_NODE_EVENTS,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSP_NODE),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_CONTROLLING_PIN_ID,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSP_BDA_NODE_PIN),\
|
||||||
|
sizeof( ULONG),\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)\
|
||||||
|
DEFINE_KSPROPERTY_ITEM(\
|
||||||
|
KSPROPERTY_BDA_NODE_DESCRIPTORS,\
|
||||||
|
(GetHandler),\
|
||||||
|
sizeof(KSPROPERTY),\
|
||||||
|
0,\
|
||||||
|
FALSE,\
|
||||||
|
NULL, 0, NULL, NULL, 0)
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define STATIC_KSMETHODSETID_BdaDeviceConfiguration \
|
||||||
|
0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
|
||||||
|
DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration);
|
||||||
|
#define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration)
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
KSMETHOD_BDA_CREATE_PIN_FACTORY = 0,
|
||||||
|
KSMETHOD_BDA_DELETE_PIN_FACTORY,
|
||||||
|
KSMETHOD_BDA_CREATE_TOPOLOGY
|
||||||
|
} KSMETHOD_BDA_DEVICE_CONFIGURATION;
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler)\
|
||||||
|
DEFINE_KSMETHOD_ITEM(\
|
||||||
|
KSMETHOD_BDA_CREATE_PIN_FACTORY,\
|
||||||
|
KSMETHOD_TYPE_READ,\
|
||||||
|
(MethodHandler),\
|
||||||
|
sizeof(KSM_BDA_PIN),\
|
||||||
|
sizeof(ULONG),\
|
||||||
|
SupportHandler)
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler)\
|
||||||
|
DEFINE_KSMETHOD_ITEM(\
|
||||||
|
KSMETHOD_BDA_DELETE_PIN_FACTORY,\
|
||||||
|
KSMETHOD_TYPE_NONE,\
|
||||||
|
(MethodHandler),\
|
||||||
|
sizeof(KSM_BDA_PIN),\
|
||||||
|
0,\
|
||||||
|
SupportHandler)
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)\
|
||||||
|
DEFINE_KSMETHOD_ITEM(\
|
||||||
|
KSMETHOD_BDA_CREATE_TOPOLOGY,\
|
||||||
|
KSMETHOD_TYPE_WRITE,\
|
||||||
|
(MethodHandler),\
|
||||||
|
sizeof(KSM_BDA_PIN_PAIR),\
|
||||||
|
0,\
|
||||||
|
SupportHandler)
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1808,6 +1808,30 @@ typedef struct
|
||||||
ULONG Flags;
|
ULONG Flags;
|
||||||
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;
|
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;
|
||||||
|
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\
|
||||||
|
MethodHandler,\
|
||||||
|
MinMethod, MinData, SupportHandler)\
|
||||||
|
{\
|
||||||
|
MethodId, {(PFNKSHANDLER)MethodHandler}, MinMethod, MinData,\
|
||||||
|
SupportHandler, Flags\
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\
|
||||||
|
MethodHandler,\
|
||||||
|
MinMethod, MinData, SupportHandler)\
|
||||||
|
{\
|
||||||
|
MethodId, (PFNKSHANDLER)MethodHandler, MinMethod, MinData,\
|
||||||
|
SupportHandler, Flags\
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -1818,6 +1842,12 @@ typedef struct
|
||||||
};
|
};
|
||||||
} KSFASTMETHOD_ITEM, *PKSFASTMETHOD_ITEM;
|
} KSFASTMETHOD_ITEM, *PKSFASTMETHOD_ITEM;
|
||||||
|
|
||||||
|
#define DEFINE_KSFASTMETHOD_ITEM(MethodId, MethodHandler)\
|
||||||
|
{\
|
||||||
|
MethodId, (PFNKSFASTHANDLER)MethodHandler\
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
const GUID* Set;
|
const GUID* Set;
|
||||||
|
@ -1827,6 +1857,20 @@ typedef struct
|
||||||
const KSFASTMETHOD_ITEM*FastIoTable;
|
const KSFASTMETHOD_ITEM*FastIoTable;
|
||||||
} KSMETHOD_SET, *PKSMETHOD_SET;
|
} KSMETHOD_SET, *PKSMETHOD_SET;
|
||||||
|
|
||||||
|
|
||||||
|
#define DEFINE_KSMETHOD_SET(Set,\
|
||||||
|
MethodsCount,\
|
||||||
|
MethodItem,\
|
||||||
|
FastIoCount,\
|
||||||
|
FastIoTable)\
|
||||||
|
{\
|
||||||
|
Set,\
|
||||||
|
MethodsCount,\
|
||||||
|
MethodItem,\
|
||||||
|
FastIoCount,\
|
||||||
|
FastIoTable\
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
Nodes
|
Nodes
|
||||||
|
|
Loading…
Reference in a new issue