diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d97ed589744..d140e8fb075 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -220,6 +220,23 @@ int __must_check _kstrtol(const char *s, unsigned int base, long *res);  int __must_check kstrtoull(const char *s, unsigned int base, unsigned long long *res);  int __must_check kstrtoll(const char *s, unsigned int base, long long *res); + +/** + * kstrtoul - convert a string to an unsigned long + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign, but not a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. +*/  static inline int __must_check kstrtoul(const char *s, unsigned int base, unsigned long *res)  {  	/* @@ -233,6 +250,22 @@ static inline int __must_check kstrtoul(const char *s, unsigned int base, unsign  		return _kstrtoul(s, base, res);  } +/** + * kstrtol - convert a string to a long + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign or a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. + */  static inline int __must_check kstrtol(const char *s, unsigned int base, long *res)  {  	/*  |