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