1 /*
2  * Copyright (C) 2018-2022 Intel Corporation.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef _DM_STRING_H_
9 #define _DM_STRING_H_
10 
11 /**
12  * @brief Convert string to a long integer.
13  *
14  * @param s Pointer to original string.
15  * @param end Pointer to end string.
16  * @param base Base: 8, 10, 16...
17  * @param val Long integer convert from string.
18  *
19  * @retval -1 error.
20  * @retval 0  no error.
21  */
22 
23 int dm_strtol(const char *s, char **end, unsigned int base, long *val);
24 
25 /**
26  * @brief Convert string to an integer.
27  *
28  * @param s Pointer to original string.
29  * @param end Pointer to end string.
30  * @param base Base: 8, 10, 16...
31  * @param val Integer convert from string.
32  *
33  * @retval -1 error.
34  * @retval 0  no error.
35  */
36 
37 int dm_strtoi(const char *s, char **end, unsigned int base, int *val);
38 
39 /**
40  * @brief Convert string to an unsigned long integer.
41  *
42  * @param s Pointer to original string.
43  * @param end Pointer to end string.
44  * @param base Base: 8, 10, 16...
45  * @param val Unsigned long integer convert from string.
46  *
47  * @retval -1 error.
48  * @retval 0  no error.
49  */
50 
51 int dm_strtoul(const char *s, char **end, unsigned int base, unsigned long *val);
52 
53 /**
54  * @brief Convert string to an unsigned integer.
55  *
56  * @param s Pointer to original string.
57  * @param end Pointer to end string after strtol.
58  * @param base Base: 8, 10, 16...
59  * @param val Unsigned integer convert from string.
60  *
61  * @retval -1 error.
62  * @retval 0  no error.
63  */
64 
65 int dm_strtoui(const char *s, char **end, unsigned int base, unsigned int *val);
66 
67 #endif
68