2 * Copyright (c) 2001-2018 The strace developers.
5 * SPDX-License-Identifier: LGPL-2.1-or-later
8 #ifndef STRACE_STRING_TO_UINT_H
9 # define STRACE_STRING_TO_UINT_H
13 # include "kernel_types.h"
16 string_to_uint_ex(const char *str, char **endptr,
17 unsigned long long max_val, const char *accepted_ending);
19 static inline long long
20 string_to_uint_upto(const char *const str, const unsigned long long max_val)
22 return string_to_uint_ex(str, NULL, max_val, NULL);
26 string_to_uint(const char *str)
28 return string_to_uint_upto(str, INT_MAX);
32 string_to_ulong(const char *str)
34 return string_to_uint_upto(str, LONG_MAX);
37 static inline kernel_long_t
38 string_to_kulong(const char *str)
40 return string_to_uint_upto(str, ((kernel_ulong_t) -1ULL) >> 1);
43 static inline long long
44 string_to_ulonglong(const char *str)
46 return string_to_uint_upto(str, LLONG_MAX);
49 #endif /* !STRACE_STRING_TO_UINT_H */