Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105/* * PROJECT: ReactOS DiskPart * LICENSE: GPL - See COPYING in the top level directory * FILE: base/system/diskpart/filesystems.c * PURPOSE: Manages all the partitions of the OS in an interactive way. * PROGRAMMERS: Lee Schroeder */
#include "diskpart.h"
#define NDEBUG#include <debug.h>
staticVOIDShowFileSystemInfo( _In_ PVOLENTRY VolumeEntry){ WCHAR szBuffer[32]; PWSTR pszSizeUnit = L""; ULONG ulClusterSize;
ConResPuts(StdOut, IDS_FILESYSTEMS_CURRENT); ConPuts(StdOut, L"\n");
ConResPrintf(StdOut, IDS_FILESYSTEMS_TYPE, VolumeEntry->pszFilesystem);
ulClusterSize = VolumeEntry->SectorsPerAllocationUnit * VolumeEntry->BytesPerSector; if (ulClusterSize >= SIZE_10MB) /* 10 MB */ { ulClusterSize = RoundingDivide(ulClusterSize, SIZE_1MB); pszSizeUnit = L"MB"; } else if (ulClusterSize >= SIZE_10KB) /* 10 KB */ { ulClusterSize = RoundingDivide(ulClusterSize, SIZE_1KB); pszSizeUnit = L"KB"; }
wsprintf(szBuffer, L"%lu %s", ulClusterSize, pszSizeUnit); ConResPrintf(StdOut, IDS_FILESYSTEMS_CLUSTERSIZE, szBuffer); ConResPrintf(StdOut, IDS_FILESYSTEMS_SERIAL_NUMBER, VolumeEntry->SerialNumber); ConPuts(StdOut, L"\n");}
staticVOIDShowInstalledFileSystems( _In_ PVOLENTRY VolumeEntry){ WCHAR szBuffer[256]; WCHAR szDefault[32]; BOOLEAN ret; DWORD dwIndex; UCHAR uMajor, uMinor; BOOLEAN bLatest;
LoadStringW(GetModuleHandle(NULL), IDS_FILESYSTEMS_DEFAULT, szDefault, ARRAYSIZE(szDefault));
ConResPuts(StdOut, IDS_FILESYSTEMS_FORMATTING); ConPuts(StdOut, L"\n");
for (dwIndex = 0; ; dwIndex++) { ret = QueryAvailableFileSystemFormat(dwIndex, szBuffer, &uMajor, &uMinor, &bLatest); if (ret == FALSE) break;
if (wcscmp(szBuffer, L"FAT") == 0) wcscat(szBuffer, szDefault);
ConResPrintf(StdOut, IDS_FILESYSTEMS_TYPE, szBuffer); wcscpy(szBuffer, L"-"); ConResPrintf(StdOut, IDS_FILESYSTEMS_CLUSTERSIZE, szBuffer); ConPuts(StdOut, L"\n"); }}
EXIT_CODEfilesystems_main( _In_ INT argc, _In_ PWSTR *argv){ if (CurrentVolume == NULL) { ConResPuts(StdOut, IDS_SELECT_NO_VOLUME); return EXIT_SUCCESS; }
ConPuts(StdOut, L"\n");
ShowFileSystemInfo(CurrentVolume); ShowInstalledFileSystems(CurrentVolume);
return EXIT_SUCCESS;}