/ compat / humanize_number.h
humanize_number.h
 1  /*
 2   * Copyright (c) 1996  Peter Wemm <peter@FreeBSD.org>.
 3   * All rights reserved.
 4   * Copyright (c) 2002 Networks Associates Technology, Inc.
 5   * All rights reserved.
 6   *
 7   * Portions of this software were developed for the FreeBSD Project by
 8   * ThinkSec AS and NAI Labs, the Security Research Division of Network
 9   * Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
10   * ("CBOSS"), as part of the DARPA CHATS research program.
11   *
12   * Redistribution and use in source and binary forms, with or without
13   * modification, is permitted provided that the following conditions
14   * are met:
15   * 1. Redistributions of source code must retain the above copyright
16   *    notice, this list of conditions and the following disclaimer.
17   * 2. Redistributions in binary form must reproduce the above copyright
18   *    notice, this list of conditions and the following disclaimer in the
19   *    documentation and/or other materials provided with the distribution.
20   * 3. The name of the author may not be used to endorse or promote
21   *    products derived from this software without specific prior written
22   *    permission.
23   *
24   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
25   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27   * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34   * SUCH DAMAGE.
35   *
36   * $FreeBSD: releng/10.1/lib/libutil/libutil.h 247919 2013-03-07 19:00:00Z db $
37   */
38  
39  #ifndef _HUMANIZENUMBER_H_
40  #define	_HUMANIZENUMBER_H_
41  
42  #include <sys/types.h>
43  
44  int
45  humanize_number(char *buf, size_t len, int64_t quotient,
46      const char *suffix, int scale, int flags);
47  
48  /* Values for humanize_number(3)'s flags parameter. */
49  #define	HN_DECIMAL		0x01
50  #define	HN_NOSPACE		0x02
51  #define	HN_B			0x04
52  #define	HN_DIVISOR_1000		0x08
53  #define	HN_IEC_PREFIXES		0x10
54  
55  /* Values for humanize_number(3)'s scale parameter. */
56  #define	HN_GETSCALE		0x10
57  #define	HN_AUTOSCALE		0x20
58  
59  #endif /* !_HUMANIZENUMBER_H_ */