init
This commit is contained in:
commit
19991bee2a
44 changed files with 4799 additions and 0 deletions
71
include/pastfetch.h
Normal file
71
include/pastfetch.h
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
#ifndef pastfetch_H
|
||||
#define pastfetch_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define MAX_FLAVOR_LEN 32
|
||||
|
||||
typedef struct {
|
||||
char dos_flavor[MAX_FLAVOR_LEN];
|
||||
unsigned char dos_major;
|
||||
unsigned char dos_minor;
|
||||
unsigned char dos_revision;
|
||||
unsigned char dos_flags;
|
||||
char shell[64];
|
||||
char computer_model[64];
|
||||
char cpu[64];
|
||||
unsigned int conventional_kb;
|
||||
unsigned long extended_kb; // 16-bit int caps at 64 MB
|
||||
unsigned long disk_total_bytes;
|
||||
unsigned long disk_free_bytes;
|
||||
char display_mode[64];
|
||||
char display_adapter[64];
|
||||
char display_vbe[64];
|
||||
char palette_info[256];
|
||||
char ver_string[80];
|
||||
char logo_hint[32];
|
||||
int ansi_available;
|
||||
} SystemInfo;
|
||||
|
||||
// Growable array of owned strings; see src/util.
|
||||
typedef struct {
|
||||
char **items;
|
||||
size_t count;
|
||||
size_t capacity;
|
||||
} StringList;
|
||||
|
||||
typedef struct {
|
||||
int no_logo;
|
||||
char logo_override[32];
|
||||
int list_only;
|
||||
int prompt_fix;
|
||||
int force_ascii;
|
||||
int hard_exit;
|
||||
} RunOptions;
|
||||
|
||||
// util.c -- string helpers (all tolerate NULL)
|
||||
void str_copy(char *dest, size_t dest_len, const char *src);
|
||||
int str_equals_ci(const char *a, const char *b);
|
||||
int str_equals_ci_n(const char *a, const char *b, size_t len);
|
||||
int str_starts_ci(const char *text, const char *prefix);
|
||||
int str_ends_ci(const char *text, const char *suffix);
|
||||
const char *str_find_ci(const char *text, const char *needle);
|
||||
int str_has_ci(const char *text, const char *needle);
|
||||
|
||||
// util.c -- StringList
|
||||
void strlist_init(StringList *list);
|
||||
int strlist_add(StringList *list, const char *value);
|
||||
int strlist_addn(StringList *list, const char *value, size_t len);
|
||||
int strlist_adopt(StringList *list, char *owned);
|
||||
void strlist_remove(StringList *list, size_t index);
|
||||
void strlist_free(StringList *list);
|
||||
|
||||
// detect.c
|
||||
void detect_system(SystemInfo *info, StringList *drivers);
|
||||
|
||||
// render.c
|
||||
void render_system(const SystemInfo *info, const StringList *drivers, const RunOptions *options);
|
||||
void list_available_logos(void);
|
||||
int logo_name_exists(const char *name, char *normalized, size_t normalized_len);
|
||||
|
||||
#endif // pastfetch_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue