StorageBus_SAS = 5
};
+enum StorageControllerType
+{
+ StorageControllerType_Null = 0,
+ StorageControllerType_LsiLogic = 1,
+ StorageControllerType_BusLogic = 2,
+ StorageControllerType_IntelAhci = 3,
+ StorageControllerType_PIIX3 = 4,
+ StorageControllerType_PIIX4 = 5,
+ StorageControllerType_ICH6 = 6,
+ StorageControllerType_I82078 = 7,
+ StorageControllerType_LsiLogicSas = 8
+};
+
enum AccessMode
{
AccessMode_ReadOnly = 1,
return USBCommon->vtbl->GetDeviceFilters;
}
+static void* _handleMachineGetStorageControllers(IMachine *machine)
+{
+ return machine->vtbl->GetStorageControllers;
+}
+
static void* _handleMachineGetMediumAttachments(IMachine *machine)
{
return machine->vtbl->GetMediumAttachments;
return storageController->vtbl->GetBus(storageController, bus);
}
+static nsresult
+_storageControllerGetControllerType(IStorageController *storageController, PRUint32 *controllerType)
+{
+ return storageController->vtbl->GetControllerType(storageController, controllerType);
+}
+
+static nsresult
+_storageControllerSetControllerType(IStorageController *storageController, PRUint32 controllerType)
+{
+ return storageController->vtbl->SetControllerType(storageController, controllerType);
+}
+
static nsresult
_sharedFolderGetHostPath(ISharedFolder *sharedFolder, PRUnichar **hostPath)
{
.handleGetMachines = _handleGetMachines,
.handleGetHardDisks = _handleGetHardDisks,
.handleUSBGetDeviceFilters = _handleUSBGetDeviceFilters,
+ .handleMachineGetStorageControllers = _handleMachineGetStorageControllers,
.handleMachineGetMediumAttachments = _handleMachineGetMediumAttachments,
.handleMachineGetSharedFolders = _handleMachineGetSharedFolders,
.handleSnapshotGetChildren = _handleSnapshotGetChildren,
static vboxUniformedIStorageController _UIStorageController = {
.GetBus = _storageControllerGetBus,
+ .GetControllerType = _storageControllerGetControllerType,
+ .SetControllerType = _storageControllerSetControllerType,
};
static vboxUniformedISharedFolder _UISharedFolder = {
void* (*handleGetMachines)(IVirtualBox *vboxObj);
void* (*handleGetHardDisks)(IVirtualBox *vboxObj);
void* (*handleUSBGetDeviceFilters)(IUSBCommon *USBCommon);
+ void* (*handleMachineGetStorageControllers)(IMachine *machine);
void* (*handleMachineGetMediumAttachments)(IMachine *machine);
void* (*handleMachineGetSharedFolders)(IMachine *machine);
void* (*handleSnapshotGetChildren)(ISnapshot *snapshot);
/* Functions for IStorageController */
typedef struct {
nsresult (*GetBus)(IStorageController *storageController, PRUint32 *bus);
+ nsresult (*SetControllerType)(IStorageController *storageController, PRUint32 controllerType);
+ nsresult (*GetControllerType)(IStorageController *storageController, PRUint32 *controllerType);
} vboxUniformedIStorageController;
/* Functions for ISharedFolder */