Changeset 85875 in vbox
- Timestamp:
- Aug 24, 2020 4:22:01 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 140046
- Location:
- trunk
- Files:
-
- 6 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/file.h
r82968 r85875 594 594 595 595 /** 596 * Queries the sector size (/ logical block size) for a disk or similar. 597 * 598 * @returns IPRT status code. 599 * @retval VERR_INVALID_FUNCTION if not a disk/similar. Could also be returned 600 * if not really implemented. 601 * @param hFile Handle to the disk. This must typically be a device 602 * rather than a file or directory, though this may vary 603 * from OS to OS. 604 * @param pcbSector Where to store the sector size. 605 */ 606 RTDECL(int) RTFileQuerySectorSize(RTFILE hFile, uint32_t *pcbSector); 607 608 /** 596 609 * Gets the current file position. 597 610 * -
trunk/include/iprt/mangling.h
r85616 r85875 965 965 # define RTFileQueryFsSizes RT_MANGLER(RTFileQueryFsSizes) 966 966 # define RTFileQueryInfo RT_MANGLER(RTFileQueryInfo) 967 # define RTFileQuerySectorSize RT_MANGLER(RTFileQuerySectorSize) 967 968 # define RTFileQuerySize RT_MANGLER(RTFileQuerySize) 968 969 # define RTFileRead RT_MANGLER(RTFileRead) -
trunk/src/VBox/Runtime/Makefile.kmk
r85672 r85875 908 908 r3/win/env-win.cpp \ 909 909 r3/win/RTCrStoreCreateSnapshotById-win.cpp \ 910 r3/win/RTFileQuerySectorSize-win.cpp \ 910 911 r3/win/RTHandleGetStandard-win.cpp \ 911 912 r3/win/RTLocaleQueryNormalizedBaseLocaleName-win.cpp \ … … 999 1000 r3/linux/thread-affinity-linux.cpp \ 1000 1001 r3/linux/RTFileCopyPartEx-linux.cpp \ 1002 r3/linux/RTFileQuerySectorSize-linux.cpp \ 1001 1003 r3/linux/RTFileSetAllocationSize-linux.cpp \ 1002 1004 r3/linux/RTProcIsRunningByName-linux.cpp \ … … 1079 1081 generic/RTFileCopyPartEx-generic.cpp \ 1080 1082 generic/RTFileMove-generic.cpp \ 1083 generic/RTFileQuerySectorSize-generic.cpp \ 1081 1084 generic/RTFileSetAllocationSize-generic.cpp \ 1082 1085 generic/RTLogWriteDebugger-generic.cpp \ … … 1187 1190 r3/darwin/RTCrStoreCreateSnapshotById-darwin.cpp \ 1188 1191 r3/darwin/filelock-darwin.cpp \ 1192 r3/darwin/RTFileQuerySectorSize-darwin.cpp \ 1189 1193 r3/darwin/krnlmod-darwin.cpp \ 1190 1194 r3/darwin/mp-darwin.cpp \ … … 1278 1282 generic/RTThreadGetNativeState-generic.cpp \ 1279 1283 r3/freebsd/fileaio-freebsd.cpp \ 1284 r3/freebsd/RTFileQuerySectorSize-freebsd.cpp \ 1280 1285 r3/freebsd/mp-freebsd.cpp \ 1281 1286 r3/freebsd/systemmem-freebsd.cpp \ … … 1339 1344 generic/RTFileCopyPartEx-generic.cpp \ 1340 1345 generic/RTFileMove-generic.cpp \ 1346 generic/RTFileQuerySectorSize-generic.cpp \ 1341 1347 generic/RTLogWriteDebugger-generic.cpp \ 1342 1348 generic/RTPathGetCurrentOnDrive-generic.cpp \ … … 1491 1497 r3/posix/utf8-posix.cpp \ 1492 1498 r3/solaris/fileaio-solaris.cpp \ 1499 r3/solaris/RTFileQuerySectorSize-solaris.cpp \ 1493 1500 r3/solaris/krnlmod-solaris.cpp \ 1494 1501 r3/solaris/systemmem-solaris.cpp \ … … 1522 1529 generic/RTFileCopyPartEx-generic.cpp \ 1523 1530 generic/RTFileMove-generic.cpp \ 1531 generic/RTFileQuerySectorSize-generic.cpp \ 1524 1532 generic/RTFileSetAllocationSize-generic.cpp \ 1525 1533 generic/RTLogWriteDebugger-generic.cpp \ -
trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp
r85495 r85875 680 680 *pcbSize = st.st_size; 681 681 if ( st.st_size != 0 682 #if defined(RT_OS_SOLARIS) 682 #if defined(RT_OS_SOLARIS) || defined(RT_OS_DARWIN) 683 683 || (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode)) 684 #elif defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD) 684 #elif defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD) || defined(RT_OS_DARWIN) 685 685 || !S_ISCHR(st.st_mode) 686 686 #else … … 705 705 } 706 706 } 707 /* must be a block device, fail on failure. */ 707 708 /* Always fail block devices. Character devices doesn't all need to be 709 /dev/rdisk* nodes, they should return ENOTTY but include EINVAL too. */ 710 if (!S_ISBLK(st.st_mode) && (errno == ENOTTY || errno == EINVAL)) 711 return VINF_SUCCESS; 708 712 709 713 #elif defined(RT_OS_SOLARIS)
Note:
See TracChangeset
for help on using the changeset viewer.