Changeset 63905 in vbox
- Timestamp:
- Sep 20, 2016 8:31:05 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 110782
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vd-cache-backend.h
r62476 r63905 28 28 29 29 #include <VBox/vd.h> 30 #include <VBox/vd-common.h> 30 31 #include <VBox/vd-ifs-internal.h> 31 32 … … 35 36 typedef struct VDCACHEBACKEND 36 37 { 37 /** 38 * The name of the backend (constant string). 39 */ 40 const char *pszBackendName; 41 42 /** 43 * The size of the structure. 44 */ 45 uint32_t cbSize; 46 47 /** 48 * The capabilities of the backend. 49 */ 50 uint64_t uBackendCaps; 38 /** Structure version. VD_CACHEBACKEND_VERSION defines the current version. */ 39 uint32_t u32Version; 40 /** The name of the backend (constant string). */ 41 const char *pszBackendName; 42 /** The capabilities of the backend. */ 43 uint64_t uBackendCaps; 51 44 52 45 /** … … 63 56 * Mandatory if the backend sets VD_CAP_CONFIG. 64 57 */ 65 PCVDCONFIGINFO paConfigInfo;58 PCVDCONFIGINFO paConfigInfo; 66 59 67 60 /** … … 312 305 DECLR3CALLBACKMEMBER(int, pfnComposeName, (PVDINTERFACE pConfig, char **pszName)); 313 306 307 /** Initialization safty marker. */ 308 uint32_t u32VersionEnd; 309 314 310 } VDCACHEBACKEND; 315 311 /** Pointer to VD cache backend. */ … … 318 314 typedef const VDCACHEBACKEND *PCVDCACHEBACKEND; 319 315 316 /** The current version of the VDCACHEBACKEND structure. */ 317 #define VD_CACHEBACKEND_VERSION VD_VERSION_MAKE(0xff03, 1, 0) 318 320 319 #endif -
trunk/include/VBox/vd-filter-backend.h
r62476 r63905 28 28 29 29 #include <VBox/vd.h> 30 #include <VBox/vd-common.h> 30 31 #include <VBox/vd-ifs-internal.h> 31 32 … … 35 36 typedef struct VDFILTERBACKEND 36 37 { 37 /** 38 * The name of the backend (constant string). 39 */ 40 const char *pszBackendName; 41 42 /** 43 * The size of the structure. 44 */ 45 uint32_t cbSize; 38 /** Structure version. VD_FLTBACKEND_VERSION defines the current version. */ 39 uint32_t u32Version; 40 /** The name of the backend (constant string). */ 41 const char *pszBackendName; 46 42 47 43 /** … … 51 47 * Mandatory if the backend sets VD_CAP_CONFIG. 52 48 */ 53 PCVDCONFIGINFO paConfigInfo;49 PCVDCONFIGINFO paConfigInfo; 54 50 55 51 /** … … 100 96 PVDIOCTX pIoCtx)); 101 97 98 /** Initialization safty marker. */ 99 uint32_t u32VersionEnd; 102 100 } VDFILTERBACKEND; 103 101 /** Pointer to VD filter backend. */ … … 106 104 typedef const VDFILTERBACKEND *PCVDFILTERBACKEND; 107 105 106 /** The current version of the VDFILTERBACKEND structure. */ 107 #define VD_FLTBACKEND_VERSION VD_VERSION_MAKE(0xff02, 1, 0) 108 108 109 #endif -
trunk/include/VBox/vd-image-backend.h
r63802 r63905 28 28 29 29 #include <VBox/vd.h> 30 #include <VBox/vd-common.h> 30 31 #include <VBox/vd-ifs-internal.h> 31 32 … … 63 64 typedef struct VDIMAGEBACKEND 64 65 { 65 /** 66 * The name of the backend (constant string). 67 */ 68 const char *pszBackendName; 69 70 /** 71 * The size of the structure. 72 */ 73 uint32_t cbSize; 74 75 /** 76 * The capabilities of the backend. 77 */ 78 uint64_t uBackendCaps; 66 /** Structure version. VD_IMGBACKEND_VERSION defines the current version. */ 67 uint32_t u32Version; 68 /** The name of the backend (constant string). */ 69 const char *pszBackendName; 70 /** The capabilities of the backend. */ 71 uint64_t uBackendCaps; 79 72 80 73 /** … … 83 76 * pointer may just contain NULL. 84 77 */ 85 PCVDFILEEXTENSION paFileExtensions;78 PCVDFILEEXTENSION paFileExtensions; 86 79 87 80 /** … … 91 84 * Mandatory if the backend sets VD_CAP_CONFIG. 92 85 */ 93 PCVDCONFIGINFO paConfigInfo;86 PCVDCONFIGINFO paConfigInfo; 94 87 95 88 /** … … 585 578 PVDINTERFACE pVDIfsOperation)); 586 579 580 /** Initialization safty marker. */ 581 uint32_t u32VersionEnd; 582 587 583 } VDIMAGEBACKEND; 588 584 … … 592 588 typedef const VDIMAGEBACKEND *PCVDIMAGEBACKEND; 593 589 590 /** The current version of the VDIMAGEBACKEND structure. */ 591 #define VD_IMGBACKEND_VERSION VD_VERSION_MAKE(0xff01, 1, 0) 592 594 593 /** @copydoc VDIMAGEBACKEND::pfnComposeLocation */ 595 594 DECLCALLBACK(int) genericFileComposeLocation(PVDINTERFACE pConfig, char **pszLocation); -
trunk/include/VBox/vd-plugin.h
r63781 r63905 28 28 29 29 #include <VBox/vd.h> 30 #include <VBox/vd-common.h> 30 31 #include <VBox/vd-image-backend.h> 31 32 #include <VBox/vd-cache-backend.h> … … 37 38 typedef struct VDBACKENDREGISTER 38 39 { 40 /** Interface version. 41 * This is set to VD_BACKENDREG_CB_VERSION. */ 42 uint32_t u32Version; 43 39 44 /** 40 45 * Registers a new image backend. … … 66 71 typedef VDBACKENDREGISTER *PVDBACKENDREGISTER; 67 72 73 /** Current version of the VDBACKENDREGISTER structure. */ 74 #define VD_BACKENDREG_CB_VERSION VD_VERSION_MAKE(0xff00, 1, 0) 75 68 76 /** 69 77 * Initialization entry point called by the generic VD layer when -
trunk/src/VBox/Storage/DMG.cpp
r63802 r63905 2406 2406 const VDIMAGEBACKEND g_DmgBackend = 2407 2407 { 2408 /* u32Version */ 2409 VD_IMGBACKEND_VERSION, 2408 2410 /* pszBackendName */ 2409 2411 "DMG", 2410 /* cbSize */2411 sizeof(VDIMAGEBACKEND),2412 2412 /* uBackendCaps */ 2413 2413 VD_CAP_FILE | VD_CAP_VFS, … … 2499 2499 NULL, 2500 2500 /* pfnTraverseMetadata */ 2501 NULL 2501 NULL, 2502 /* u32VersionEnd */ 2503 VD_IMGBACKEND_VERSION 2502 2504 }; 2503 2505 -
trunk/src/VBox/Storage/ISCSI.cpp
r63880 r63905 5497 5497 const VDIMAGEBACKEND g_ISCSIBackend = 5498 5498 { 5499 /* u32Version */ 5500 VD_IMGBACKEND_VERSION, 5499 5501 /* pszBackendName */ 5500 5502 "iSCSI", 5501 /* cbSize */5502 sizeof(VDIMAGEBACKEND),5503 5503 /* uBackendCaps */ 5504 5504 VD_CAP_CONFIG | VD_CAP_TCPNET | VD_CAP_ASYNC, … … 5590 5590 NULL, 5591 5591 /* pfnTraverseMetadata */ 5592 NULL 5592 NULL, 5593 /* u32VersionEnd */ 5594 VD_IMGBACKEND_VERSION 5593 5595 }; -
trunk/src/VBox/Storage/Parallels.cpp
r63802 r63905 1069 1069 const VDIMAGEBACKEND g_ParallelsBackend = 1070 1070 { 1071 /* u32Version */ 1072 VD_IMGBACKEND_VERSION, 1071 1073 /* pszBackendName */ 1072 1074 "Parallels", 1073 /* cbSize */1074 sizeof(VDIMAGEBACKEND),1075 1075 /* uBackendCaps */ 1076 1076 VD_CAP_FILE | VD_CAP_ASYNC | VD_CAP_VFS | VD_CAP_CREATE_DYNAMIC | VD_CAP_DIFF, … … 1162 1162 NULL, 1163 1163 /* pfnTraverseMetadata */ 1164 NULL 1164 NULL, 1165 /* u32VersionEnd */ 1166 VD_IMGBACKEND_VERSION 1165 1167 }; -
trunk/src/VBox/Storage/QCOW.cpp
r63802 r63905 2317 2317 const VDIMAGEBACKEND g_QCowBackend = 2318 2318 { 2319 /* u32Version */ 2320 VD_IMGBACKEND_VERSION, 2319 2321 /* pszBackendName */ 2320 2322 "QCOW", 2321 /* cbSize */2322 sizeof(VDIMAGEBACKEND),2323 2323 /* uBackendCaps */ 2324 2324 VD_CAP_FILE | VD_CAP_VFS | VD_CAP_CREATE_DYNAMIC | VD_CAP_DIFF | VD_CAP_ASYNC, … … 2410 2410 NULL, 2411 2411 /* pfnTraverseMetadata */ 2412 NULL 2412 NULL, 2413 /* u32VersionEnd */ 2414 VD_IMGBACKEND_VERSION 2413 2415 }; -
trunk/src/VBox/Storage/QED.cpp
r63811 r63905 2373 2373 const VDIMAGEBACKEND g_QedBackend = 2374 2374 { 2375 /* u32Version */ 2376 VD_IMGBACKEND_VERSION, 2375 2377 /* pszBackendName */ 2376 2378 "QED", 2377 /* cbSize */2378 sizeof(VDIMAGEBACKEND),2379 2379 /* uBackendCaps */ 2380 2380 VD_CAP_FILE | VD_CAP_VFS | VD_CAP_CREATE_DYNAMIC | VD_CAP_DIFF | VD_CAP_ASYNC, … … 2466 2466 NULL, 2467 2467 /* pfnTraverseMetadata */ 2468 NULL 2468 NULL, 2469 /* u32Version */ 2470 VD_IMGBACKEND_VERSION 2469 2471 }; -
trunk/src/VBox/Storage/RAW.cpp
r63811 r63905 957 957 const VDIMAGEBACKEND g_RawBackend = 958 958 { 959 /* u32Version */ 960 VD_IMGBACKEND_VERSION, 959 961 /* pszBackendName */ 960 962 "RAW", 961 /* cbSize */962 sizeof(VDIMAGEBACKEND),963 963 /* uBackendCaps */ 964 964 VD_CAP_CREATE_FIXED | VD_CAP_FILE | VD_CAP_ASYNC | VD_CAP_VFS, … … 1050 1050 NULL, 1051 1051 /* pfnTraverseMetadata */ 1052 NULL 1052 NULL, 1053 /* u32VersionEnd */ 1054 VD_IMGBACKEND_VERSION 1053 1055 }; -
trunk/src/VBox/Storage/VCICache.cpp
r63567 r63905 1983 1983 const VDCACHEBACKEND g_VciCacheBackend = 1984 1984 { 1985 /* u32Version */ 1986 VD_CACHEBACKEND_VERSION, 1985 1987 /* pszBackendName */ 1986 1988 "vci", 1987 /* cbSize */1988 sizeof(VDCACHEBACKEND),1989 1989 /* uBackendCaps */ 1990 1990 VD_CAP_CREATE_FIXED | VD_CAP_CREATE_DYNAMIC | VD_CAP_FILE | VD_CAP_VFS, … … 2038 2038 NULL, 2039 2039 /* pfnComposeName */ 2040 NULL 2040 NULL, 2041 /* u32VersionEnd */ 2042 VD_CACHEBACKEND_VERSION 2041 2043 }; 2042 2044 -
trunk/src/VBox/Storage/VD.cpp
r63830 r63905 3547 3547 int rc = VINF_SUCCESS; 3548 3548 3549 if ( pBackend->cbSize == sizeof(VDIMAGEBACKEND))3549 if (VD_VERSION_ARE_COMPATIBLE(VD_IMGBACKEND_VERSION, pBackend->u32Version)) 3550 3550 vdAddBackend((RTLDRMOD)pvUser, pBackend); 3551 3551 else 3552 3552 { 3553 LogFunc(("ignored plugin: pBackend-> cbSize=%d rc=%Rrc\n", pBackend->cbSize, rc));3553 LogFunc(("ignored plugin: pBackend->u32Version=%u rc=%Rrc\n", pBackend->u32Version, rc)); 3554 3554 rc = VERR_IGNORED; 3555 3555 } … … 3565 3565 int rc = VINF_SUCCESS; 3566 3566 3567 if ( pBackend->cbSize == sizeof(VDCACHEBACKEND))3567 if (VD_VERSION_ARE_COMPATIBLE(VD_CACHEBACKEND_VERSION, pBackend->u32Version)) 3568 3568 vdAddCacheBackend((RTLDRMOD)pvUser, pBackend); 3569 3569 else 3570 3570 { 3571 LogFunc(("ignored plugin: pBackend-> cbSize=%d rc=%Rrc\n", pBackend->cbSize, rc));3571 LogFunc(("ignored plugin: pBackend->u32Version=%u rc=%Rrc\n", pBackend->u32Version, rc)); 3572 3572 rc = VERR_IGNORED; 3573 3573 } … … 3583 3583 int rc = VINF_SUCCESS; 3584 3584 3585 if ( pBackend->cbSize == sizeof(VDFILTERBACKEND))3585 if (VD_VERSION_ARE_COMPATIBLE(VD_FLTBACKEND_VERSION, pBackend->u32Version)) 3586 3586 vdAddFilterBackend((RTLDRMOD)pvUser, pBackend); 3587 3587 else 3588 3588 { 3589 LogFunc(("ignored plugin: pBackend-> cbSize=%d rc=%Rrc\n", pBackend->cbSize, rc));3589 LogFunc(("ignored plugin: pBackend->u32Version=%u rc=%Rrc\n", pBackend->u32Version, rc)); 3590 3590 rc = VERR_IGNORED; 3591 3591 } … … 3720 3720 PFNVDPLUGINLOAD pfnVDPluginLoad = NULL; 3721 3721 3722 BackendRegister.u32Version = VD_BACKENDREG_CB_VERSION; 3722 3723 BackendRegister.pfnRegisterImage = vdPluginRegisterImage; 3723 3724 BackendRegister.pfnRegisterCache = vdPluginRegisterCache; -
trunk/src/VBox/Storage/VDI.cpp
r63887 r63905 3000 3000 const VDIMAGEBACKEND g_VDIBackend = 3001 3001 { 3002 /* u32Version */ 3003 VD_IMGBACKEND_VERSION, 3002 3004 /* pszBackendName */ 3003 3005 "VDI", 3004 /* cbSize */3005 sizeof(VDIMAGEBACKEND),3006 3006 /* uBackendCaps */ 3007 3007 VD_CAP_UUID | VD_CAP_CREATE_FIXED | VD_CAP_CREATE_DYNAMIC … … 3095 3095 vdiRepair, 3096 3096 /* pfnTraverseMetadata */ 3097 NULL 3097 NULL, 3098 /* u32VersionEnd */ 3099 VD_IMGBACKEND_VERSION 3098 3100 }; -
trunk/src/VBox/Storage/VHD.cpp
r63811 r63905 3011 3011 const VDIMAGEBACKEND g_VhdBackend = 3012 3012 { 3013 /* u32Version */ 3014 VD_IMGBACKEND_VERSION, 3013 3015 /* pszBackendName */ 3014 3016 "VHD", 3015 /* cbSize */3016 sizeof(VDIMAGEBACKEND),3017 3017 /* uBackendCaps */ 3018 3018 VD_CAP_UUID | VD_CAP_DIFF | VD_CAP_FILE | … … 3106 3106 vhdRepair, 3107 3107 /* pfnTraverseMetadata */ 3108 NULL 3108 NULL, 3109 /* u32VersionEnd */ 3110 VD_IMGBACKEND_VERSION 3109 3111 }; -
trunk/src/VBox/Storage/VHDX.cpp
r63802 r63905 2489 2489 const VDIMAGEBACKEND g_VhdxBackend = 2490 2490 { 2491 /* u32Version */ 2492 VD_IMGBACKEND_VERSION, 2491 2493 /* pszBackendName */ 2492 2494 "VHDX", 2493 /* cbSize */2494 sizeof(VDIMAGEBACKEND),2495 2495 /* uBackendCaps */ 2496 2496 VD_CAP_FILE | VD_CAP_VFS, … … 2582 2582 NULL, 2583 2583 /* pfnTraverseMetadata */ 2584 NULL 2584 NULL, 2585 /* u32VersionEnd */ 2586 VD_IMGBACKEND_VERSION 2585 2587 }; -
trunk/src/VBox/Storage/VMDK.cpp
r63840 r63905 6347 6347 const VDIMAGEBACKEND g_VmdkBackend = 6348 6348 { 6349 /* u32Version */ 6350 VD_IMGBACKEND_VERSION, 6349 6351 /* pszBackendName */ 6350 6352 "VMDK", 6351 /* cbSize */6352 sizeof(VDIMAGEBACKEND),6353 6353 /* uBackendCaps */ 6354 6354 VD_CAP_UUID | VD_CAP_CREATE_FIXED | VD_CAP_CREATE_DYNAMIC … … 6442 6442 NULL, 6443 6443 /* pfnTraverseMetadata */ 6444 NULL 6444 NULL, 6445 /* u32VersionEnd */ 6446 VD_IMGBACKEND_VERSION 6445 6447 };
Note:
See TracChangeset
for help on using the changeset viewer.