Contains volume information
#include <monitor.h> #define MAX_VOLUME_NAME_LEN 31 struct volume_info { int which; uint32_t flags; char name[MAX_VOLUME_NAME_LEN+1]; uint32_t SectorSize; uint32_t SectorsPerCluster; uint32_t VolumeSizeInClusters; uint32_t FreedClusters; uint32_t SubAllocFreeableClusters; uint32_t FreeableLimboSectors; uint32_t NonFreeableLimboSectors; uint32_t NonFreeableAvailableSubAllocSectors; uint32_t NotUsableSubAllocSectors; uint32_t SubAllocClusters; uint32_t DataStreamsCount; uint32_t LimboDataStreamsCount; uint32_t OldestDeletedFileAgeInTicks; uint32_t CompressedDataStreamsCount; uint32_t CompressedLimboDataStreamsCount; uint32_t UnCompressableDataStreamsCount; uint32_t PreCompressedSectors; uint32_t CompressedSectors; uint32_t MigratedFiles; uint32_t MigratedSectors; uint32_t ClustersUsedByFAT; uint32_t ClustersUsedByDirectories; uint32_t ClustersUsedByExtendedDirectories; uint32_t TotalDirectoryEntries; uint32_t UnUsedDirectoryEntries; uint32_t TotalExtendedDirectoryExtants; uint32_t UnUsedExtendedDirectoryExtants; uint32_t ExtendedAttributesDefined; uint32_t ExtendedAttributeExtantsUsed; uint32_t DirectoryServicesObjectID; uint32_t VolumeLastModifiedDateAndTime; int mounted; uint64_t BlockCount; uint64_t BlockFree; uint64_t BlockSize; uint32_t reserved[58]; };
Specifies a unique numeric value for the volume.
Uses a bit mask to specify the type of volume. The mask can contain the following flags:
Specifies the volume name. A volume name can be up to 31 characters.
Specifies the sector size, in bytes.
Specifies the number of sectors in a cluster.
Specifies the size of the volume, in clusters.
Specifies the number of clusters that are currently free for allocation. This number does not include space that is currently available from deleted (limbo) files, nor space the could be reclaimed from the suballocation file system.
Specifies the space that could be reclaimed from the suballocation file system.
Specifies the disk space that could be freed from deleted files, in sectors.
Specifies the space that is available to the suballocation file system but is not freeable to return as sectors.
Specifies the disk space that is wasted by the suballocation file system. These sectors cannot be allocated by the suballocation file system or used as regular sectors.
Specifies the disk space that is being used by the suballocation file system.
Specifies the number of data streams that are available for real files that have data allocated to them.
Specifies the number of data streams that are available for deleted files that have data allocated to them.
Specifies the current age of the oldest file, in ticks.
Specifies the number of data streams that are being used for compressed real files.
Specifies the number of data streams that are being used for compressed deleted files.
Specifies the number of data streams that were found and are not compressible (real and deleted).
Specifies the disk space that was allocated to all files before they were compressed (includes “hole” space).
Specifies that disk space that is being used by all compressed files.
Specifies the number of files that are migrated.
Specifies the number of sectors that are migrated.
Specifies the disk space that is being used by the FAT table, in clusters.
Specifies the disk space that is being used by directories, in clusters.
Specifies the disk space that is being used by the extended directory space, in clusters.
Specifies the total number of directories that are available on the volume.
Specifies the total number of directory entries that are unused on the volume.
Specifies the amount of extended directory space extants (128 bytes each) that are available on the volume.
Specifies the amount of extended directory space extants (128 bytes each) that are unused on the volume.
Specifies the number of extended attributes that are defined on the volume.
Specifies the number of extended directory extants that are used by the extended attributes.
Specifies the eDirectory ID for the volume.
Specifies the last time that any file or subdirectory within the volume was modified (as tracked by the OS).
Indicates whether the volume is currently mounted.
Specifies the total number of blocks in the volume.
Specifies the number of blocks that are free in the volume.
Specifies the size of block the volume is using.
Reserved for future use.