CTOD(9) Kernel Developer's Manual CTOD(9)

NAME

ctodmacros related to bytes, pages, and disk blocks

SYNOPSIS

#include <sys/param.h>

size
ctod(size x);

size
dtoc(size x);

size
ctob(size x);

size
btoc(size x);

size
dbtob(size x);

size
btodb(size x);

DESCRIPTION

The ctod family of macros can be used to convert between bytes, pages (“clicks”), and disk blocks.

The following table lists the possible conversions:

Macro From To
ctod() pages disk blocks
dtoc() disk blocks pages
ctob() pages bytes
btoc() bytes pages
dbtob() disk blocks bytes
btodb() bytes disk blocks

These are typical macros that may appear with different names in other operating systems. Examples include btop() and btopr() in Solaris.

SEE ALSO

param(3)

HISTORY

Some of these macros appeared in Version 7 AT&T UNIX.

CAVEATS

The described macros make no assumptions about the type of the input parameter. A caller should ensure that neither integer overflow nor integer underflow are possible.
April 8, 2011 NetBSD 6.1