VirtualBox

Changeset 25974 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Jan 22, 2010 2:49:05 PM (15 years ago)
Author:
vboxsync
Message:

pdmifs.h: another batch of _IID changes.

File:
1 edited

Legend:

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

    r25971 r25974  
    4646 * @{
    4747 */
    48 /** PDMISTREAM              - The stream driver interface           (Up)    No coupling.
    49  * Used by a char driver to implement PDMINTERFACE_CHAR. */
    50 #define PDMINTERFACE_STREAM                     "d1a5bf5e-3d2c-449a-bde9-addd7920b71f"
    51 /** PDMIBLOCKPORT           - The block notify interface            (Down)  Coupled with PDMINTERFACE_BLOCK. */
    52 #define PDMINTERFACE_BLOCK_PORT                 "e87fa1ab-92d5-4100-8712-fe2a0c042faf"
    53 /** PDMIBLOCK               - The block driver interface            (Up)    Coupled with PDMINTERFACE_BLOCK_PORT. */
    54 #define PDMINTERFACE_BLOCK                      "0a5f3156-8b21-4cf5-83fd-e097281d2900"
    55 /** PDMIBLOCKBIOS           - The block bios interface.             (External) */
    56 #define PDMINTERFACE_BLOCK_BIOS                 "477c3eee-a48d-48a9-82fd-2a54de16b2e9"
    57 /** PDMIMOUNTNOTIFY         - The mountable notification interface. (Down)  Coupled with PDMINTERFACE_MOUNT. */
    58 #define PDMINTERFACE_MOUNT_NOTIFY               "fa143ac9-9fc6-498e-997f-945380a558f9"
    59 /** PDMIMOUNT               - The mountable interface.              (Up)    Coupled with PDMINTERFACE_MOUNT_NOTIFY. */
    60 #define PDMINTERFACE_MOUNT                      "8e5a009a-6032-4ca1-9d86-a388d8eaf926"
    61 /** PDMIMEDIA               - The media interface.                  (Up)    No coupling.
    62  * Used by a block unit driver to implement PDMINTERFACE_BLOCK and PDMINTERFACE_BLOCK_BIOS. */
    63 #define PDMINTERFACE_MEDIA                      "f5bb07c9-2843-46f8-a56f-cc090b6e5bac"
    6448/** PDMIISCSITRANSPORT      - The iSCSI transport interface         (Up)    No coupling.
    6549 * used by the iSCSI media driver.  */
     
    7155 * notify port used by the iSCSI media driver.  */
    7256#define PDMINTERFACE_ISCSITRANSPORTASYNCPORT    "6ab0fbf1-aa72-4b27-bc46-f58896ba0392"
    73 /** PDMIMEDIAASYNC          - Async version of the media interface  (Down)  Coupled with PDMINTERFACE_MEDIA_ASYNC_PORT. */
    74 #define PDMINTERFACE_MEDIA_ASYNC                "d7bc3c90-e686-4d9c-a7bc-6c6742e452ec"
    75 /** PDMIMEDIAASYNCPORT      - Async version of the media interface  (Up)    Coupled with PDMINTERFACE_MEDIA_ASYNC. */
    76 #define PDMINTERFACE_MEDIA_ASYNC_PORT           "22d38853-901f-4a71-9670-4d9da6e82317"
    77 /** PDMIBLOCKASYNC          - Async version of the block interface  (Down)  Coupled with PDMINTERFACE_BLOCK_ASYNC_PORT. */
    78 #define PDMINTERFACE_BLOCK_ASYNC                "142cd775-3be6-4c9f-9e3d-68969c3d4779"
    79 /** PDMIBLOCKASYNCPORT      - Async version of the block interface  (Up)    Coupled with PDMINTERFACE_BLOCK_ASYNC. */
    80 #define PDMINTERFACE_BLOCK_ASYNC_PORT           "e3bdc0cb-9d99-41dd-8eec-0dc8cf5b2a92"
    81 
    8257
    8358/** PDMINETWORKPORT         - The network port interface.           (Down)  Coupled with PDMINTERFACE_NETWORK_CONNECTOR. */
     
    164139 * @returns Correctly typed PDMIBASE::pfnQueryInterface return value.
    165140 *
    166  * @param    pIBase         Pointer to the base interface.
    167  * @param    InterfaceType  The interface type name.  The interface ID is
     141 * @param   pIBase          Pointer to the base interface.
     142 * @param   InterfaceType   The interface type name.  The interface ID is
    168143 *                          derived from this by appending _IID.
    169144 */
    170145#define PDMIBASE_QUERY_INTERFACE(pIBase, InterfaceType)  \
    171146    ( (InterfaceType *)(pIBase)->pfnQueryInterface(pIBase, InterfaceType##_IID ) )
     147
     148/**
     149 * Helper macro for implementing PDMIBASE::pfnQueryInterface.
     150 *
     151 * Return @a pInterface if @a pszIID matches the @a InterfaceType.  This will
     152 * perform basic type checking.
     153 *
     154 * @param   pszIID          The ID of the interface that is being queried.
     155 * @param   InterfaceType   The interface type name.  The interface ID is
     156 *                          derived from this by appending _IID.
     157 * @param   pInterface      The interface address expression.
     158 */
     159#define PDMIBASE_RETURN_INTERFACE(pszIID, InterfaceType, pInterface)  \
     160    do { \
     161        if (RTUuidCompare2Strs((pszIID), InterfaceType##_IID) == 0) \
     162        { \
     163            InterfaceType *pReturnInterfaceTypeCheck = (pInterface); \
     164            return pReturnInterfaceTypeCheck; \
     165        } \
     166    } while (0)
    172167
    173168
     
    654649/** PDMIDISPLAYCONNECTOR interface ID. */
    655650#define PDMIDISPLAYCONNECTOR_IID                "c7a1b36d-8dfc-421d-b71f-3a0eeaf733e6"
     651
     652
     653/**
     654 * Block notify interface (down).
     655 * Pair with PDMIBLOCK.
     656 */
     657typedef PDMIDUMMY PDMIBLOCKPORT;
     658/** PDMIBLOCKPORT interface ID. */
     659#define PDMIBLOCKPORT_IID                 "e87fa1ab-92d5-4100-8712-fe2a0c042faf"
     660/** Pointer to a block notify interface (dummy). */
     661typedef PDMIBLOCKPORT *PPDMIBLOCKPORT;
    656662
    657663
     
    692698} PDMBLOCKTXDIR;
    693699
    694 /**
    695  * Block notify interface.
    696  * Pair with PDMIBLOCK.
    697  */
    698 typedef PDMIDUMMY PDMIBLOCKPORT;
    699 /** Pointer to a block notify interface (dummy). */
    700 typedef PDMIBLOCKPORT *PPDMIBLOCKPORT;
    701700
    702701/** Pointer to a block interface. */
    703702typedef struct PDMIBLOCK *PPDMIBLOCK;
    704703/**
    705  * Block interface.
     704 * Block interface (up).
    706705 * Pair with PDMIBLOCKPORT.
    707706 */
     
    796795    DECLR3CALLBACKMEMBER(int, pfnGetUuid,(PPDMIBLOCK pInterface, PRTUUID pUuid));
    797796} PDMIBLOCK;
     797/** PDMIBLOCK interface ID. */
     798#define PDMIBLOCK_IID                           "0a5f3156-8b21-4cf5-83fd-e097281d2900"
    798799
    799800
     
    801802typedef struct PDMIMOUNTNOTIFY *PPDMIMOUNTNOTIFY;
    802803/**
    803  * Block interface.
     804 * Block interface (up).
    804805 * Pair with PDMIMOUNT.
    805806 */
     
    821822    DECLR3CALLBACKMEMBER(void, pfnUnmountNotify,(PPDMIMOUNTNOTIFY pInterface));
    822823} PDMIMOUNTNOTIFY;
    823 
    824 
    825 /* Pointer to mount interface. */
     824/** PDMIMOUNTNOTIFY interface ID. */
     825#define PDMIMOUNTNOTIFY_IID                     "fa143ac9-9fc6-498e-997f-945380a558f9"
     826
     827
     828/** Pointer to mount interface. */
    826829typedef struct PDMIMOUNT *PPDMIMOUNT;
    827830/**
    828  * Mount interface.
     831 * Mount interface (down).
    829832 * Pair with PDMIMOUNTNOTIFY.
    830833 */
     
    895898     */
    896899    DECLR3CALLBACKMEMBER(bool, pfnIsLocked,(PPDMIMOUNT pInterface));
    897 } PDMIBLOCKMOUNT;
     900} PDMIMOUNT;
     901/** PDMIMOUNT interface ID. */
     902#define PDMIMOUNT_IID                           "8e5a009a-6032-4ca1-9d86-a388d8eaf926"
     903
    898904
    899905/**
     
    918924typedef struct PDMIMEDIA *PPDMIMEDIA;
    919925/**
    920  * Media interface.
    921  * Makes up the foundation for PDMIBLOCK and PDMIBLOCKBIOS.
     926 * Media interface (up).
     927 * Makes up the foundation for PDMIBLOCK and PDMIBLOCKBIOS.  No interface pair.
    922928 */
    923929typedef struct PDMIMEDIA
     
    10401046
    10411047} PDMIMEDIA;
     1048/** PDMIMEDIA interface ID. */
     1049#define PDMIMEDIA_IID                           "f5bb07c9-2843-46f8-a56f-cc090b6e5bac"
    10421050
    10431051
     
    10451053typedef struct PDMIBLOCKBIOS *PPDMIBLOCKBIOS;
    10461054/**
    1047  * Media BIOS interface.
     1055 * Media BIOS interface (Up / External).
    10481056 * The interface the getting and setting properties which the BIOS/CMOS care about.
    10491057 */
     
    11241132
    11251133} PDMIBLOCKBIOS;
     1134/** PDMIBLOCKBIOS interface ID. */
     1135#define PDMIBLOCKBIOS_IID                       "477c3eee-a48d-48a9-82fd-2a54de16b2e9"
    11261136
    11271137
     
    13021312typedef struct PDMIBLOCKASYNCPORT *PPDMIBLOCKASYNCPORT;
    13031313/**
    1304  * Asynchronous block notify interface.
     1314 * Asynchronous block notify interface (up).
    13051315 * Pair with PDMIBLOCKASYNC.
    13061316 */
     
    13171327    DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIBLOCKASYNCPORT pInterface, void *pvUser));
    13181328} PDMIBLOCKASYNCPORT;
     1329/** PDMIBLOCKASYNCPORT interface ID. */
     1330#define PDMIBLOCKASYNCPORT_IID                  "e3bdc0cb-9d99-41dd-8eec-0dc8cf5b2a92"
     1331
    13191332
    13201333
     
    13221335typedef struct PDMIBLOCKASYNC *PPDMIBLOCKASYNC;
    13231336/**
    1324  * Asynchronous block interface.
     1337 * Asynchronous block interface (down).
    13251338 * Pair with PDMIBLOCKASYNCPORT.
    13261339 */
     
    13561369
    13571370} PDMIBLOCKASYNC;
     1371/** PDMIBLOCKASYNC interface ID. */
     1372#define PDMIBLOCKASYNC_IID                      "142cd775-3be6-4c9f-9e3d-68969c3d4779"
    13581373
    13591374
     
    13611376typedef struct PDMIMEDIAASYNCPORT *PPDMIMEDIAASYNCPORT;
    13621377/**
    1363  * Asynchronous media interface.
    1364  * Makes up the fundation for PDMIBLOCKASYNC and PDMIBLOCKBIOS.
     1378 * Asynchronous version of the media interface (up).
     1379 * Pair with PDMIMEDIAASYNC.
    13651380 */
    13661381typedef struct PDMIMEDIAASYNCPORT
     
    13761391    DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIMEDIAASYNCPORT pInterface, void *pvUser));
    13771392} PDMIMEDIAASYNCPORT;
     1393/** PDMIMEDIAASYNCPORT interface ID. */
     1394#define PDMIMEDIAASYNCPORT_IID                  "22d38853-901f-4a71-9670-4d9da6e82317"
    13781395
    13791396
     
    13811398typedef struct PDMIMEDIAASYNC *PPDMIMEDIAASYNC;
    13821399/**
    1383  * Asynchronous media interface.
    1384  * Makes up the fundation for PDMIBLOCKASYNC and PDMIBLOCKBIOS.
     1400 * Asynchronous version of PDMIMEDIA (down).
     1401 * Pair with PDMIMEDIAASYNCPORT.
    13851402 */
    13861403typedef struct PDMIMEDIAASYNC
     
    14151432
    14161433} PDMIMEDIAASYNC;
     1434/** PDMIMEDIAASYNC interface ID. */
     1435#define PDMIMEDIAASYNC_IID                      "d7bc3c90-e686-4d9c-a7bc-6c6742e452ec"
    14171436
    14181437
     
    15271546typedef struct PDMISTREAM *PPDMISTREAM;
    15281547/**
    1529  * Stream interface.
    1530  * Makes up the foundation for PDMICHARCONNECTOR.
     1548 * Stream interface (up).
     1549 * Makes up the foundation for PDMICHARCONNECTOR.  No pair interface.
    15311550 */
    15321551typedef struct PDMISTREAM
     
    15541573    DECLR3CALLBACKMEMBER(int, pfnWrite,(PPDMISTREAM pInterface, const void *pvBuf, size_t *cbWrite));
    15551574} PDMISTREAM;
     1575/** PDMISTREAM interface ID. */
     1576#define PDMISTREAM_IID                          "d1a5bf5e-3d2c-449a-bde9-addd7920b71f"
    15561577
    15571578
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