1.\" $NetBSD: ctod.9,v 1.4 2011/04/08 07:55:04 jruoho Exp $ 2.\" 3.\" Copyright (c) 2010 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Jukka Ruohonen. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd April 8, 2011 31.Dt CTOD 9 32.Os 33.Sh NAME 34.Nm ctod 35.Nd macros related to bytes, pages, and disk blocks 36.Sh SYNOPSIS 37.In sys/param.h 38.Ft size 39.Fn ctod "size x" 40.Ft size 41.Fn dtoc "size x" 42.Ft size 43.Fn ctob "size x" 44.Ft size 45.Fn btoc "size x" 46.Ft size 47.Fn dbtob "size x" 48.Ft size 49.Fn btodb "size x" 50.Sh DESCRIPTION 51The 52.Nm 53family of macros can be used to convert between bytes, pages 54.Pq Dq clicks , 55and disk blocks. 56.Pp 57The following table lists the possible conversions: 58.Bl -column -offset indent "disk blocks " "disk blocks " "disk blocks " 59.It Sy Macro Ta Sy From Ta Sy To 60.It Fn ctod Ta pages Ta disk blocks 61.It Fn dtoc Ta disk blocks Ta pages 62.It Fn ctob Ta pages Ta bytes 63.It Fn btoc Ta bytes Ta pages 64.It Fn dbtob Ta disk blocks Ta bytes 65.It Fn btodb Ta bytes Ta disk blocks 66.El 67.Pp 68These are typical macros that may appear 69with different names in other operating systems. 70Examples include 71.Fn btop 72and 73.Fn btopr 74in Solaris. 75.Sh SEE ALSO 76.Xr param 3 77.Sh HISTORY 78Some of these macros appeared in 79.At v7 . 80.Sh CAVEATS 81The described macros make no assumptions 82about the type of the input parameter. 83A caller should ensure that neither 84integer overflow nor integer underflow are possible. 85