From 80a67b7d20393a29aa5d2cb92197f3381be7fd96 Mon Sep 17 00:00:00 2001 From: turret Date: Sat, 30 Mar 2024 16:04:45 -0500 Subject: *: directory changes since this project is a skeleton and not meant to clutter up the code that will actually consume the bot, i've opted to consolidate the majority of files under a single directory and minimise extra files *: move code to util/ *: move include files to include/dbs/ net: consolidate net functions into single file config: remove config --- include/api.h | 35 --------------------------- include/config.h | 4 ---- include/dbs/api.h | 30 +++++++++++++++++++++++ include/dbs/init.h | 23 ++++++++++++++++++ include/dbs/log.h | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ include/dbs/subsys.h | 12 ++++++++++ include/dbs/util.h | 3 +++ include/init.h | 23 ------------------ include/log.h | 67 ---------------------------------------------------- include/subsys.h | 7 ------ include/util.h | 3 --- 11 files changed, 135 insertions(+), 139 deletions(-) delete mode 100644 include/api.h delete mode 100644 include/config.h create mode 100644 include/dbs/api.h create mode 100644 include/dbs/init.h create mode 100644 include/dbs/log.h create mode 100644 include/dbs/subsys.h create mode 100644 include/dbs/util.h delete mode 100644 include/init.h delete mode 100644 include/log.h delete mode 100644 include/subsys.h delete mode 100644 include/util.h (limited to 'include') diff --git a/include/api.h b/include/api.h deleted file mode 100644 index a70d447..0000000 --- a/include/api.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __API_H -#define __API_H -#define _Nullable - -typedef enum { - HTTP_GET, - HTTP_POST, - HTTP_PUT, - HTTP_DELETE, - HTTP_PATCH -} HTTPMethod; - -#ifndef __API_INTERNAL - -int http_request(HTTPMethod method, char *url, - struct curl_slist *_Nullable headers, char *writebuf, size_t bufsiz); - -int api_request(HTTPMethod method, char * url, - struct curl_slist *_Nullable headers, char *writebuf, size_t bufsiz); - -#endif - -#define http_get(...) http_request(HTTP_GET, __VA_ARGS__) -#define http_post(...) http_request(HTTP_POST, __VA_ARGS__) -#define http_put(...) http_request(HTTP_PUT, __VA_ARGS__) -#define http_delete(...) http_request(HTTP_DELETE, __VA_ARGS__) -#define http_patch(...) http_request(HTTP_PATCH, __VA_ARGS__) - -#define api_get(...) api_request(HTTP_GET, __VA_ARGS__) -#define api_post(...) api_request(HTTP_POST, __VA_ARGS__) -#define api_put(...) api_request(HTTP_PUT, __VA_ARGS__) -#define api_delete(...) api_request(HTTP_DELETE, __VA_ARGS__) -#define api_patch(...) api_request(HTTP_PATCH, __VA_ARGS__) - -#endif diff --git a/include/config.h b/include/config.h deleted file mode 100644 index 4254edc..0000000 --- a/include/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#define VERSION "0.0.1" -#define NAME_SHORTHAND "TCDBF" -#define NAME "turret.'s C Discord Bot Framework" - diff --git a/include/dbs/api.h b/include/dbs/api.h new file mode 100644 index 0000000..d421f08 --- /dev/null +++ b/include/dbs/api.h @@ -0,0 +1,30 @@ +#ifndef __API_H +#define __API_H + +typedef enum { + HTTP_GET, + HTTP_POST, + HTTP_PUT, + HTTP_DELETE, + HTTP_PATCH +} HTTPMethod; + +int http_request(HTTPMethod method, char *url, + struct curl_slist *headers, char *writebuf, size_t bufsiz); + +int api_request(HTTPMethod method, char * url, + struct curl_slist *headers, char *writebuf, size_t bufsiz); + +#define http_get(...) http_request(HTTP_GET, __VA_ARGS__) +#define http_post(...) http_request(HTTP_POST, __VA_ARGS__) +#define http_put(...) http_request(HTTP_PUT, __VA_ARGS__) +#define http_delete(...) http_request(HTTP_DELETE, __VA_ARGS__) +#define http_patch(...) http_request(HTTP_PATCH, __VA_ARGS__) + +#define api_get(...) api_request(HTTP_GET, __VA_ARGS__) +#define api_post(...) api_request(HTTP_POST, __VA_ARGS__) +#define api_put(...) api_request(HTTP_PUT, __VA_ARGS__) +#define api_delete(...) api_request(HTTP_DELETE, __VA_ARGS__) +#define api_patch(...) api_request(HTTP_PATCH, __VA_ARGS__) + +#endif diff --git a/include/dbs/init.h b/include/dbs/init.h new file mode 100644 index 0000000..79e60f1 --- /dev/null +++ b/include/dbs/init.h @@ -0,0 +1,23 @@ +#ifndef __INIT_H +#define __INIT_H + +typedef void (*initcall_t)(void); +typedef initcall_t initcall_entry_t; + +#define __define_initcall(fn, id) \ + static initcall_t __initcall_##fn##id \ + __attribute__((used)) \ + __attribute__((section(".initcall" #id ".init"))) = fn + +#define l1_initcall(fn) __define_initcall(fn, 1) +#define l2_initcall(fn) __define_initcall(fn, 2) +#define l3_initcall(fn) __define_initcall(fn, 3) +#define l4_initcall(fn) __define_initcall(fn, 4) +#define l5_initcall(fn) __define_initcall(fn, 5) + +static inline initcall_t initcall_from_entry(initcall_entry_t *entry) +{ + return *entry; +} + +#endif diff --git a/include/dbs/log.h b/include/dbs/log.h new file mode 100644 index 0000000..30fec81 --- /dev/null +++ b/include/dbs/log.h @@ -0,0 +1,67 @@ +#define LOG_SOH "\001" +#define LOG_SOH_ASCII '\001' + +#define EMERG_LOGLEVEL 0 +#define ALERT_LOGLEVEL 1 +#define CRIT_LOGLEVEL 2 +#define ERR_LOGLEVEL 3 +#define WARNING_LOGLEVEL 4 +#define NOTICE_LOGLEVEL 5 +#define INFO_LOGLEVEL 6 +#define DEBUG_LOGLEVEL 7 + +#define DEFAULT_LOGLEVEL NOTICE_LOGLEVEL +#define CONSOLE_LOGLEVEL DEBUG_LOGLEVEL + +#define LOG_EMERG LOG_SOH "\1" "0" +#define LOG_ALERT LOG_SOH "\1" "1" +#define LOG_CRIT LOG_SOH "\1" "2" +#define LOG_ERR LOG_SOH "\1" "3" +#define LOG_WARNING LOG_SOH "\1" "4" +#define LOG_NOTICE LOG_SOH "\1" "5" +#define LOG_INFO LOG_SOH "\1" "6" +#define LOG_DEBUG LOG_SOH "\1" "7" + +#define LOG_DEFAULT "" + +int print(const char *fmt, ...); + +#define PANICMODE_DEBUGONLY 'o' +#define PANICMODE_RESPAWN 'r' +#define PANICMODE_DIE 'd' + +#define PANIC_OOPS LOG_SOH "o" +#define PANIC_RESPAWN LOG_SOH "r" +#define PANIC_PANIC LOG_SOH "d" + +#define PANIC_DEFAULT PANIC_PANIC + +void _panic(const char *fileorigin, const int lineorigin, const char *fmt, ...); +#define panic(...) _panic(__FILE__, __LINE__, __VA_ARGS__) +#define oops(...) _panic(__FILE__, __LINE__, PANIC_OOPS __VA_ARGS__) + +#define ANSI_CSI "\x1b[" + +#define ANSI_BOLD ANSI_CSI "1m" +#define ANSI_ITALIC ANSI_CSI "3m" +#define ANSI_BLINK ANSI_CSI "5m" +#define ANSI_REVERSE ANSI_CSI "7m" +#define ANSI_RESET ANSI_CSI "0m" + +#define ANSI_BLACK ANSI_CSI "30m" +#define ANSI_RED ANSI_CSI "31m" +#define ANSI_GREEN ANSI_CSI "32m" +#define ANSI_YELLOW ANSI_CSI "33m" +#define ANSI_BLUE ANSI_CSI "34m" +#define ANSI_MAGENTA ANSI_CSI "35m" +#define ANSI_CYAN ANSI_CSI "36m" +#define ANSI_WHITE ANSI_CSI "37m" + +#define ANSI_BRIGHT_BLACK ANSI_CSI "90m" +#define ANSI_BRIGHT_RED ANSI_CSI "91m" +#define ANSI_BRIGHT_GREEN ANSI_CSI "92m" +#define ANSI_BRIGHT_YELLOW ANSI_CSI "93m" +#define ANSI_BRIGHT_BLUE ANSI_CSI "94m" +#define ANSI_BRIGHT_MAGENTA ANSI_CSI "95m" +#define ANSI_BRIGHT_CYAN ANSI_CSI "96m" +#define ANSI_BRIGHT_WHITE ANSI_CSI "97m" diff --git a/include/dbs/subsys.h b/include/dbs/subsys.h new file mode 100644 index 0000000..1885a80 --- /dev/null +++ b/include/dbs/subsys.h @@ -0,0 +1,12 @@ +#ifndef __SUBSYS_H +#define __SUBSYS_H + +int __impl_start_subsystem(char *name, int (*fn)(void)); +#define start_subsystem(fn) __impl_start_subsystem(#fn, fn) +#define declare_subsystem(fn) \ + void subsys_start_##fn(void) { \ + start_subsystem(fn); \ + } \ + l5_initcall(subsys_start_##fn) + +#endif diff --git a/include/dbs/util.h b/include/dbs/util.h new file mode 100644 index 0000000..bad4a33 --- /dev/null +++ b/include/dbs/util.h @@ -0,0 +1,3 @@ +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + +#define writeputs(str) write(STDOUT_FILENO, str, strlen(str)); diff --git a/include/init.h b/include/init.h deleted file mode 100644 index 79e60f1..0000000 --- a/include/init.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef __INIT_H -#define __INIT_H - -typedef void (*initcall_t)(void); -typedef initcall_t initcall_entry_t; - -#define __define_initcall(fn, id) \ - static initcall_t __initcall_##fn##id \ - __attribute__((used)) \ - __attribute__((section(".initcall" #id ".init"))) = fn - -#define l1_initcall(fn) __define_initcall(fn, 1) -#define l2_initcall(fn) __define_initcall(fn, 2) -#define l3_initcall(fn) __define_initcall(fn, 3) -#define l4_initcall(fn) __define_initcall(fn, 4) -#define l5_initcall(fn) __define_initcall(fn, 5) - -static inline initcall_t initcall_from_entry(initcall_entry_t *entry) -{ - return *entry; -} - -#endif diff --git a/include/log.h b/include/log.h deleted file mode 100644 index 30fec81..0000000 --- a/include/log.h +++ /dev/null @@ -1,67 +0,0 @@ -#define LOG_SOH "\001" -#define LOG_SOH_ASCII '\001' - -#define EMERG_LOGLEVEL 0 -#define ALERT_LOGLEVEL 1 -#define CRIT_LOGLEVEL 2 -#define ERR_LOGLEVEL 3 -#define WARNING_LOGLEVEL 4 -#define NOTICE_LOGLEVEL 5 -#define INFO_LOGLEVEL 6 -#define DEBUG_LOGLEVEL 7 - -#define DEFAULT_LOGLEVEL NOTICE_LOGLEVEL -#define CONSOLE_LOGLEVEL DEBUG_LOGLEVEL - -#define LOG_EMERG LOG_SOH "\1" "0" -#define LOG_ALERT LOG_SOH "\1" "1" -#define LOG_CRIT LOG_SOH "\1" "2" -#define LOG_ERR LOG_SOH "\1" "3" -#define LOG_WARNING LOG_SOH "\1" "4" -#define LOG_NOTICE LOG_SOH "\1" "5" -#define LOG_INFO LOG_SOH "\1" "6" -#define LOG_DEBUG LOG_SOH "\1" "7" - -#define LOG_DEFAULT "" - -int print(const char *fmt, ...); - -#define PANICMODE_DEBUGONLY 'o' -#define PANICMODE_RESPAWN 'r' -#define PANICMODE_DIE 'd' - -#define PANIC_OOPS LOG_SOH "o" -#define PANIC_RESPAWN LOG_SOH "r" -#define PANIC_PANIC LOG_SOH "d" - -#define PANIC_DEFAULT PANIC_PANIC - -void _panic(const char *fileorigin, const int lineorigin, const char *fmt, ...); -#define panic(...) _panic(__FILE__, __LINE__, __VA_ARGS__) -#define oops(...) _panic(__FILE__, __LINE__, PANIC_OOPS __VA_ARGS__) - -#define ANSI_CSI "\x1b[" - -#define ANSI_BOLD ANSI_CSI "1m" -#define ANSI_ITALIC ANSI_CSI "3m" -#define ANSI_BLINK ANSI_CSI "5m" -#define ANSI_REVERSE ANSI_CSI "7m" -#define ANSI_RESET ANSI_CSI "0m" - -#define ANSI_BLACK ANSI_CSI "30m" -#define ANSI_RED ANSI_CSI "31m" -#define ANSI_GREEN ANSI_CSI "32m" -#define ANSI_YELLOW ANSI_CSI "33m" -#define ANSI_BLUE ANSI_CSI "34m" -#define ANSI_MAGENTA ANSI_CSI "35m" -#define ANSI_CYAN ANSI_CSI "36m" -#define ANSI_WHITE ANSI_CSI "37m" - -#define ANSI_BRIGHT_BLACK ANSI_CSI "90m" -#define ANSI_BRIGHT_RED ANSI_CSI "91m" -#define ANSI_BRIGHT_GREEN ANSI_CSI "92m" -#define ANSI_BRIGHT_YELLOW ANSI_CSI "93m" -#define ANSI_BRIGHT_BLUE ANSI_CSI "94m" -#define ANSI_BRIGHT_MAGENTA ANSI_CSI "95m" -#define ANSI_BRIGHT_CYAN ANSI_CSI "96m" -#define ANSI_BRIGHT_WHITE ANSI_CSI "97m" diff --git a/include/subsys.h b/include/subsys.h deleted file mode 100644 index 1515293..0000000 --- a/include/subsys.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __SUBSYS_H -#define __SUBSYS_H - -int __impl_start_subsystem(char *name, int (*fn)(void)); -#define start_subsystem(fn) __impl_start_subsystem(#fn, fn) - -#endif diff --git a/include/util.h b/include/util.h deleted file mode 100644 index bad4a33..0000000 --- a/include/util.h +++ /dev/null @@ -1,3 +0,0 @@ -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) - -#define writeputs(str) write(STDOUT_FILENO, str, strlen(str)); -- cgit v1.2.3