Files
fastfetch/src/detection/packages/packages.h
T

73 lines
2.0 KiB
C
Raw Normal View History

2022-10-08 17:41:25 +08:00
#pragma once
#include "fastfetch.h"
#include "modules/packages/option.h"
2022-10-08 17:41:25 +08:00
2026-03-29 09:28:49 +08:00
typedef struct FFPackagesResult {
2025-01-08 09:44:45 +08:00
uint32_t amSystem;
uint32_t amUser;
2022-10-13 21:43:31 +02:00
uint32_t apk;
uint32_t appimage;
2022-10-13 21:43:31 +02:00
uint32_t brew;
uint32_t brewCask;
uint32_t cards;
2022-10-23 22:16:12 +08:00
uint32_t choco;
2022-10-08 17:41:25 +08:00
uint32_t dpkg;
uint32_t emerge;
2022-12-27 17:36:58 +08:00
uint32_t eopkg;
2023-03-24 17:47:03 +08:00
uint32_t flatpakSystem;
uint32_t flatpakUser;
uint32_t guixHome;
uint32_t guixSystem;
uint32_t guixUser;
uint32_t hpkgSystem;
uint32_t hpkgUser;
uint32_t kiss;
uint32_t linglong;
2024-05-16 22:19:26 -03:00
uint32_t lpkg;
uint32_t lpkgbuild;
2024-11-10 23:32:22 +08:00
uint32_t macports;
2026-02-22 22:33:27 +08:00
uint32_t moss;
uint32_t mport;
2022-10-08 17:41:25 +08:00
uint32_t nixDefault;
2022-10-13 21:43:31 +02:00
uint32_t nixSystem;
uint32_t nixUser;
2023-10-07 14:02:16 +08:00
uint32_t opkg;
2022-10-13 21:43:31 +02:00
uint32_t pacman;
2024-11-10 11:35:27 +08:00
uint32_t pacstall;
2023-07-20 16:43:29 +01:00
uint32_t paludis;
uint32_t pisi;
2022-10-08 17:41:25 +08:00
uint32_t pkg;
2025-01-17 10:39:41 +08:00
uint32_t pkgsrc;
2023-07-03 23:18:36 +08:00
uint32_t pkgtool;
2022-10-13 21:43:31 +02:00
uint32_t rpm;
uint32_t scoopGlobal;
uint32_t scoopUser;
2022-10-13 21:43:31 +02:00
uint32_t snap;
uint32_t soar;
uint32_t sorcery;
uint32_t winget;
2022-10-13 21:43:31 +02:00
uint32_t xbps;
2022-10-08 17:41:25 +08:00
2026-03-29 09:28:49 +08:00
uint32_t all; // Make sure this goes last
2022-10-23 22:16:12 +08:00
2022-10-08 17:41:25 +08:00
FFstrbuf pacmanBranch;
2022-10-13 21:43:31 +02:00
} FFPackagesResult;
2022-10-08 17:41:25 +08:00
#if FF_PACKAGES_REMOVE_DISABLED
#define FF_PACKAGES_IS_ENABLED(options, pkgName) ({ (void) options; !((FF_PACKAGES_DISABLE_LIST) & (FF_PACKAGES_FLAG_ ## pkgName ## _BIT)); })
#else
#define FF_PACKAGES_IS_ENABLED(options, pkgName) (!((options)->disabled & (FF_PACKAGES_FLAG_ ## pkgName ## _BIT)))
#endif
const char* ffDetectPackages(FFPackagesResult* result, FFPackagesOptions* options);
bool ffPackagesReadCache(FFstrbuf* cacheDir, FFstrbuf* cacheContent, const char* filePath, const char* packageId, uint32_t* result);
bool ffPackagesWriteCache(FFstrbuf* cacheDir, FFstrbuf* cacheContent, uint32_t num_elements);
2025-01-17 10:39:41 +08:00
2025-08-24 19:35:33 +08:00
#if defined(__linux__) || defined(__APPLE__) || defined(__GNU__)
uint32_t ffPackagesGetNix(FFstrbuf* baseDir, const char* dirname);
#endif
2025-01-17 10:39:41 +08:00
#ifndef _WIN32
2025-01-17 15:01:23 +08:00
uint32_t ffPackagesGetNumElements(const char* dirname, bool isdir);
2025-01-17 10:39:41 +08:00
#endif