2022-09-04 22:20:12 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "fastfetch.h"
|
|
|
|
|
|
|
|
|
|
#define FF_CPU_TEMP_UNSET (0/0.0)
|
|
|
|
|
|
2024-05-18 09:58:04 +08:00
|
|
|
typedef struct FFCPUCore
|
|
|
|
|
{
|
|
|
|
|
uint32_t freq;
|
|
|
|
|
uint32_t count;
|
|
|
|
|
} FFCPUCore;
|
|
|
|
|
|
2022-09-04 22:20:12 +02:00
|
|
|
typedef struct FFCPUResult
|
|
|
|
|
{
|
|
|
|
|
FFstrbuf name;
|
|
|
|
|
FFstrbuf vendor;
|
|
|
|
|
|
|
|
|
|
uint16_t coresPhysical;
|
|
|
|
|
uint16_t coresLogical;
|
|
|
|
|
uint16_t coresOnline;
|
|
|
|
|
|
2024-07-17 10:56:30 +08:00
|
|
|
uint32_t frequencyBase; // GHz
|
|
|
|
|
uint32_t frequencyMax; // GHz
|
|
|
|
|
uint32_t frequencyBiosLimit; // GHz
|
2022-09-04 22:20:12 +02:00
|
|
|
|
2024-05-19 18:23:18 +08:00
|
|
|
FFCPUCore coreTypes[16]; // number of P cores, E cores, etc.
|
2024-05-17 16:14:35 +08:00
|
|
|
|
2022-09-04 22:20:12 +02:00
|
|
|
double temperature;
|
|
|
|
|
} FFCPUResult;
|
|
|
|
|
|
2023-06-24 10:59:53 +08:00
|
|
|
const char* ffDetectCPU(const FFCPUOptions* options, FFCPUResult* cpu);
|
2024-04-18 16:41:19 +08:00
|
|
|
const char* ffCPUAppleCodeToName(uint32_t code);
|