EXPAND_NUMBER(3)

NAME
expand_number - format a number from human readable form

LIBRARY
libutil

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

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.