diff options
| author | sumuel <samuel@yakubos.org> | 2026-08-17 20:44:55 +0000 |
|---|---|---|
| committer | sumuel <samuel@yakubos.org> | 2026-08-17 20:44:55 +0000 |
| commit | 76424950e373d3b04ac3dd13019151bfba3e8423 (patch) | |
| tree | 4c3cfdbda039e592b9186be3e28f8d7cfd439e8a /src/detection/packages/packages.h | |
Add the files
Diffstat (limited to 'src/detection/packages/packages.h')
| -rw-r--r-- | src/detection/packages/packages.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h new file mode 100644 index 0000000..f0d4200 --- /dev/null +++ b/src/detection/packages/packages.h @@ -0,0 +1,72 @@ +#pragma once + +#include "fastfetch.h" +#include "modules/packages/option.h" + +typedef struct FFPackagesResult { + uint32_t amSystem; + uint32_t amUser; + uint32_t apk; + uint32_t appimage; + uint32_t brew; + uint32_t brewCask; + uint32_t cards; + uint32_t choco; + uint32_t dpkg; + uint32_t emerge; + uint32_t eopkg; + 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; + uint32_t lpkg; + uint32_t lpkgbuild; + uint32_t macports; + uint32_t moss; + uint32_t mport; + uint32_t nixDefault; + uint32_t nixSystem; + uint32_t nixUser; + uint32_t opkg; + uint32_t pacman; + uint32_t pacstall; + uint32_t paludis; + uint32_t pisi; + uint32_t pkg; + uint32_t pkgsrc; + uint32_t pkgtool; + uint32_t rpm; + uint32_t scoopGlobal; + uint32_t scoopUser; + uint32_t snap; + uint32_t soar; + uint32_t sorcery; + uint32_t winget; + uint32_t xbps; + + uint32_t all; // Make sure this goes last + + FFstrbuf pacmanBranch; +} FFPackagesResult; + +#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); + +#if defined(__linux__) || defined(__APPLE__) || defined(__GNU__) +uint32_t ffPackagesGetNix(FFstrbuf* baseDir, const char* dirname); +#endif +#ifndef _WIN32 +uint32_t ffPackagesGetNumElements(const char* dirname, bool isdir); +#endif |