From 9eaa07a4b141bc80a46cb7ab2dc94048f126fa8c Mon Sep 17 00:00:00 2001 From: William McKinnon Date: Tue, 11 Jul 2023 00:44:26 -0400 Subject: added more scene dependencies, added tinywl --- include/util/array.h | 18 ++++++++++++++++++ include/util/env.h | 11 +++++++++++ include/util/time.h | 27 +++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 include/util/array.h create mode 100644 include/util/env.h create mode 100644 include/util/time.h (limited to 'include/util') diff --git a/include/util/array.h b/include/util/array.h new file mode 100644 index 0000000..a51bdb6 --- /dev/null +++ b/include/util/array.h @@ -0,0 +1,18 @@ +#ifndef UTIL_ARRAY_H +#define UTIL_ARRAY_H + +#include +#include +#include + +/** + * Remove a chunk of memory of the specified size at the specified offset. + */ +void array_remove_at(struct wl_array *arr, size_t offset, size_t size); + +/** + * Grow or shrink the array to fit the specifized size. + */ +bool array_realloc(struct wl_array *arr, size_t size); + +#endif diff --git a/include/util/env.h b/include/util/env.h new file mode 100644 index 0000000..6720fa8 --- /dev/null +++ b/include/util/env.h @@ -0,0 +1,11 @@ +#ifndef UTIL_ENV_H +#define UTIL_ENV_H + +#include +#include + +bool env_parse_bool(const char *option); + +ssize_t env_parse_switch(const char *option, const char **switches); + +#endif diff --git a/include/util/time.h b/include/util/time.h new file mode 100644 index 0000000..287698d --- /dev/null +++ b/include/util/time.h @@ -0,0 +1,27 @@ +#ifndef UTIL_TIME_H +#define UTIL_TIME_H + +#include + +/** + * Get the current time, in milliseconds. + */ +uint32_t get_current_time_msec(void); + +/** + * Convert a timespec to milliseconds. + */ +int64_t timespec_to_msec(const struct timespec *a); + +/** + * Convert nanoseconds to a timespec. + */ +void timespec_from_nsec(struct timespec *r, int64_t nsec); + +/** + * Subtracts timespec `b` from timespec `a`, and stores the difference in `r`. + */ +void timespec_sub(struct timespec *r, const struct timespec *a, + const struct timespec *b); + +#endif -- cgit v1.2.3