expand_number(3bsd) LOCAL expand_number(3bsd)
NAME
expand_number — format a number from human readable form
LIBRARY
Utility functions from BSD systems (libbsd, −lbsd)
SYNOPSIS
#include
<libutil.h>
(See libbsd(7) for include usage.)
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(3bsd)
HISTORY
The expand_number() function first appeared in FreeBSD 6.3. GNU August 15, 2010 expand_number(3bsd)