kfetch/include/fetch.h
2024-01-03 15:09:07 +03:00

51 lines
1.3 KiB
C

#ifndef _FETCH_H
#define _FETCH_H
#include <time.h>
#include <sys/utsname.h>
#if defined(CLOCK_BOOTTIME)
#define CLOCK CLOCK_BOOTTIME
#elif defined(CLOCK_UPTIME)
#define CLOCK CLOCK_UPTIME
#elif defined(__APPLE__)
#define CLOCK CLOCK_MONOTONIC
#endif
#define OS_SIZE 128
#define MODEL_BUFF_SIZE 512
static const char *MODELS[] = {
"/sys/devices/virtual/dmi/id/product_name",
"/sys/devices/virtual/dmi/id/product_version",
"/sys/firmware/devicetree/base/model"
};
typedef struct {
char os_name[OS_SIZE + 1];
struct utsname uts;
char *pkg_cmd;
char *color;
char *font_color;
size_t logo_size;
char **logo;
} FETCH;
FETCH Init(void);
int GetOs(char *os_name, size_t len);
void GetArt(FETCH *fetch, int flag);
int GetKernel(const char *title, const FETCH fetch);
int PrintOs(const char *title, const FETCH fetch);
int Blank(const char *title, const FETCH fetch);
int GetUser(const char *title, const FETCH fetch);
int GetUptime(const char *title, const FETCH fetch);
int GetArch(const char *title, const FETCH fetch);
int GetShell(const char *title, const FETCH fetch);
int GetPkg(const char *title, const FETCH fetch);
int GetMem(const char *title, const FETCH fetch);
int GetModel(const char *title, const FETCH fetch);
int GetHostname(const char *title, const FETCH fetch);
int GetAVG(const char *title, const FETCH fetch);
#endif