diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-08-31 10:13:54 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-10-03 11:46:14 -0500 |
commit | 3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b (patch) | |
tree | 64afe14ce916e5202d1c92b776883d2039b092eb /include/linux/string_helpers.h | |
parent | 114f1ea408944f9515e45aa7452238fb15a1fa00 (diff) | |
download | op-kernel-dev-3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b.zip op-kernel-dev-3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b.tar.gz |
[SCSI] lib: add generic helper to print sizes rounded to the correct SI range
This patch adds the ability to print sizes in either units of 10^3 (SI)
or 2^10 (Binary) units. It rounds up to three significant figures and
can be used for either memory or storage capacities.
Oh, and I'm fully aware that 64 bits is only 16EiB ... the Zetta and
Yotta units are added for future proofing against the day we have 128
bit computers ...
[fujita.tomonori@lab.ntt.co.jp: fix missed unsigned long long cast]
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/linux/string_helpers.h')
-rw-r--r-- | include/linux/string_helpers.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h new file mode 100644 index 0000000..a3eb2f6 --- /dev/null +++ b/include/linux/string_helpers.h @@ -0,0 +1,16 @@ +#ifndef _LINUX_STRING_HELPERS_H_ +#define _LINUX_STRING_HELPERS_H_ + +#include <linux/types.h> + +/* Descriptions of the types of units to + * print in */ +enum string_size_units { + STRING_UNITS_10, /* use powers of 10^3 (standard SI) */ + STRING_UNITS_2, /* use binary powers of 2^10 */ +}; + +int string_get_size(u64 size, enum string_size_units units, + char *buf, int len); + +#endif |