xref: /netbsd/share/man/man9/mstohz.9 (revision 6550d01e)
1.\"	$NetBSD: mstohz.9,v 1.8 2010/07/01 15:06:55 jruoho Exp $
2.\"
3.\" Copyright (c) 2002 Manuel Bouyer.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\"
27.Dd July 1, 2010
28.Dt MSTOHZ 9
29.Os
30.Sh NAME
31.Nm mstohz ,
32.Nm hztoms
33.Nd convert between milliseconds and system clock ticks
34.Sh SYNOPSIS
35.In sys/param.h
36.Ft int
37.Fn mstohz "int ms"
38.Ft int
39.Fn hztoms "int hz"
40.Sh DESCRIPTION
41The
42.Fn mstohz
43macro can be used to convert time
44in milliseconds to system clock ticks, as used
45by the
46.Xr callout 9
47facility, in an integer-overflow safe way.
48Conversely,
49.Fn hztoms
50converts system clock ticks to milliseconds.
51.Pp
52These macros are defined in the
53.Em \*[Lt]sys/param.h\*[Gt]
54header.
55Individual ports can have a processor-specific, more efficient
56version implemented in their
57.Em \*[Lt]machine/param.h\*[Gt]
58header as a define.
59.Sh RETURN VALUES
60The return value is either the number of clock ticks or milliseconds
61for the specified value.
62.Sh SEE ALSO
63.Xr callout 9
64.Sh BUGS
65Neither
66.Fn mstohz
67nor
68.Fn hztoms
69make use of expensive 64-bit integer arithmetic.
70The result from
71.Fn mstohz
72will be rounded down to one second if the parameter is larger
73than 131072 milliseconds.
74