MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2QueryVolumeDrvLetters

Function Ext2QueryVolumeDrvLetters

Ext2Mgr/enumDisk.cpp:2044–2085  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2042}
2043
2044ULONGLONG
2045Ext2QueryVolumeDrvLetters(PEXT2_VOLUME Volume)
2046{
2047 ULONGLONG letters = 0;
2048 int i;
2049
2050 UCHAR drvChar = Ext2QueryMountPoint(Volume->Name);
2051 if (drvChar) {
2052 letters |= (((ULONGLONG) 1) << (drvChar - 'A'));
2053 }
2054
2055 if (!Volume->Extent) {
2056 goto errorout;
2057 }
2058
2059 /* checking the digits ltters */
2060 for (i=0; i < 10; i++) {
2061 if (drvDigits[i].bUsed && drvDigits[i].Extent) {
2062 if (Ext2CompareExtents(drvDigits[i].Extent, Volume->Extent)) {
2063 letters |= (((ULONGLONG) 1) << (32 + i));
2064 if (drvChar != drvDigits[i].Letter) {
2065 drvDigits[i].bTemporary = TRUE;
2066 }
2067 }
2068 }
2069 }
2070
2071 for (i=0; i <26; i++) {
2072 if (drvLetters[i].bUsed && drvLetters[i].Extent) {
2073 if (Ext2CompareExtents(drvLetters[i].Extent, Volume->Extent)) {
2074 letters |= (((ULONGLONG) 1) << i);
2075 if (drvChar != drvLetters[i].Letter) {
2076 drvLetters[i].bTemporary = TRUE;
2077 }
2078 }
2079 }
2080 }
2081
2082errorout:
2083
2084 return letters;
2085}
2086
2087ULONGLONG
2088Ext2QueryCdromDrvLetters(PEXT2_CDROM Cdrom)

Callers 1

Calls 2

Ext2QueryMountPointFunction · 0.85
Ext2CompareExtentsFunction · 0.85

Tested by

no test coverage detected