| ROUNDUP(9) | Kernel Developer's Manual | ROUNDUP(9) | 
NAME
 roundup — macros for counting and rounding
SYNOPSIS
 #include <sys/param.h>
size
howmany(x, size);
size
roundup(x, size);
size
rounddown(x, size);
size
roundup2(x, size);
int
powerof2(x);
 
DESCRIPTION
 The 
roundup() and 
rounddown() macros return an integer from rounding 
x up and down, respectively, to the next 
size. The 
howmany() macro in turn reveals how many times 
size fits into 
x, rounding the residual up.
The roundup2() macro also rounds up, but with the assumption that size is a power of two. If x is indeed a power of two, powerof2() return 1.
 
RETURN VALUES
 The return value is an integer from the respective operation. If x is 0, all macros except powerof2() return 0. The behavior is undefined if size is 0.
EXAMPLES
 The following example rounds the variable 
rx to a 32-bit boundary:
uint16_t rx; 
 
... 
 
rx = roundup2(rx, sizeof(uint32_t));
 
CAVEATS
 All described macros make no assumptions about the type of the parameters. These are implicitly assumed to be unsigned integers.