NAME¶
expand_number —
format a number from
human readable form
LIBRARY¶
library “libbsd”
SYNOPSIS¶
#include <bsd/libutil.h>
int
expand_number(
const char *buf,
uint64_t *num);
DESCRIPTION¶
The
expand_number() function unformats the
buf string and stores a unsigned 64-bit quantity at
address pointed out by the
num argument.
The
expand_number() function follows the SI power of two
convention.
The prefixes are:
Prefix |
Description |
Multiplier |
k |
kilo |
1024 |
M |
mega |
1048576 |
G |
giga |
1073741824 |
T |
tera |
1099511627776 |
P |
peta |
1125899906842624 |
E |
exa |
1152921504606846976 |
RETURN VALUES¶
Upon successful completion, the value 0 is returned; otherwise the
value -1 is returned and the global variable
errno
is set to indicate the error.
ERRORS¶
The
expand_number() function will fail if:
- [
EINVAL
]
- The given string contains no digits.
- [
EINVAL
]
- An unrecognized prefix was given.
- [
ERANGE
]
- Result doesn't fit into 64 bits.
SEE ALSO¶
humanize_number(3)
HISTORY¶
The
expand_number() function first appeared in
FreeBSD 6.3.