/* VMCI Device Usage API. */
-Bool VMCI_DeviceGet(uint32 *apiVersion);
-void VMCI_DeviceRelease(void);
+typedef void (VMCI_DeviceShutdownFn)(void *deviceRegistration,
+ void *userData);
+
+Bool VMCI_DeviceGet(uint32 *apiVersion, VMCI_DeviceShutdownFn *deviceShutdownCB,
+ void *userData, void **deviceRegistration);
+void VMCI_DeviceRelease(void *deviceRegistration);
/* VMCI Datagram API. */
/* Typedefs for all of the above, used by the IOCTLs and the kernel library. */
-typedef void (VMCI_DeviceReleaseFct)(void);
+typedef void (VMCI_DeviceReleaseFct)(void *);
typedef int (VMCIDatagram_CreateHndFct)(VMCIId, uint32, VMCIDatagramRecvCB,
void *, VMCIHandle *);
typedef int (VMCIDatagram_CreateHndPrivFct)(VMCIId, uint32, VMCIPrivilegeFlags,
typedef struct VMCIDeviceGetInfoHdr {
/* Requested API version on input, supported version on output. */
uint32 apiVersion;
+ VMCI_DeviceShutdownFn *deviceShutdownCB;
+ void *userData;
+ void *deviceRegistration;
} VMCIDeviceGetInfoHdr;
/* Combination of all versions. */
VMCI_EXPORT_SYMBOL(VMCI_DeviceGet)
Bool
-VMCI_DeviceGet(uint32 *apiVersion)
+VMCI_DeviceGet(uint32 *apiVersion, // IN/OUT
+ VMCI_DeviceShutdownFn *deviceShutdownCB, // UNUSED
+ void *userData, // UNUSED
+ void **deviceRegistration) // OUT
{
+ if (NULL != deviceRegistration) {
+ *deviceRegistration = NULL;
+ }
+
if (*apiVersion > VMCI_KERNEL_API_VERSION) {
*apiVersion = VMCI_KERNEL_API_VERSION;
return FALSE;
VMCI_EXPORT_SYMBOL(VMCI_DeviceRelease)
void
-VMCI_DeviceRelease(void)
+VMCI_DeviceRelease(void *deviceRegistration) // UNUSED
{
}
#endif // !_WIN32
#ifndef _VMCI_VERSION_H_
#define _VMCI_VERSION_H_
-#define VMCI_DRIVER_VERSION 9.1.16.0
-#define VMCI_DRIVER_VERSION_COMMAS 9,1,16,0
-#define VMCI_DRIVER_VERSION_STRING "9.1.16.0"
+#define VMCI_DRIVER_VERSION 9.1.17.0
+#define VMCI_DRIVER_VERSION_COMMAS 9,1,17,0
+#define VMCI_DRIVER_VERSION_STRING "9.1.17.0"
#endif /* _VMCI_VERSION_H_ */
* present.
*/
apiVersion = VMCI_KERNEL_API_VERSION_1;
- vmciDevicePresent = VMCI_DeviceGet(&apiVersion);
+ vmciDevicePresent = VMCI_DeviceGet(&apiVersion, NULL, NULL, NULL);
if (!vmciDevicePresent) {
Warning("VMCI device not present.\n");
return -1;
qpResumedSubId = VMCI_INVALID_ID;
}
- VMCI_DeviceRelease();
+ VMCI_DeviceRelease(NULL);
vmciDevicePresent = FALSE;
}
#ifndef _VSOCK_VERSION_H_
#define _VSOCK_VERSION_H_
-#define VSOCK_DRIVER_VERSION 9.1.0.0
-#define VSOCK_DRIVER_VERSION_COMMAS 9,1,0,0
-#define VSOCK_DRIVER_VERSION_STRING "9.1.0.0"
+#define VSOCK_DRIVER_VERSION 9.1.1.0
+#define VSOCK_DRIVER_VERSION_COMMAS 9,1,1,0
+#define VSOCK_DRIVER_VERSION_STRING "9.1.1.0"
#endif /* _VSOCK_VERSION_H_ */