aboutsummaryrefslogtreecommitdiff
path: root/include/cfetch.h
blob: d8a6f92de7885b99f9a1b970e22cdf7ce48df27f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef CFETCH_H
#define CFETCH_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_ASCII_LINES 50
#define MAX_ASCII_WIDTH 256


/* System information structure */

typedef struct system_info_t{
    char user[64];
    char kernel[64];
    char memory[64];
    char cpu[64];
} system_info_t;

typedef struct {
    char lines[MAX_ASCII_LINES][MAX_ASCII_WIDTH];
} ascii_art_t;

typedef struct distro_mapping_t 
{
    const char *distro_pattern;
    const char *ascii_file;
} distro_mapping_t;

/* System info functions */

void print_ascii_art(system_info_t *info, int art);
void get_cpu(system_info_t *info);
void get_memory(system_info_t *info);
void get_os(system_info_t *info);


/* Util functions */

char *string_format(char *string);
char *concat(const char *str1, const char *str2);

#endif /* CFETCH_H */