diff options
-rw-r--r-- | util.c | 16 | ||||
-rw-r--r-- | util.h | 1 |
2 files changed, 17 insertions, 0 deletions
@@ -201,3 +201,19 @@ err_close: fclose(f); return -1; } + +/* Returns end - start + 1, assuming start < end */ +u64 u64_range(u64 start, u64 end) +{ + u64 res; + + res.h = end.h - start.h; + res.l = end.l - start.l; + + if (end.l < start.l) + res.h--; + if (++res.l == 0) + res.h++; + + return res; +} @@ -27,3 +27,4 @@ int checksum(const u8 *buf, size_t len); void *mem_chunk(size_t base, size_t len, const char *devmem); int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add); +u64 u64_range(u64 start, u64 end); |