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

# NAME

ctod — macros 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 7.2