summaryrefslogtreecommitdiffstats
path: root/contrib/tar/lib/human.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tar/lib/human.h')
-rw-r--r--contrib/tar/lib/human.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/tar/lib/human.h b/contrib/tar/lib/human.h
new file mode 100644
index 0000000..4ec9f0d
--- /dev/null
+++ b/contrib/tar/lib/human.h
@@ -0,0 +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)
+
+# 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
+};
+
+char *human_readable PARAMS ((uintmax_t, char *, int, int));
+char *human_readable_inexact PARAMS ((uintmax_t, char *, int, int,
+ enum human_inexact_style));
+
+void human_block_size PARAMS ((char const *, int, int *));
+
+#endif /* HUMAN_H_ */
OpenPOWER on IntegriCloud