Name

strict_strtoull — convert a string to an unsigned long long strictly

Synopsis

int strict_strtoull (const char *  cp,
 unsigned int  base,
 unsigned long long *  res);

Arguments

cp

The string to be converted

base

The number base to use

res

The converted result value

Description

strict_strtoull converts a string to an unsigned long long only if the string is really an unsigned long long string, any string containing any invalid char at the tail will be rejected and -EINVAL is returned, only a newline char at the tail is acceptible because people generally

change a module parameter in the following way

echo 1024 > /sys/module/e1000/parameters/copybreak

echo will append a newline to the tail of the string.

It returns 0 if conversion is successful and *res is set to the converted value, otherwise it returns -EINVAL and *res is set to 0.

simple_strtoull just ignores the successive invalid characters and return the converted value of prefix part of the string.