mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
vbox: do not use IHardDisk anymore.
VirtualBox 4.0+ uses IMedium and IHardDisk is no longer used, so * remove typef IMedium IHardDisk * merge UIHardDisk into UIMedium * update all references accordingly
This commit is contained in:
parent
c7c286c6bd
commit
d7f369b571
@ -340,7 +340,6 @@ typedef nsISupports IDisplay;
|
||||
typedef nsISupports IHost;
|
||||
typedef nsISupports IHostNetworkInterface;
|
||||
typedef nsISupports IDHCPServer;
|
||||
typedef IMedium IHardDisk;
|
||||
typedef nsISupports IKeyboard;
|
||||
|
||||
/* Macros for all vbox drivers. */
|
||||
|
@ -106,7 +106,7 @@ static int vboxStoragePoolNumOfVolumes(virStoragePoolPtr pool)
|
||||
}
|
||||
|
||||
for (i = 0; i < hardDisks.count; ++i) {
|
||||
IHardDisk *hardDisk = hardDisks.items[i];
|
||||
IMedium *hardDisk = hardDisks.items[i];
|
||||
PRUint32 hddstate;
|
||||
|
||||
if (!hardDisk)
|
||||
@ -147,7 +147,7 @@ vboxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names, int nname
|
||||
}
|
||||
|
||||
for (i = 0; i < hardDisks.count && numActive < nnames; ++i) {
|
||||
IHardDisk *hardDisk = hardDisks.items[i];
|
||||
IMedium *hardDisk = hardDisks.items[i];
|
||||
PRUint32 hddstate;
|
||||
char *nameUtf8 = NULL;
|
||||
PRUnichar *nameUtf16 = NULL;
|
||||
@ -201,7 +201,7 @@ vboxStorageVolLookupByName(virStoragePoolPtr pool, const char *name)
|
||||
return ret;
|
||||
|
||||
for (i = 0; i < hardDisks.count; ++i) {
|
||||
IHardDisk *hardDisk = hardDisks.items[i];
|
||||
IMedium *hardDisk = hardDisks.items[i];
|
||||
PRUint32 hddstate;
|
||||
char *nameUtf8 = NULL;
|
||||
PRUnichar *nameUtf16 = NULL;
|
||||
@ -259,7 +259,7 @@ vboxStorageVolLookupByKey(virConnectPtr conn, const char *key)
|
||||
vboxDriverPtr data = conn->privateData;
|
||||
vboxIIDUnion hddIID;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
PRUnichar *hddNameUtf16 = NULL;
|
||||
char *hddNameUtf8 = NULL;
|
||||
PRUint32 hddstate;
|
||||
@ -325,7 +325,7 @@ vboxStorageVolLookupByPath(virConnectPtr conn, const char *path)
|
||||
{
|
||||
vboxDriverPtr data = conn->privateData;
|
||||
PRUnichar *hddPathUtf16 = NULL;
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
PRUnichar *hddNameUtf16 = NULL;
|
||||
char *hddNameUtf8 = NULL;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
@ -410,7 +410,7 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool,
|
||||
vboxIIDUnion hddIID;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
char key[VIR_UUID_STRING_BUFLEN] = "";
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
IProgress *progress = NULL;
|
||||
PRUint64 logicalSize = 0;
|
||||
PRUint32 variant = HardDiskVariant_Standard;
|
||||
@ -469,7 +469,7 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool,
|
||||
if (def->target.capacity == def->target.allocation)
|
||||
variant = HardDiskVariant_Fixed;
|
||||
|
||||
rc = gVBoxAPI.UIHardDisk.CreateBaseStorage(hardDisk, logicalSize, variant, &progress);
|
||||
rc = gVBoxAPI.UIMedium.CreateBaseStorage(hardDisk, logicalSize, variant, &progress);
|
||||
if (NS_FAILED(rc) || !progress) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Could not create base storage, rc=%08x"),
|
||||
@ -510,7 +510,7 @@ static int vboxStorageVolDelete(virStorageVolPtr vol, unsigned int flags)
|
||||
{
|
||||
vboxDriverPtr data = vol->conn->privateData;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
int deregister = 0;
|
||||
PRUint32 hddstate = 0;
|
||||
size_t i = 0;
|
||||
@ -592,7 +592,7 @@ static int vboxStorageVolDelete(virStorageVolPtr vol, unsigned int flags)
|
||||
|
||||
for (j = 0; j < hddAttachments.count; j++) {
|
||||
IMediumAttachment *hddAttachment = hddAttachments.items[j];
|
||||
IHardDisk *hdd = NULL;
|
||||
IMedium *hdd = NULL;
|
||||
vboxIIDUnion iid;
|
||||
|
||||
if (!hddAttachment)
|
||||
@ -646,7 +646,7 @@ static int vboxStorageVolDelete(virStorageVolPtr vol, unsigned int flags)
|
||||
|
||||
if (machineIdsSize == 0 || machineIdsSize == deregister) {
|
||||
IProgress *progress = NULL;
|
||||
if (NS_SUCCEEDED(gVBoxAPI.UIHardDisk.DeleteStorage(hardDisk, &progress)) &&
|
||||
if (NS_SUCCEEDED(gVBoxAPI.UIMedium.DeleteStorage(hardDisk, &progress)) &&
|
||||
progress) {
|
||||
gVBoxAPI.UIProgress.WaitForCompletion(progress, -1);
|
||||
VBOX_RELEASE(progress);
|
||||
@ -664,7 +664,7 @@ static int vboxStorageVolDelete(virStorageVolPtr vol, unsigned int flags)
|
||||
static int vboxStorageVolGetInfo(virStorageVolPtr vol, virStorageVolInfoPtr info)
|
||||
{
|
||||
vboxDriverPtr data = vol->conn->privateData;
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
PRUint32 hddstate;
|
||||
PRUint64 hddLogicalSize = 0;
|
||||
@ -697,7 +697,7 @@ static int vboxStorageVolGetInfo(virStorageVolPtr vol, virStorageVolInfoPtr info
|
||||
|
||||
info->type = VIR_STORAGE_VOL_FILE;
|
||||
|
||||
gVBoxAPI.UIHardDisk.GetLogicalSizeInByte(hardDisk, &hddLogicalSize);
|
||||
gVBoxAPI.UIMedium.GetLogicalSize(hardDisk, &hddLogicalSize);
|
||||
info->capacity = hddLogicalSize;
|
||||
|
||||
gVBoxAPI.UIMedium.GetSize(hardDisk, &hddActualSize);
|
||||
@ -719,7 +719,7 @@ static int vboxStorageVolGetInfo(virStorageVolPtr vol, virStorageVolInfoPtr info
|
||||
static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags)
|
||||
{
|
||||
vboxDriverPtr data = vol->conn->privateData;
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
PRUnichar *hddFormatUtf16 = NULL;
|
||||
char *hddFormatUtf8 = NULL;
|
||||
@ -764,7 +764,7 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags)
|
||||
pool.type = VIR_STORAGE_POOL_DIR;
|
||||
def.type = VIR_STORAGE_VOL_FILE;
|
||||
|
||||
rc = gVBoxAPI.UIHardDisk.GetLogicalSizeInByte(hardDisk, &hddLogicalSize);
|
||||
rc = gVBoxAPI.UIMedium.GetLogicalSize(hardDisk, &hddLogicalSize);
|
||||
if (NS_FAILED(rc))
|
||||
goto cleanup;
|
||||
|
||||
@ -780,7 +780,7 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags)
|
||||
if (VIR_STRDUP(def.key, vol->key) < 0)
|
||||
goto cleanup;
|
||||
|
||||
rc = gVBoxAPI.UIHardDisk.GetFormat(hardDisk, &hddFormatUtf16);
|
||||
rc = gVBoxAPI.UIMedium.GetFormat(hardDisk, &hddFormatUtf16);
|
||||
if (NS_FAILED(rc))
|
||||
goto cleanup;
|
||||
|
||||
@ -811,7 +811,7 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags)
|
||||
static char *vboxStorageVolGetPath(virStorageVolPtr vol)
|
||||
{
|
||||
vboxDriverPtr data = vol->conn->privateData;
|
||||
IHardDisk *hardDisk = NULL;
|
||||
IMedium *hardDisk = NULL;
|
||||
PRUnichar *hddLocationUtf16 = NULL;
|
||||
char *hddLocationUtf8 = NULL;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
|
@ -73,7 +73,6 @@
|
||||
#include "vbox_glue.h"
|
||||
|
||||
typedef IVRDEServer IVRDxServer;
|
||||
typedef IMedium IHardDisk;
|
||||
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
typedef IUSBController IUSBCommon;
|
||||
@ -1402,15 +1401,15 @@ _virtualboxCreateMachine(vboxDriverPtr data, virDomainDefPtr def, IMachine **mac
|
||||
|
||||
static nsresult
|
||||
_virtualboxCreateHardDisk(IVirtualBox *vboxObj, PRUnichar *format,
|
||||
PRUnichar *location, IHardDisk **hardDisk)
|
||||
PRUnichar *location, IMedium **medium)
|
||||
{
|
||||
/* In vbox 2.2 and 3.0, this function will create a IHardDisk object.
|
||||
* In vbox 3.1 and later, this function will create a IMedium object.
|
||||
*/
|
||||
#if VBOX_API_VERSION < 5000000
|
||||
return vboxObj->vtbl->CreateHardDisk(vboxObj, format, location, hardDisk);
|
||||
return vboxObj->vtbl->CreateHardDisk(vboxObj, format, location, medium);
|
||||
#elif VBOX_API_VERSION >= 5000000 /*VBOX_API_VERSION >= 5000000*/
|
||||
return vboxObj->vtbl->CreateMedium(vboxObj, format, location, AccessMode_ReadWrite, DeviceType_HardDisk, hardDisk);
|
||||
return vboxObj->vtbl->CreateMedium(vboxObj, format, location, AccessMode_ReadWrite, DeviceType_HardDisk, medium);
|
||||
#endif /*VBOX_API_VERSION >= 5000000*/
|
||||
}
|
||||
|
||||
@ -1424,14 +1423,14 @@ static nsresult
|
||||
_virtualboxFindHardDisk(IVirtualBox *vboxObj, PRUnichar *location,
|
||||
PRUint32 deviceType ATTRIBUTE_UNUSED,
|
||||
PRUint32 accessMode ATTRIBUTE_UNUSED,
|
||||
IHardDisk **hardDisk)
|
||||
IMedium **medium)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4002000
|
||||
return vboxObj->vtbl->FindMedium(vboxObj, location,
|
||||
deviceType, hardDisk);
|
||||
deviceType, medium);
|
||||
#else /* VBOX_API_VERSION >= 4002000 */
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, location,
|
||||
deviceType, accessMode, PR_FALSE, hardDisk);
|
||||
deviceType, accessMode, PR_FALSE, medium);
|
||||
#endif /* VBOX_API_VERSION >= 4002000 */
|
||||
}
|
||||
|
||||
@ -1457,14 +1456,14 @@ _virtualboxOpenMedium(IVirtualBox *vboxObj ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_virtualboxGetHardDiskByIID(IVirtualBox *vboxObj, vboxIIDUnion *iidu, IHardDisk **hardDisk)
|
||||
_virtualboxGetHardDiskByIID(IVirtualBox *vboxObj, vboxIIDUnion *iidu, IMedium **medium)
|
||||
{
|
||||
#if VBOX_API_VERSION >= 4000000 && VBOX_API_VERSION < 4002000
|
||||
return vboxObj->vtbl->FindMedium(vboxObj, IID_MEMBER(value), DeviceType_HardDisk,
|
||||
hardDisk);
|
||||
medium);
|
||||
#else /* VBOX_API_VERSION >= 4002000 */
|
||||
return vboxObj->vtbl->OpenMedium(vboxObj, IID_MEMBER(value), DeviceType_HardDisk,
|
||||
AccessMode_ReadWrite, PR_FALSE, hardDisk);
|
||||
AccessMode_ReadWrite, PR_FALSE, medium);
|
||||
#endif /* VBOX_API_VERSION >= 4002000 */
|
||||
}
|
||||
|
||||
@ -2589,10 +2588,33 @@ _mediumCreateDiffStorage(IMedium *medium ATTRIBUTE_UNUSED,
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_mediumAttachmentGetMedium(IMediumAttachment *mediumAttachment,
|
||||
IHardDisk **hardDisk)
|
||||
_mediumCreateBaseStorage(IMedium *medium, PRUint64 logicalSize,
|
||||
PRUint32 variant, IProgress **progress)
|
||||
{
|
||||
return mediumAttachment->vtbl->GetMedium(mediumAttachment, hardDisk);
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return medium->vtbl->CreateBaseStorage(medium, logicalSize, variant, progress);
|
||||
#else
|
||||
return medium->vtbl->CreateBaseStorage(medium, logicalSize, 1, &variant, progress);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_mediumGetLogicalSize(IMedium *medium, PRUint64 *uLogicalSize)
|
||||
{
|
||||
nsresult rc;
|
||||
PRInt64 logicalSize;
|
||||
|
||||
rc = medium->vtbl->GetLogicalSize(medium, &logicalSize);
|
||||
*uLogicalSize = logicalSize;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_mediumAttachmentGetMedium(IMediumAttachment *mediumAttachment,
|
||||
IMedium **medium)
|
||||
{
|
||||
return mediumAttachment->vtbl->GetMedium(mediumAttachment, medium);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
@ -2900,41 +2922,6 @@ _dhcpServerStop(IDHCPServer *dhcpServer)
|
||||
return dhcpServer->vtbl->Stop(dhcpServer);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hardDiskCreateBaseStorage(IHardDisk *hardDisk, PRUint64 logicalSize,
|
||||
PRUint32 variant, IProgress **progress)
|
||||
{
|
||||
#if VBOX_API_VERSION < 4003000
|
||||
return hardDisk->vtbl->CreateBaseStorage(hardDisk, logicalSize, variant, progress);
|
||||
#else
|
||||
return hardDisk->vtbl->CreateBaseStorage(hardDisk, logicalSize, 1, &variant, progress);
|
||||
#endif
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hardDiskDeleteStorage(IHardDisk *hardDisk, IProgress **progress)
|
||||
{
|
||||
return hardDisk->vtbl->DeleteStorage(hardDisk, progress);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hardDiskGetLogicalSizeInByte(IHardDisk *hardDisk, PRUint64 *uLogicalSize)
|
||||
{
|
||||
nsresult rc;
|
||||
PRInt64 logicalSize;
|
||||
|
||||
rc = hardDisk->vtbl->GetLogicalSize(hardDisk, &logicalSize);
|
||||
*uLogicalSize = logicalSize;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_hardDiskGetFormat(IHardDisk *hardDisk, PRUnichar **format)
|
||||
{
|
||||
return hardDisk->vtbl->GetFormat(hardDisk, format);
|
||||
}
|
||||
|
||||
static nsresult
|
||||
_keyboardPutScancode(IKeyboard *keyboard, PRInt32 scancode)
|
||||
{
|
||||
@ -3229,6 +3216,8 @@ static vboxUniformedIMedium _UIMedium = {
|
||||
.Close = _mediumClose,
|
||||
.SetType = _mediumSetType,
|
||||
.CreateDiffStorage = _mediumCreateDiffStorage,
|
||||
.CreateBaseStorage = _mediumCreateBaseStorage,
|
||||
.GetLogicalSize = _mediumGetLogicalSize,
|
||||
};
|
||||
|
||||
static vboxUniformedIMediumAttachment _UIMediumAttachment = {
|
||||
@ -3295,13 +3284,6 @@ static vboxUniformedIDHCPServer _UIDHCPServer = {
|
||||
.Stop = _dhcpServerStop,
|
||||
};
|
||||
|
||||
static vboxUniformedIHardDisk _UIHardDisk = {
|
||||
.CreateBaseStorage = _hardDiskCreateBaseStorage,
|
||||
.DeleteStorage = _hardDiskDeleteStorage,
|
||||
.GetLogicalSizeInByte = _hardDiskGetLogicalSizeInByte,
|
||||
.GetFormat = _hardDiskGetFormat,
|
||||
};
|
||||
|
||||
static vboxUniformedIKeyboard _UIKeyboard = {
|
||||
.PutScancode = _keyboardPutScancode,
|
||||
.PutScancodes = _keyboardPutScancodes,
|
||||
@ -3361,7 +3343,6 @@ void NAME(InstallUniformedAPI)(vboxUniformedAPI *pVBoxAPI)
|
||||
pVBoxAPI->UIHost = _UIHost;
|
||||
pVBoxAPI->UIHNInterface = _UIHNInterface;
|
||||
pVBoxAPI->UIDHCPServer = _UIDHCPServer;
|
||||
pVBoxAPI->UIHardDisk = _UIHardDisk;
|
||||
pVBoxAPI->UIKeyboard = _UIKeyboard;
|
||||
pVBoxAPI->machineStateChecker = _machineStateChecker;
|
||||
|
||||
|
@ -196,12 +196,12 @@ typedef struct {
|
||||
nsresult (*GetSystemProperties)(IVirtualBox *vboxObj, ISystemProperties **systemProperties);
|
||||
nsresult (*GetHost)(IVirtualBox *vboxObj, IHost **host);
|
||||
nsresult (*CreateMachine)(vboxDriverPtr driver, virDomainDefPtr def, IMachine **machine, char *uuidstr);
|
||||
nsresult (*CreateHardDisk)(IVirtualBox *vboxObj, PRUnichar *format, PRUnichar *location, IHardDisk **hardDisk);
|
||||
nsresult (*CreateHardDisk)(IVirtualBox *vboxObj, PRUnichar *format, PRUnichar *location, IMedium **medium);
|
||||
nsresult (*RegisterMachine)(IVirtualBox *vboxObj, IMachine *machine);
|
||||
nsresult (*FindHardDisk)(IVirtualBox *vboxObj, PRUnichar *location, PRUint32 deviceType,
|
||||
PRUint32 accessMode, IHardDisk **hardDisk);
|
||||
PRUint32 accessMode, IMedium **medium);
|
||||
nsresult (*OpenMedium)(IVirtualBox *vboxObj, PRUnichar *location, PRUint32 deviceType, PRUint32 accessMode, IMedium **medium);
|
||||
nsresult (*GetHardDiskByIID)(IVirtualBox *vboxObj, vboxIIDUnion *iidu, IHardDisk **hardDisk);
|
||||
nsresult (*GetHardDiskByIID)(IVirtualBox *vboxObj, vboxIIDUnion *iidu, IMedium **medium);
|
||||
nsresult (*FindDHCPServerByNetworkName)(IVirtualBox *vboxObj, PRUnichar *name, IDHCPServer **server);
|
||||
nsresult (*CreateDHCPServer)(IVirtualBox *vboxObj, PRUnichar *name, IDHCPServer **server);
|
||||
nsresult (*RemoveDHCPServer)(IVirtualBox *vboxObj, IDHCPServer *server);
|
||||
@ -420,19 +420,24 @@ typedef struct {
|
||||
nsresult (*GetSize)(IMedium *medium, PRUint64 *uSize);
|
||||
nsresult (*GetReadOnly)(IMedium *medium, PRBool *readOnly);
|
||||
nsresult (*GetParent)(IMedium *medium, IMedium **parent);
|
||||
nsresult (*GetChildren)(IMedium *medium, PRUint32 *childrenSize, IMedium ***children);
|
||||
nsresult (*GetChildren)(IMedium *medium, PRUint32 *childrenSize,
|
||||
IMedium ***children);
|
||||
nsresult (*GetFormat)(IMedium *medium, PRUnichar **format);
|
||||
nsresult (*DeleteStorage)(IMedium *medium, IProgress **progress);
|
||||
nsresult (*Release)(IMedium *medium);
|
||||
nsresult (*Close)(IMedium *medium);
|
||||
nsresult (*SetType)(IMedium *medium, PRUint32 type);
|
||||
nsresult (*CreateDiffStorage)(IMedium *medium, IMedium *target, PRUint32 variantSize,
|
||||
PRUint32 *variant, IProgress **progress);
|
||||
nsresult (*CreateDiffStorage)(IMedium *medium, IMedium *target,
|
||||
PRUint32 variantSize, PRUint32 *variant,
|
||||
IProgress **progress);
|
||||
nsresult (*CreateBaseStorage)(IMedium *medium, PRUint64 logicalSize,
|
||||
PRUint32 variant, IProgress **progress);
|
||||
nsresult (*GetLogicalSize)(IMedium *medium, PRUint64 *uLogicalSize);
|
||||
} vboxUniformedIMedium;
|
||||
|
||||
/* Functions for IMediumAttachment */
|
||||
typedef struct {
|
||||
nsresult (*GetMedium)(IMediumAttachment *mediumAttachment, IHardDisk **hardDisk);
|
||||
nsresult (*GetMedium)(IMediumAttachment *mediumAttachment, IMedium **medium);
|
||||
nsresult (*GetController)(IMediumAttachment *mediumAttachment, PRUnichar **controller);
|
||||
nsresult (*GetType)(IMediumAttachment *mediumAttachment, PRUint32 *type);
|
||||
nsresult (*GetPort)(IMediumAttachment *mediumAttachment, PRInt32 *port);
|
||||
@ -523,17 +528,6 @@ typedef struct {
|
||||
nsresult (*Stop)(IDHCPServer *dhcpServer);
|
||||
} vboxUniformedIDHCPServer;
|
||||
|
||||
/* Functions for IHardDisk, in vbox3.1 and later, it will call the
|
||||
* corresponding functions in IMedium as IHardDisk does't exist in
|
||||
* these versions. */
|
||||
typedef struct {
|
||||
nsresult (*CreateBaseStorage)(IHardDisk *hardDisk, PRUint64 logicalSize,
|
||||
PRUint32 variant, IProgress **progress);
|
||||
nsresult (*DeleteStorage)(IHardDisk *hardDisk, IProgress **progress);
|
||||
nsresult (*GetLogicalSizeInByte)(IHardDisk *hardDisk, PRUint64 *uLogicalSize);
|
||||
nsresult (*GetFormat)(IHardDisk *hardDisk, PRUnichar **format);
|
||||
} vboxUniformedIHardDisk;
|
||||
|
||||
typedef struct {
|
||||
nsresult (*PutScancode)(IKeyboard *keyboard, PRInt32 scancode);
|
||||
nsresult (*PutScancodes)(IKeyboard *keyboard, PRUint32 scancodesSize,
|
||||
@ -596,7 +590,6 @@ typedef struct {
|
||||
vboxUniformedIHost UIHost;
|
||||
vboxUniformedIHNInterface UIHNInterface;
|
||||
vboxUniformedIDHCPServer UIDHCPServer;
|
||||
vboxUniformedIHardDisk UIHardDisk;
|
||||
vboxUniformedIKeyboard UIKeyboard;
|
||||
uniformedMachineStateChecker machineStateChecker;
|
||||
/* vbox API features */
|
||||
|
Loading…
x
Reference in New Issue
Block a user