VirtualBox

Changeset 34433 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Nov 27, 2010 11:09:38 AM (14 years ago)
Author:
vboxsync
Message:

Storage: Introduce interface to query the location of a medium (device + instance + LUN) in a VM to generate IDs which are constant for saved states

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmifs.h

    r34126 r34433  
    838838
    839839
     840/** Pointer to a block port interface. */
     841typedef struct PDMIBLOCKPORT *PPDMIBLOCKPORT;
    840842/**
    841843 * Block notify interface (down).
    842844 * Pair with PDMIBLOCK.
    843845 */
    844 typedef PDMIDUMMY PDMIBLOCKPORT;
     846typedef struct PDMIBLOCKPORT
     847{
     848    /**
     849     * Returns the storage controller name, instance and LUN of the attached medium.
     850     *
     851     * @returns VBox status.
     852     * @param   pInterface      Pointer to this interface.
     853     * @param   ppcszController Where to store the name of the storage controller.
     854     * @param   piInstance      Where to store the instance number of the controller.
     855     * @param   piLUN           Where to store the LUN of the attached device.
     856     */
     857    DECLR3CALLBACKMEMBER(int, pfnQueryDeviceLocation, (PPDMIBLOCKPORT pInterface, const char **ppcszController,
     858                                                       uint32_t *piInstance, uint32_t *piLUN));
     859
     860} PDMIBLOCKPORT;
    845861/** PDMIBLOCKPORT interface ID. */
    846 #define PDMIBLOCKPORT_IID                 "e87fa1ab-92d5-4100-8712-fe2a0c042faf"
    847 /** Pointer to a block notify interface (dummy). */
    848 typedef PDMIBLOCKPORT *PPDMIBLOCKPORT;
     862#define PDMIBLOCKPORT_IID                 "bbbed4cf-0862-4ffd-b60c-f7a65ef8e8ff"
    849863
    850864
     
    11301144/** Pointer to constant media geometry structure. */
    11311145typedef const PDMMEDIAGEOMETRY *PCPDMMEDIAGEOMETRY;
     1146
     1147/** Pointer to a media port interface. */
     1148typedef struct PDMIMEDIAPORT *PPDMIMEDIAPORT;
     1149/**
     1150 * Media port interface (down).
     1151 */
     1152typedef struct PDMIMEDIAPORT
     1153{
     1154    /**
     1155     * Returns the storage controller name, instance and LUN of the attached medium.
     1156     *
     1157     * @returns VBox status.
     1158     * @param   pInterface      Pointer to this interface.
     1159     * @param   ppcszController Where to store the name of the storage controller.
     1160     * @param   piInstance      Where to store the instance number of the controller.
     1161     * @param   piLUN           Where to store the LUN of the attached device.
     1162     */
     1163    DECLR3CALLBACKMEMBER(int, pfnQueryDeviceLocation, (PPDMIMEDIAPORT pInterface, const char **ppcszController,
     1164                                                       uint32_t *piInstance, uint32_t *piLUN));
     1165
     1166} PDMIMEDIAPORT;
     1167/** PDMIMEDIAPORT interface ID. */
     1168#define PDMIMEDIAPORT_IID                           "9f7e8c9e-6d35-4453-bbef-1f78033174d6"
    11321169
    11331170/** Pointer to a media interface. */
     
    26862723                                                         int rcCompletion, bool fRedo, int rcReq));
    26872724
     2725    /**
     2726     * Returns the storage controller name, instance and LUN of the attached medium.
     2727     *
     2728     * @returns VBox status.
     2729     * @param   pInterface      Pointer to this interface.
     2730     * @param   ppcszController Where to store the name of the storage controller.
     2731     * @param   piInstance      Where to store the instance number of the controller.
     2732     * @param   piLUN           Where to store the LUN of the attached device.
     2733     */
     2734    DECLR3CALLBACKMEMBER(int, pfnQueryDeviceLocation, (PPDMISCSIPORT pInterface, const char **ppcszController,
     2735                                                       uint32_t *piInstance, uint32_t *piLUN));
     2736
    26882737} PDMISCSIPORT;
    26892738/** PDMISCSIPORT interface ID. */
    2690 #define PDMISCSIPORT_IID                        "9d185b3b-1051-41f6-83ad-2a2a23f04e40"
     2739#define PDMISCSIPORT_IID                        "05d9fc3b-e38c-4b30-8344-a323feebcfe5"
    26912740
    26922741
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette