|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Update bindings
Refresh the interface headers and add the XENBUS major version into
the top byte of the revision, since this is now used to avoid namespace
conflicts.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
include/shared_info_interface.h | 47 ++++++++++++++++++++++++++++++++++++-----
include/store_interface.h | 1 +
include/suspend_interface.h | 3 ++-
src/xeniface.inf | 6 +++---
4 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/include/shared_info_interface.h b/include/shared_info_interface.h
index af0f243..287feab 100644
--- a/include/shared_info_interface.h
+++ b/include/shared_info_interface.h
@@ -40,9 +40,6 @@
#ifndef _WINDLL
-#define XENBUS_SHARED_INFO_EVTCHN_PER_SELECTOR (sizeof (ULONG_PTR) * 8)
-#define XENBUS_SHARED_INFO_EVTCHN_SELECTOR_COUNT
(RTL_FIELD_SIZE(shared_info_t, evtchn_pending) / sizeof (ULONG_PTR))
-
/*! \typedef XENBUS_SHARED_INFO_ACQUIRE
\brief Acquire a reference to the SHARED_INFO interface
@@ -63,11 +60,34 @@ typedef VOID
IN PINTERFACE Interface
);
+/*! \typedef XENBUS_SHARED_INFO_UPCALL_PENDING
+ \brief Private method for EVTCHN inerface
+*/
+typedef BOOLEAN
+(*XENBUS_SHARED_INFO_UPCALL_PENDING)(
+ IN PINTERFACE Interface,
+ IN ULONG Index
+ );
+
+typedef BOOLEAN
+(*XENBUS_SHARED_INFO_EVENT)(
+ IN PVOID Argument,
+ IN ULONG Port
+ );
+
/*! \typedef XENBUS_SHARED_INFO_EVTCHN_POLL
\brief Private method for EVTCHN inerface
*/
typedef BOOLEAN
(*XENBUS_SHARED_INFO_EVTCHN_POLL)(
+ IN PINTERFACE Interface,
+ IN ULONG Index,
+ IN XENBUS_SHARED_INFO_EVENT Event,
+ IN PVOID Argument
+ );
+
+typedef BOOLEAN
+(*XENBUS_SHARED_INFO_EVTCHN_POLL_V1)(
IN PINTERFACE Interface,
IN BOOLEAN (*Function)(PVOID, ULONG),
IN PVOID Argument
@@ -117,11 +137,28 @@ DEFINE_GUID(GUID_XENBUS_SHARED_INFO_INTERFACE,
/*! \struct _XENBUS_SHARED_INFO_INTERFACE_V1
\brief SHARED_INFO interface version 1
+ \ingroup interfaces
*/
struct _XENBUS_SHARED_INFO_INTERFACE_V1 {
INTERFACE Interface;
XENBUS_SHARED_INFO_ACQUIRE SharedInfoAcquire;
XENBUS_SHARED_INFO_RELEASE SharedInfoRelease;
+ XENBUS_SHARED_INFO_EVTCHN_POLL_V1 SharedInfoEvtchnPollVersion1;
+ XENBUS_SHARED_INFO_EVTCHN_ACK SharedInfoEvtchnAck;
+ XENBUS_SHARED_INFO_EVTCHN_MASK SharedInfoEvtchnMask;
+ XENBUS_SHARED_INFO_EVTCHN_UNMASK SharedInfoEvtchnUnmask;
+ XENBUS_SHARED_INFO_GET_TIME SharedInfoGetTime;
+};
+
+/*! \struct _XENBUS_SHARED_INFO_INTERFACE_V2
+ \brief SHARED_INFO interface version 2
+ \ingroup interfaces
+*/
+struct _XENBUS_SHARED_INFO_INTERFACE_V2 {
+ INTERFACE Interface;
+ XENBUS_SHARED_INFO_ACQUIRE SharedInfoAcquire;
+ XENBUS_SHARED_INFO_RELEASE SharedInfoRelease;
+ XENBUS_SHARED_INFO_UPCALL_PENDING SharedInfoUpcallPending;
XENBUS_SHARED_INFO_EVTCHN_POLL SharedInfoEvtchnPoll;
XENBUS_SHARED_INFO_EVTCHN_ACK SharedInfoEvtchnAck;
XENBUS_SHARED_INFO_EVTCHN_MASK SharedInfoEvtchnMask;
@@ -129,7 +166,7 @@ struct _XENBUS_SHARED_INFO_INTERFACE_V1 {
XENBUS_SHARED_INFO_GET_TIME SharedInfoGetTime;
};
-typedef struct _XENBUS_SHARED_INFO_INTERFACE_V1 XENBUS_SHARED_INFO_INTERFACE,
*PXENBUS_SHARED_INFO_INTERFACE;
+typedef struct _XENBUS_SHARED_INFO_INTERFACE_V2 XENBUS_SHARED_INFO_INTERFACE,
*PXENBUS_SHARED_INFO_INTERFACE;
/*! \def XENBUS_SHARED_INFO
\brief Macro at assist in method invocation
@@ -140,6 +177,6 @@ typedef struct _XENBUS_SHARED_INFO_INTERFACE_V1
XENBUS_SHARED_INFO_INTERFACE, *P
#endif // _WINDLL
#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MIN 1
-#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MAX 1
+#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MAX 2
#endif // _XENBUS_SHARED_INFO_H
diff --git a/include/store_interface.h b/include/store_interface.h
index f052b8f..5bcbba3 100644
--- a/include/store_interface.h
+++ b/include/store_interface.h
@@ -269,6 +269,7 @@ struct _XENBUS_STORE_INTERFACE_V1 {
/*! \struct _XENBUS_STORE_INTERFACE_V1
\brief STORE interface version 1
+ \ingroup interfaces
*/
typedef struct _XENBUS_STORE_INTERFACE_V1 XENBUS_STORE_INTERFACE,
*PXENBUS_STORE_INTERFACE;
diff --git a/include/suspend_interface.h b/include/suspend_interface.h
index 1a39141..cbe11ab 100644
--- a/include/suspend_interface.h
+++ b/include/suspend_interface.h
@@ -126,7 +126,7 @@ typedef VOID
This method must always be invoked with IRQL == PASSIVE_LEVEL
*/
-typedef VOID
+typedef NTSTATUS
(*XENBUS_SUSPEND_TRIGGER)(
IN PINTERFACE Interface
);
@@ -148,6 +148,7 @@ DEFINE_GUID(GUID_XENBUS_SUSPEND_INTERFACE,
/*! \struct _XENBUS_SUSPEND_INTERFACE_V1
\brief SUSPEND interface version 1
+ \ingroup interfaces
*/
struct _XENBUS_SUSPEND_INTERFACE_V1 {
INTERFACE Interface;
diff --git a/src/xeniface.inf b/src/xeniface.inf
index 44a54fc..9bb154a 100644
--- a/src/xeniface.inf
+++ b/src/xeniface.inf
@@ -48,9 +48,9 @@ ServiceDestDir.NT.Copy = 11
; DisplayName Section DeviceID
; ----------- ------- --------
-%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XSC000&DEV_IFACE&REV_00000001
-%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XS0001&DEV_IFACE&REV_00000001
-%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XS0002&DEV_IFACE&REV_00000001
+%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XSC000&DEV_IFACE&REV_08000008
+%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XS0001&DEV_IFACE&REV_08000008
+%XenIfaceDevice.DeviceDesc% =XenIface_Device,
XENBUS\VEN_XS0002&DEV_IFACE&REV_08000008
[XenIface_Device.NT$ARCH$]
CopyFiles=XenIface_Device.NT.Copy, ServiceDestDir.NT.Copy
--
2.1.1
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |