c67d23a5975b67c3ed67a424e9895dd8af87caf6
[dragonfly.git] / usr.bin / systat / convtbl.h
1 /*
2  * Copyright (c) 2003, Trent Nelson, <trent@arpa.com>.
3  * All rights reserved.
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  * 3. The name of the author may not be used to endorse or promote products
14  *    derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  *
28  * $FreeBSD: src/usr.bin/systat/convtbl.h,v 1.1 2003/01/04 22:07:24 phk Exp $
29  * $DragonFly: src/usr.bin/systat/convtbl.h,v 1.2 2008/11/10 04:59:45 swildner Exp $
30  */
31
32 #ifndef _CONVTBL_H_
33 #define _CONVTBL_H_
34
35 #include <sys/types.h>
36
37 #define BITS    (1)
38 #define BYTES   (1)
39 #define KILO    (1024)
40 #define MEGA    (KILO * 1024)
41 #define GIGA    (MEGA * 1024)
42
43 #define SC_BYTE         (0)
44 #define SC_KILOBYTE     (1)
45 #define SC_MEGABYTE     (2)
46 #define SC_GIGABYTE     (3)
47 #define SC_BIT          (4)
48 #define SC_KILOBIT      (5)
49 #define SC_MEGABIT      (6)
50 #define SC_GIGABIT      (7)
51 #define SC_AUTO         (8)
52
53 #define BIT     (8)
54 #define BYTE    (1)
55
56 struct convtbl {
57         u_int    mul;
58         u_int    scale;
59         const char *str;
60 };
61
62 extern  struct convtbl convtbl[];
63
64 extern  double   convert(const u_long, const u_int);
65 extern  const char *get_string(const u_long, const u_int);
66
67 #endif          /* ! _CONVTBL_H_ */
68 /*
69  * Copyright (c) 2003, Trent Nelson, <trent@arpa.com>.
70  * All rights reserved.
71  *
72  * Redistribution and use in source and binary forms, with or without
73  * modification, are permitted provided that the following conditions
74  * are met:
75  * 1. Redistributions of source code must retain the above copyright
76  *    notice, this list of conditions and the following disclaimer.
77  * 2. Redistributions in binary form must reproduce the above copyright
78  *    notice, this list of conditions and the following disclaimer in the
79  *    documentation and/or other materials provided with the distribution.
80  * 3. The name of the author may not be used to endorse or promote products
81  *    derived from this software without specific prior written permission.
82  *
83  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
84  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
85  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
86  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
87  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
88  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
89  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
90  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
91  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
92  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
93  * SUCH DAMAGE.
94  *
95  * $Id$
96  */
97
98 #ifndef _CONVTBL_H_
99 #define _CONVTBL_H_
100
101 #include <sys/types.h>
102
103 #define BITS    (1)
104 #define BYTES   (1)
105 #define KILO    (1024)
106 #define MEGA    (KILO * 1024)
107 #define GIGA    (MEGA * 1024)
108
109 #define SC_BYTE         (0)
110 #define SC_KILOBYTE     (1)
111 #define SC_MEGABYTE     (2)
112 #define SC_GIGABYTE     (3)
113 #define SC_BIT          (4)
114 #define SC_KILOBIT      (5)
115 #define SC_MEGABIT      (6)
116 #define SC_GIGABIT      (7)
117 #define SC_AUTO         (8)
118
119 #define BIT     (8)
120 #define BYTE    (1)
121
122 struct convtbl {
123         u_int    mul;
124         u_int    scale;
125         char    *str;
126 };
127
128 extern  struct convtbl convtbl[];
129
130 extern  double   convert(const u_long, const u_int);
131 extern  char    *get_string(const u_long, const u_int);
132
133 #endif          /* ! _CONVTBL_H_ */