CTOD(9) BSD 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.
BSD April 8, 2011 BSD
Check Out this Related Man Page
PARAM(3) BSD Library Functions Manual PARAM(3)NAME
param -- common parameters
SYNOPSIS
#include <sys/param.h>
size
MAX(size a, size b);
size
MIN(size a, size b);
DESCRIPTION
The <sys/param.h> header includes some common definitions and macros specific to NetBSD. The header is perhaps best characterized as a ker-
nel equivalent of <sys/types.h>. The following list summarizes the provided definitions and macros.
o First and foremost, the header defines the version of NetBSD. This is defined as
#define __NetBSD_Version__ 599004800 /* 5.99.48 */
The general format is ``MMmmrrpp00'', where 'MM' and 'mm' denote the major and minor version, respectively, 'rr' is provided for
compatibility, and 'pp' defines the patch level.
o Common utility macros such as MAX() and MIN() as well as more specific macros such as STACK(9), ctod(9), mstohz(9), roundup(9), and
setbit(9).
o Numerous miscellaneous definitions such as limits, constants for the kernel memoryallocators(9), scale factors used by the sched-
uler, kthread(9) priorities, and many others.
o Definitions provided for historical and compatibility reasons. Examples range from definitions such as ``#define BSD'' to old pri-
ority levels used in the kernel.
SEE ALSO bitops(3), cdefs(3), types(3), unistd(3)HISTORY
A <param.h> header appeared already in the Version 4 AT&T UNIX.
BSD April 10, 2011 BSD