3DSident/source/storage.c
Joel16 99fc2e4c58 Merge upstream changes from GUI
Basically cleaning up and making sure functions succeed before returning the result.
2017-09-15 11:16:13 -05:00

31 lines
817 B
C

#include "storage.h"
u64 getFreeStorage(FS_SystemMediaType mediaType)
{
FS_ArchiveResource resource = {0};
if (R_SUCCEEDED(FSUSER_GetArchiveResource(&resource, mediaType)))
return (((u64) resource.freeClusters * (u64) resource.clusterSize));
return 0;
}
u64 getTotalStorage(FS_SystemMediaType mediaType)
{
FS_ArchiveResource resource = {0};
if (R_SUCCEEDED(FSUSER_GetArchiveResource(&resource, mediaType)))
return (((u64) resource.totalClusters * (u64) resource.clusterSize));
return 0;
}
u64 getUsedStorage(FS_SystemMediaType mediaType)
{
FS_ArchiveResource resource = {0};
if (R_SUCCEEDED(FSUSER_GetArchiveResource(&resource, mediaType)))
return ((((u64) resource.totalClusters * (u64) resource.clusterSize)) - (((u64) resource.freeClusters * (u64) resource.clusterSize)));
return 0;
}