cOMS/system/SystemInfo.h
Dennis Eichhorn 39fbcf4300
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (autobuild, c-cpp) (push) Waiting to run
Microsoft C++ Code Analysis / Analyze (push) Waiting to run
linux bug fixes
2025-03-22 01:10:19 +00:00

84 lines
1.2 KiB
C
Executable File

/**
* Jingga
*
* @copyright Jingga
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
#ifndef COMS_SYSTEM_INFO_H
#define COMS_SYSTEM_INFO_H
#include "../stdlib/Types.h"
#include "../architecture/CpuInfo.h"
// @todo add vendor name
struct MainboardInfo {
char name[64];
char serial_number[64];
};
// @todo add ipv6
struct NetworkInfo {
char slot[64];
byte mac[24];
};
struct OSInfo {
char vendor[16];
char name[64];
int32 major;
int32 minor;
};
struct RamInfo {
uint32 memory;
};
struct GpuInfo {
char name[64];
uint32 vram;
};
struct DisplayInfo {
char name[64];
int32 width;
int32 height;
int32 hz;
bool is_primary;
};
struct SystemInfo {
OSInfo os;
MainboardInfo mainboard;
NetworkInfo network[4];
int32 network_count;
CpuInfo cpu;
RamInfo ram;
GpuInfo gpu[3];
int32 gpu_count;
DisplayInfo display[6];
int32 display_count;
int32 language;
};
enum RamChannelType {
RAM_CHANNEL_TYPE_FAILED,
RAM_CHANNEL_TYPE_SINGLE_CHANNEL,
RAM_CHANNEL_TYPE_CAN_UPGRADE,
RAM_CHANNEL_TYPE_DUAL_CHANNEL,
};
enum DriveType {
DRIVE_TYPE_UNKNOWN,
DRIVE_TYPE_NVME,
DRIVE_TYPE_SSD,
DRIVE_TYPE_HDD,
};
#endif