Changeset 25974 in vbox for trunk/include/VBox
- Timestamp:
- Jan 22, 2010 2:49:05 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pdmifs.h
r25971 r25974 46 46 * @{ 47 47 */ 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"64 48 /** PDMIISCSITRANSPORT - The iSCSI transport interface (Up) No coupling. 65 49 * used by the iSCSI media driver. */ … … 71 55 * notify port used by the iSCSI media driver. */ 72 56 #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 82 57 83 58 /** PDMINETWORKPORT - The network port interface. (Down) Coupled with PDMINTERFACE_NETWORK_CONNECTOR. */ … … 164 139 * @returns Correctly typed PDMIBASE::pfnQueryInterface return value. 165 140 * 166 * @param pIBasePointer to the base interface.167 * @param InterfaceTypeThe interface type name. The interface ID is141 * @param pIBase Pointer to the base interface. 142 * @param InterfaceType The interface type name. The interface ID is 168 143 * derived from this by appending _IID. 169 144 */ 170 145 #define PDMIBASE_QUERY_INTERFACE(pIBase, InterfaceType) \ 171 146 ( (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) 172 167 173 168 … … 654 649 /** PDMIDISPLAYCONNECTOR interface ID. */ 655 650 #define PDMIDISPLAYCONNECTOR_IID "c7a1b36d-8dfc-421d-b71f-3a0eeaf733e6" 651 652 653 /** 654 * Block notify interface (down). 655 * Pair with PDMIBLOCK. 656 */ 657 typedef PDMIDUMMY PDMIBLOCKPORT; 658 /** PDMIBLOCKPORT interface ID. */ 659 #define PDMIBLOCKPORT_IID "e87fa1ab-92d5-4100-8712-fe2a0c042faf" 660 /** Pointer to a block notify interface (dummy). */ 661 typedef PDMIBLOCKPORT *PPDMIBLOCKPORT; 656 662 657 663 … … 692 698 } PDMBLOCKTXDIR; 693 699 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;701 700 702 701 /** Pointer to a block interface. */ 703 702 typedef struct PDMIBLOCK *PPDMIBLOCK; 704 703 /** 705 * Block interface .704 * Block interface (up). 706 705 * Pair with PDMIBLOCKPORT. 707 706 */ … … 796 795 DECLR3CALLBACKMEMBER(int, pfnGetUuid,(PPDMIBLOCK pInterface, PRTUUID pUuid)); 797 796 } PDMIBLOCK; 797 /** PDMIBLOCK interface ID. */ 798 #define PDMIBLOCK_IID "0a5f3156-8b21-4cf5-83fd-e097281d2900" 798 799 799 800 … … 801 802 typedef struct PDMIMOUNTNOTIFY *PPDMIMOUNTNOTIFY; 802 803 /** 803 * Block interface .804 * Block interface (up). 804 805 * Pair with PDMIMOUNT. 805 806 */ … … 821 822 DECLR3CALLBACKMEMBER(void, pfnUnmountNotify,(PPDMIMOUNTNOTIFY pInterface)); 822 823 } 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. */ 826 829 typedef struct PDMIMOUNT *PPDMIMOUNT; 827 830 /** 828 * Mount interface .831 * Mount interface (down). 829 832 * Pair with PDMIMOUNTNOTIFY. 830 833 */ … … 895 898 */ 896 899 DECLR3CALLBACKMEMBER(bool, pfnIsLocked,(PPDMIMOUNT pInterface)); 897 } PDMIBLOCKMOUNT; 900 } PDMIMOUNT; 901 /** PDMIMOUNT interface ID. */ 902 #define PDMIMOUNT_IID "8e5a009a-6032-4ca1-9d86-a388d8eaf926" 903 898 904 899 905 /** … … 918 924 typedef struct PDMIMEDIA *PPDMIMEDIA; 919 925 /** 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. 922 928 */ 923 929 typedef struct PDMIMEDIA … … 1040 1046 1041 1047 } PDMIMEDIA; 1048 /** PDMIMEDIA interface ID. */ 1049 #define PDMIMEDIA_IID "f5bb07c9-2843-46f8-a56f-cc090b6e5bac" 1042 1050 1043 1051 … … 1045 1053 typedef struct PDMIBLOCKBIOS *PPDMIBLOCKBIOS; 1046 1054 /** 1047 * Media BIOS interface .1055 * Media BIOS interface (Up / External). 1048 1056 * The interface the getting and setting properties which the BIOS/CMOS care about. 1049 1057 */ … … 1124 1132 1125 1133 } PDMIBLOCKBIOS; 1134 /** PDMIBLOCKBIOS interface ID. */ 1135 #define PDMIBLOCKBIOS_IID "477c3eee-a48d-48a9-82fd-2a54de16b2e9" 1126 1136 1127 1137 … … 1302 1312 typedef struct PDMIBLOCKASYNCPORT *PPDMIBLOCKASYNCPORT; 1303 1313 /** 1304 * Asynchronous block notify interface .1314 * Asynchronous block notify interface (up). 1305 1315 * Pair with PDMIBLOCKASYNC. 1306 1316 */ … … 1317 1327 DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIBLOCKASYNCPORT pInterface, void *pvUser)); 1318 1328 } PDMIBLOCKASYNCPORT; 1329 /** PDMIBLOCKASYNCPORT interface ID. */ 1330 #define PDMIBLOCKASYNCPORT_IID "e3bdc0cb-9d99-41dd-8eec-0dc8cf5b2a92" 1331 1319 1332 1320 1333 … … 1322 1335 typedef struct PDMIBLOCKASYNC *PPDMIBLOCKASYNC; 1323 1336 /** 1324 * Asynchronous block interface .1337 * Asynchronous block interface (down). 1325 1338 * Pair with PDMIBLOCKASYNCPORT. 1326 1339 */ … … 1356 1369 1357 1370 } PDMIBLOCKASYNC; 1371 /** PDMIBLOCKASYNC interface ID. */ 1372 #define PDMIBLOCKASYNC_IID "142cd775-3be6-4c9f-9e3d-68969c3d4779" 1358 1373 1359 1374 … … 1361 1376 typedef struct PDMIMEDIAASYNCPORT *PPDMIMEDIAASYNCPORT; 1362 1377 /** 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. 1365 1380 */ 1366 1381 typedef struct PDMIMEDIAASYNCPORT … … 1376 1391 DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIMEDIAASYNCPORT pInterface, void *pvUser)); 1377 1392 } PDMIMEDIAASYNCPORT; 1393 /** PDMIMEDIAASYNCPORT interface ID. */ 1394 #define PDMIMEDIAASYNCPORT_IID "22d38853-901f-4a71-9670-4d9da6e82317" 1378 1395 1379 1396 … … 1381 1398 typedef struct PDMIMEDIAASYNC *PPDMIMEDIAASYNC; 1382 1399 /** 1383 * Asynchronous media interface.1384 * Makes up the fundation for PDMIBLOCKASYNC and PDMIBLOCKBIOS.1400 * Asynchronous version of PDMIMEDIA (down). 1401 * Pair with PDMIMEDIAASYNCPORT. 1385 1402 */ 1386 1403 typedef struct PDMIMEDIAASYNC … … 1415 1432 1416 1433 } PDMIMEDIAASYNC; 1434 /** PDMIMEDIAASYNC interface ID. */ 1435 #define PDMIMEDIAASYNC_IID "d7bc3c90-e686-4d9c-a7bc-6c6742e452ec" 1417 1436 1418 1437 … … 1527 1546 typedef struct PDMISTREAM *PPDMISTREAM; 1528 1547 /** 1529 * Stream interface .1530 * Makes up the foundation for PDMICHARCONNECTOR. 1548 * Stream interface (up). 1549 * Makes up the foundation for PDMICHARCONNECTOR. No pair interface. 1531 1550 */ 1532 1551 typedef struct PDMISTREAM … … 1554 1573 DECLR3CALLBACKMEMBER(int, pfnWrite,(PPDMISTREAM pInterface, const void *pvBuf, size_t *cbWrite)); 1555 1574 } PDMISTREAM; 1575 /** PDMISTREAM interface ID. */ 1576 #define PDMISTREAM_IID "d1a5bf5e-3d2c-449a-bde9-addd7920b71f" 1556 1577 1557 1578
Note:
See TracChangeset
for help on using the changeset viewer.