2022-09-23 19:45:23 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "fastfetch.h"
|
2025-08-04 14:25:14 +08:00
|
|
|
#include "modules/disk/option.h"
|
2022-09-23 19:45:23 +08:00
|
|
|
|
2025-09-18 14:51:00 +08:00
|
|
|
#ifdef _WIN32
|
2026-04-15 16:16:46 +08:00
|
|
|
#define FF_DISK_FOLDER_SEPARATOR ';'
|
2025-09-18 14:51:00 +08:00
|
|
|
#else
|
2026-04-15 16:16:46 +08:00
|
|
|
#define FF_DISK_FOLDER_SEPARATOR ':'
|
2025-09-18 14:51:00 +08:00
|
|
|
#endif
|
|
|
|
|
|
2026-03-29 09:28:49 +08:00
|
|
|
typedef struct FFDisk {
|
2023-09-17 20:08:46 +08:00
|
|
|
FFstrbuf mountFrom;
|
2022-10-17 13:19:48 +02:00
|
|
|
FFstrbuf mountpoint;
|
|
|
|
|
FFstrbuf filesystem;
|
2022-10-18 18:39:28 +08:00
|
|
|
FFstrbuf name;
|
2023-08-26 09:32:19 +08:00
|
|
|
FFDiskVolumeType type;
|
2022-10-17 13:19:48 +02:00
|
|
|
|
2023-08-26 10:36:00 +08:00
|
|
|
uint64_t bytesFree;
|
2022-10-17 13:19:48 +02:00
|
|
|
uint64_t bytesTotal;
|
|
|
|
|
|
|
|
|
|
uint32_t filesUsed;
|
|
|
|
|
uint32_t filesTotal;
|
2024-04-09 15:15:33 +08:00
|
|
|
|
|
|
|
|
uint64_t createTime;
|
2022-10-17 13:19:48 +02:00
|
|
|
} FFDisk;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns a List of FFDisk, sorted alphabetically by mountpoint.
|
|
|
|
|
* If error is not set, disks contains at least one disk.
|
|
|
|
|
*/
|
2023-11-17 22:38:09 +01:00
|
|
|
const char* ffDetectDisks(FFDiskOptions* options, FFlist* disks /* list of FFDisk */);
|
2024-04-30 15:12:49 +08:00
|
|
|
|
|
|
|
|
const char* ffDetectDisksImpl(FFDiskOptions* options, FFlist* disks);
|
2025-11-06 13:39:30 +08:00
|
|
|
|
|
|
|
|
#ifndef _WIN32
|
|
|
|
|
bool ffDiskMatchesFolderPatterns(FFstrbuf* folders, const char* path, char separator);
|
|
|
|
|
#endif
|