aos/tools/fastmodels/util.h
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

29 lines
803 B
C

/*
* Copyright (c) 2015,2016, ETH Zuerich.
* All rights reserved.
*
* This file is distributed under the terms in the attached LICENSE file.
* If you do not find this file, copies can be found by writing to:
* ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
*/
#ifndef __UTIL_H
#define __UTIL_H
#include <string.h>
#define COVER(x, y) (((x) + ((y)-1)) / (y))
#define ROUNDUP(x, y) (COVER(x,y) * (y))
#define PAGE_4k (1<<12)
#define roundpage(x) COVER((x), PAGE_4k)
/* Copy a base+length string into a null-terminated string. Destination
* buffer must be large enough to hold the terminator i.e. n+1 characters. */
static inline void
ntstring(char *dest, const char *src, size_t len) {
memcpy(dest, src, len);
dest[len]= '\0';
}
#endif /* __UTIL_H */