Changeset 107080 in vbox for trunk/src/VBox/HostDrivers/Support
- Timestamp:
- Nov 21, 2024 11:20:08 AM (6 months ago)
- svn:sync-xref-src-repo-rev:
- 166036
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r106061 r107080 278 278 */ 279 279 #define SUP_IOCTL_QUERY_FUNCS(cFuncs) SUP_CTL_CODE_BIG(2) 280 #define SUP_IOCTL_QUERY_FUNCS_SIZE(cFuncs) RT_UOFFSETOF_DYN(SUPQUERYFUNCS, u.Out.aFunctions[(cFuncs)]) 280 #define SUP_IOCTL_QUERY_FUNCS_SIZE(cFuncs) (RT_UOFFSETOF_DYN(SUPQUERYFUNCS, u.Out.aFunctions) + \ 281 RT_SIZEOFMEMB(SUPQUERYFUNCS, u.Out.aFunctions) * (cFuncs)) 281 282 #define SUP_IOCTL_QUERY_FUNCS_SIZE_IN sizeof(SUPREQHDR) 282 283 #define SUP_IOCTL_QUERY_FUNCS_SIZE_OUT(cFuncs) SUP_IOCTL_QUERY_FUNCS_SIZE(cFuncs) … … 361 362 */ 362 363 #define SUP_IOCTL_LDR_LOAD SUP_CTL_CODE_BIG(4) 363 #define SUP_IOCTL_LDR_LOAD_SIZE (cbImage) RT_MAX(RT_UOFFSETOF_DYN(SUPLDRLOAD, u.In.abImage[cbImage]), SUP_IOCTL_LDR_LOAD_SIZE_OUT)364 #define SUP_IOCTL_LDR_LOAD_SIZE_IN(cbImage) RT_UOFFSETOF_DYN(SUPLDRLOAD, u.In.abImage[cbImage])364 #define SUP_IOCTL_LDR_LOAD_SIZE_IN(cbImage) (RT_UOFFSETOF_DYN(SUPLDRLOAD, u.In.abImage) + \ 365 RT_SIZEOFMEMB(SUPLDRLOAD, u.In.abImage) * (cbImage)) 365 366 #define SUP_IOCTL_LDR_LOAD_SIZE_OUT (RT_UOFFSETOF(SUPLDRLOAD, u.Out.szError) + RT_SIZEOFMEMB(SUPLDRLOAD, u.Out.szError)) 367 #define SUP_IOCTL_LDR_LOAD_SIZE(cbImage) RT_MAX(SUP_IOCTL_LDR_LOAD_SIZE_IN(cbImage), SUP_IOCTL_LDR_LOAD_SIZE_OUT) 366 368 367 369 /** … … 614 616 } u; 615 617 /** The VMMR0Entry request packet. */ 616 uint8_t abReqPkt[1]; 618 RT_FLEXIBLE_ARRAY_EXTENSION 619 uint8_t abReqPkt[RT_FLEXIBLE_ARRAY]; 617 620 } SUPCALLVMMR0, *PSUPCALLVMMR0; 618 621 /** @} */ … … 635 638 */ 636 639 #define SUP_IOCTL_LOW_ALLOC SUP_CTL_CODE_BIG(8) 637 #define SUP_IOCTL_LOW_ALLOC_SIZE(cPages) ((uint32_t)RT_UOFFSETOF_DYN(SUPLOWALLOC, u.Out.aPages[cPages])) 640 #define SUP_IOCTL_LOW_ALLOC_SIZE(cPages) ((uint32_t)(RT_UOFFSETOF_DYN(SUPLOWALLOC, u.Out.aPages) + \ 641 RT_SIZEOFMEMB(SUPLOWALLOC, u.Out.aPages) * (cPages))) 638 642 #define SUP_IOCTL_LOW_ALLOC_SIZE_IN (sizeof(SUPREQHDR) + RT_SIZEOFMEMB(SUPLOWALLOC, u.In)) 639 643 #define SUP_IOCTL_LOW_ALLOC_SIZE_OUT(cPages) SUP_IOCTL_LOW_ALLOC_SIZE(cPages) … … 697 701 */ 698 702 #define SUP_IOCTL_PAGE_ALLOC_EX SUP_CTL_CODE_BIG(10) 699 #define SUP_IOCTL_PAGE_ALLOC_EX_SIZE(cPages) RT_UOFFSETOF_DYN(SUPPAGEALLOCEX, u.Out.aPages[cPages]) 703 #define SUP_IOCTL_PAGE_ALLOC_EX_SIZE(cPages) (RT_UOFFSETOF_DYN(SUPPAGEALLOCEX, u.Out.aPages) + \ 704 RT_SIZEOFMEMB(SUPPAGEALLOCEX, u.Out.aPages) * (cPages)) 700 705 #define SUP_IOCTL_PAGE_ALLOC_EX_SIZE_IN (sizeof(SUPREQHDR) + RT_SIZEOFMEMB(SUPPAGEALLOCEX, u.In)) 701 706 #define SUP_IOCTL_PAGE_ALLOC_EX_SIZE_OUT(cPages) SUP_IOCTL_PAGE_ALLOC_EX_SIZE(cPages)
Note:
See TracChangeset
for help on using the changeset viewer.