[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 |