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 9.3