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
--- 11 unchanged lines hidden (view full) ---
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: head/usr.bin/systat/convtbl.h 164672 2006-11-27 16:14:32Z yar $
29 */
30
31#ifndef _CONVTBL_H_
32#define _CONVTBL_H_
33
34#include <sys/types.h>
35#include <stdint.h>
36
37#define BITS (1)
38#define BYTES (1)
39#define KILO (1024LL)
40#define MEGA (KILO * 1024)
41#define GIGA (MEGA * 1024)
42
43enum scale {
44 SC_BYTE,
45 SC_KILOBYTE,
46 SC_MEGABYTE,
47 SC_GIGABYTE,
48 SC_BIT,
49 SC_KILOBIT,
50 SC_MEGABIT,
51 SC_GIGABIT,
52 SC_AUTO /* KEEP THIS LAST */
53};
54
55#define BIT (8)
56#define BYTE (1)
57
58struct convtbl {
59 uintmax_t mul;
60 uintmax_t scale;
61 const char *str;
62 const char *name;
63};
64
65extern struct convtbl convtbl[];
66
67extern double convert(const uintmax_t, const int);
68extern const char *get_helplist(void);
69extern int get_scale(const char *);
70extern const char *get_string(const uintmax_t, const int);
71
72#endif /* ! _CONVTBL_H_ */
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
--- 11 unchanged lines hidden (view full) ---
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: head/usr.bin/systat/convtbl.h 164672 2006-11-27 16:14:32Z yar $
29 */
30
31#ifndef _CONVTBL_H_
32#define _CONVTBL_H_
33
34#include <sys/types.h>
35#include <stdint.h>
36
37#define BITS (1)
38#define BYTES (1)
39#define KILO (1024LL)
40#define MEGA (KILO * 1024)
41#define GIGA (MEGA * 1024)
42
43enum scale {
44 SC_BYTE,
45 SC_KILOBYTE,
46 SC_MEGABYTE,
47 SC_GIGABYTE,
48 SC_BIT,
49 SC_KILOBIT,
50 SC_MEGABIT,
51 SC_GIGABIT,
52 SC_AUTO /* KEEP THIS LAST */
53};
54
55#define BIT (8)
56#define BYTE (1)
57
58struct convtbl {
59 uintmax_t mul;
60 uintmax_t scale;
61 const char *str;
62 const char *name;
63};
64
65extern struct convtbl convtbl[];
66
67extern double convert(const uintmax_t, const int);
68extern const char *get_helplist(void);
69extern int get_scale(const char *);
70extern const char *get_string(const uintmax_t, const int);
71
72#endif /* ! _CONVTBL_H_ */