]> xenbits.xensource.com Git - pvdrivers/win/xeniface.git/commitdiff
Update bindings
authorPaul Durrant <paul.durrant@citrix.com>
Wed, 8 Jul 2015 13:28:40 +0000 (14:28 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 8 Jul 2015 13:28:40 +0000 (14:28 +0100)
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@citrix.com>
include/shared_info_interface.h
include/store_interface.h
include/suspend_interface.h
src/xeniface.inf

index af0f2431225d39294838d20da17cb636ccf391f2..287feabb1b26ae6cc6ace55a06910492f50be4b4 100644 (file)
@@ -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
index f052b8fc71b0eab9c8eda2c965ef6197cc32669f..5bcbba3d1a2aa8052bc629c7a5ed417c2d001cf1 100644 (file)
@@ -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;
 
index 1a39141b2bb33497f3d1165e5f7a834ed3f76ced..cbe11ab6d9e4f4ad21ac54f0edbc6483728a577c 100644 (file)
@@ -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;
index 44a54fc8a7e6fe7160e1d83f453c6b7377d4d832..9bb154a3196c63044293ee4a064a467f8593d3e0 100644 (file)
@@ -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