From 44cff01e5bbe04ff991ede843e96f0c2d83d20c6 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 19 Sep 2024 18:03:17 +0200 Subject: Split into multiple C files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- common.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 common.h (limited to 'common.h') diff --git a/common.h b/common.h new file mode 100644 index 0000000..875375c --- /dev/null +++ b/common.h @@ -0,0 +1,57 @@ +/* See LICENSE file for copyright and license details. */ +#include +#include +#include + + +#define NANOSECONDS(X) X##L +#define MICROSECONDS(X) NANOSECONDS(X##000) +#define MILLISECONDS(X) MICROSECONDS(X##000) +#define CENTISECONDS(X) MILLISECONDS(X##0) +#define DECISECONDS(X) CENTISECONDS(X##0) +#define WHOLE_SECOND DECISECONDS(10) + + +enum direction { + FORWARDS = 0, + BACKWARDS = 1 +}; + +struct span { + off_t start; + off_t end; + off_t bad; + size_t blocksize; +}; + + +/* io.c */ +off_t filesize(int fd, const char *fname); + +/* fmt.c */ +const char *humansize1000(off_t s, char *buf); +const char *humansize1024(off_t s, char *buf); +#if defined(__GNUC__) +__attribute__((__pure__)) +#endif +off_t unhumansize(const char *s, char flag); +const char *durationstr(const struct timespec *dur, char *buf, int second_decimals); +const char *humanbytespersecond(double bytes_per_second, char *buf); + +/* text.c */ +int have_micro_symbol(void); + +/* avg.c */ +void wravg_init(const struct timespec *start_time); +void wravg_update_write(ssize_t amount); +void wravg_update_time(const struct timespec *now); +const char *wravg_get(const struct timespec *now); + +/* rnd.c */ +#if defined(__GNUC__) +__attribute__((__const__)) +#endif +size_t max_blksize(void); +void init_random(int fd, const char *fname); +const char *get_random(size_t needed); +void used_random(ssize_t amount); -- cgit v1.2.3-70-g09d2