xref: /freebsd/usr.bin/systat/convtbl.h (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
1*1de7b4b8SPedro F. Giffuni /*-
2*1de7b4b8SPedro F. Giffuni  * SPDX-License-Identifier: BSD-3-Clause
3*1de7b4b8SPedro F. Giffuni  *
4b59ba7dfSPoul-Henning Kamp  * Copyright (c) 2003, Trent Nelson, <trent@arpa.com>.
5b59ba7dfSPoul-Henning Kamp  * All rights reserved.
6b59ba7dfSPoul-Henning Kamp  *
7b59ba7dfSPoul-Henning Kamp  * Redistribution and use in source and binary forms, with or without
8b59ba7dfSPoul-Henning Kamp  * modification, are permitted provided that the following conditions
9b59ba7dfSPoul-Henning Kamp  * are met:
10b59ba7dfSPoul-Henning Kamp  * 1. Redistributions of source code must retain the above copyright
11b59ba7dfSPoul-Henning Kamp  *    notice, this list of conditions and the following disclaimer.
12b59ba7dfSPoul-Henning Kamp  * 2. Redistributions in binary form must reproduce the above copyright
13b59ba7dfSPoul-Henning Kamp  *    notice, this list of conditions and the following disclaimer in the
14b59ba7dfSPoul-Henning Kamp  *    documentation and/or other materials provided with the distribution.
15b59ba7dfSPoul-Henning Kamp  * 3. The name of the author may not be used to endorse or promote products
16b59ba7dfSPoul-Henning Kamp  *    derived from this software without specific prior written permission.
17b59ba7dfSPoul-Henning Kamp  *
18b59ba7dfSPoul-Henning Kamp  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19b59ba7dfSPoul-Henning Kamp  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20b59ba7dfSPoul-Henning Kamp  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21b59ba7dfSPoul-Henning Kamp  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22b59ba7dfSPoul-Henning Kamp  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23b59ba7dfSPoul-Henning Kamp  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24b59ba7dfSPoul-Henning Kamp  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25b59ba7dfSPoul-Henning Kamp  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26b59ba7dfSPoul-Henning Kamp  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27b59ba7dfSPoul-Henning Kamp  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28b59ba7dfSPoul-Henning Kamp  * SUCH DAMAGE.
29b59ba7dfSPoul-Henning Kamp  */
30b59ba7dfSPoul-Henning Kamp 
31b59ba7dfSPoul-Henning Kamp #ifndef _CONVTBL_H_
32b59ba7dfSPoul-Henning Kamp #define _CONVTBL_H_
33b59ba7dfSPoul-Henning Kamp 
34b59ba7dfSPoul-Henning Kamp #include <sys/types.h>
35f5d4751cSYaroslav Tykhiy #include <stdint.h>
36b59ba7dfSPoul-Henning Kamp 
37dfaa9125SYaroslav Tykhiy /*
38dfaa9125SYaroslav Tykhiy  * Keep the order in the enum.
39dfaa9125SYaroslav Tykhiy  */
40ab5c9a0dSYaroslav Tykhiy enum scale {
41ab5c9a0dSYaroslav Tykhiy 	SC_BYTE,
42ab5c9a0dSYaroslav Tykhiy 	SC_KILOBYTE,
43ab5c9a0dSYaroslav Tykhiy 	SC_MEGABYTE,
44ab5c9a0dSYaroslav Tykhiy 	SC_GIGABYTE,
45dfaa9125SYaroslav Tykhiy 	SC_TERABYTE,
46ab5c9a0dSYaroslav Tykhiy 	SC_BIT,
47ab5c9a0dSYaroslav Tykhiy 	SC_KILOBIT,
48ab5c9a0dSYaroslav Tykhiy 	SC_MEGABIT,
49ab5c9a0dSYaroslav Tykhiy 	SC_GIGABIT,
50dfaa9125SYaroslav Tykhiy 	SC_TERABIT,
51aee371e3SYaroslav Tykhiy 	SC_AUTO		/* KEEP THIS LAST */
52ab5c9a0dSYaroslav Tykhiy };
53b59ba7dfSPoul-Henning Kamp 
54f5d4751cSYaroslav Tykhiy extern	double		 convert(const uintmax_t, const int);
55aee371e3SYaroslav Tykhiy extern	const char	*get_helplist(void);
56aee371e3SYaroslav Tykhiy extern	int		 get_scale(const char *);
57f5d4751cSYaroslav Tykhiy extern	const char	*get_string(const uintmax_t, const int);
58b59ba7dfSPoul-Henning Kamp 
59b59ba7dfSPoul-Henning Kamp #endif		/* ! _CONVTBL_H_ */
60