From 84044f9c7330e7eff485b82cfa9c93f9e17e5383 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 22 Jul 2013 14:16:38 +0200 Subject: utils: add round_up/down() helper functions --- src/libstrongswan/utils/utils.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/libstrongswan/utils/utils.h') diff --git a/src/libstrongswan/utils/utils.h b/src/libstrongswan/utils/utils.h index 0e103de9c..d055f712d 100644 --- a/src/libstrongswan/utils/utils.h +++ b/src/libstrongswan/utils/utils.h @@ -670,6 +670,29 @@ static inline u_int64_t untoh64(void *network) #endif } +/** + * Round up size to be multiple of alignement + */ +static inline size_t round_up(size_t size, int alignement) +{ + int remainder; + + remainder = size % alignement; + if (remainder) + { + size += alignement - remainder; + } + return size; +} + +/** + * Round down size to be a multiple of alignement + */ +static inline size_t round_down(size_t size, int alignement) +{ + return size - (size % alignement); +} + /** * Special type to count references */ -- cgit v1.2.3