2997760a859832ed810e34ec5120977165064d2d
[asterisk/asterisk.git] / include / asterisk / conversions.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2017, Digium, Inc.
5  *
6  * Kevin Harwell <kharwell@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  * \brief Conversion utility functions
21  */
22
23 #ifndef _ASTERISK_CONVERSIONS_H
24 #define _ASTERISK_CONVERSIONS_H
25
26 /*!
27  * \brief Convert the given string to an unsigned integer
28  *
29  * This function will return failure for the following reasons:
30  *
31  *   The given string to convert is NULL
32  *   The given string to convert is empty.
33  *   The given string to convert is negative (starts with a '-')
34  *   The given string to convert contains non numeric values
35  *   Once converted the number is out of range (greater than UINT_MAX)
36  *
37  * \param str The string to convert
38  * \param res [out] The converted value
39  *
40  * \returns -1 if it fails to convert, 0 on success
41  */
42 int ast_str_to_uint(const char *str, unsigned int *res);
43
44 /*!
45  * \brief Convert the given string to an unsigned long
46  *
47  * This function will return failure for the following reasons:
48  *
49  *   The given string to convert is NULL
50  *   The given string to convert is empty.
51  *   The given string to convert is negative (starts with a '-')
52  *   The given string to convert contains non numeric values
53  *   Once converted the number is out of range (greater than ULONG_MAX)
54  *
55  * \param str The string to convert
56  * \param res [out] The converted value
57  *
58  * \returns -1 if it fails to convert, 0 on success
59  */
60 int ast_str_to_ulong(const char *str, unsigned long *res);
61
62 #endif /* _ASTERISK_CONVERSIONS_H */