EXPAND_NUMBER(3)

NAME
expand_number - format a number from human readable form

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

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.