.
[gnulib.git] / lib / human.h
index 65a2597..4ec9f0d 100644 (file)
@@ -1,19 +1,39 @@
 #ifndef HUMAN_H_
 # define HUMAN_H_ 1
 
+# if HAVE_CONFIG_H
+#  include <config.h>
+# endif
+
+# if HAVE_INTTYPES_H
+#  include <inttypes.h>
+# endif
+
 /* A conservative bound on the maximum length of a human-readable string.
    The output can be the product of the largest uintmax_t and the largest int,
    so add their sizes before converting to a bound on digits.  */
-#define LONGEST_HUMAN_READABLE ((sizeof (uintmax_t) + sizeof (int)) * CHAR_BIT / 3)
+# define LONGEST_HUMAN_READABLE ((sizeof (uintmax_t) + sizeof (int)) \
+                                * CHAR_BIT / 3)
+
+# ifndef PARAMS
+#  if defined PROTOTYPES || (defined __STDC__ && __STDC__)
+#   define PARAMS(Args) Args
+#  else
+#   define PARAMS(Args) ()
+#  endif
+# endif
+
+enum human_inexact_style
+{
+  human_floor = -1,
+  human_round_to_even = 0,
+  human_ceiling = 1
+};
 
-#ifndef __P
-# if defined (__GNUC__) || (defined (__STDC__) && __STDC__)
-#  define __P(args) args
-# else
-#  define __P(args) ()
-# endif  /* GCC.  */
-#endif  /* Not __P.  */
+char *human_readable PARAMS ((uintmax_t, char *, int, int));
+char *human_readable_inexact PARAMS ((uintmax_t, char *, int, int,
+                                     enum human_inexact_style));
 
-char *human_readable __P ((uintmax_t, char *, int, int, int));
+void human_block_size PARAMS ((char const *, int, int *));
 
 #endif /* HUMAN_H_ */