FreeBSD manual

download PDF document: expand_number.3.pdf

EXPAND_NUMBER(3) FreeBSD Library Functions Manual EXPAND_NUMBER(3)
NAME expand_number - format a number from human readable form
LIBRARY System Utilities Library (libutil, -lutil)
SYNOPSIS #include <libutil.h>
int expand_number(const char *buf, uint64_t *num);
DESCRIPTION The expand_number() function parses the buf string and stores a unsigned 64-bit quantity at *num.
The expand_number() function is case-insensitive and follows the SI power of two convention.
The suffixes are:
Suffix Description Multiplier K kilo 1024 M mega 1048576 G giga 1073741824 T tera 1099511627776 P peta 1125899906842624 E exa 1152921504606846976
For historical reasons, the expand_number() function accepts and ignores a single "B" suffix at the end of the buf string. However, the usage of this suffix is discouraged.
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 suffix 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.
FreeBSD 14.0-RELEASE-p11 June 13, 2023 FreeBSD 14.0-RELEASE-p11