Asterisk - The Open Source Telephony Project  18.5.0
conversions.h
Go to the documentation of this file.
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2017, Digium, Inc.
5  *
6  * Kevin Harwell <[email protected]>
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 #include <stdint.h>
27 
28 /*!
29  * \brief Convert the given string to a signed integer
30  *
31  * This function will return failure for the following reasons:
32  *
33  * The given string to convert is NULL
34  * The given string to convert is empty.
35  * The given string to convert contains non numeric values
36  * Once converted the number is out of range (less than INT_MIN
37  * or greater than INT_MAX)
38  *
39  * \param str The string to convert
40  * \param res [out] The converted value
41  *
42  * \returns -1 if it fails to convert, 0 on success
43  */
44 int ast_str_to_int(const char *str, int *res);
45 
46 /*!
47  * \brief Convert the given string to an unsigned integer
48  *
49  * This function will return failure for the following reasons:
50  *
51  * The given string to convert is NULL
52  * The given string to convert is empty.
53  * The given string to convert is negative (starts with a '-')
54  * The given string to convert contains non numeric values
55  * Once converted the number is out of range (greater than UINT_MAX)
56  *
57  * \param str The string to convert
58  * \param res [out] The converted value
59  *
60  * \returns -1 if it fails to convert, 0 on success
61  */
62 int ast_str_to_uint(const char *str, unsigned int *res);
63 
64 /*!
65  * \brief Convert the given string to a signed long
66  *
67  * This function will return failure for the following reasons:
68  *
69  * The given string to convert is NULL
70  * The given string to convert is empty.
71  * The given string to convert contains non numeric values
72  * Once converted the number is out of range (less than LONG_MIN
73  * or greater than LONG_MAX)
74  *
75  * \param str The string to convert
76  * \param res [out] The converted value
77  *
78  * \returns -1 if it fails to convert, 0 on success
79  */
80 int ast_str_to_long(const char *str, long *res);
81 
82 /*!
83  * \brief Convert the given string to an unsigned long
84  *
85  * This function will return failure for the following reasons:
86  *
87  * The given string to convert is NULL
88  * The given string to convert is empty.
89  * The given string to convert is negative (starts with a '-')
90  * The given string to convert contains non numeric values
91  * Once converted the number is out of range (greater than ULONG_MAX)
92  *
93  * \param str The string to convert
94  * \param res [out] The converted value
95  *
96  * \returns -1 if it fails to convert, 0 on success
97  */
98 int ast_str_to_ulong(const char *str, unsigned long *res);
99 
100 /*!
101  * \brief Convert the given string to a signed max size integer
102  *
103  * This function will return failure for the following reasons:
104  *
105  * The given string to convert is NULL
106  * The given string to convert is empty.
107  * The given string to convert contains non numeric values
108  * Once converted the number is out of range (less than INTMAX_MIN
109  * or greater than INTMAX_MAX)
110  *
111  * \param str The string to convert
112  * \param res [out] The converted value
113  *
114  * \returns -1 if it fails to convert, 0 on success
115  */
116 int ast_str_to_imax(const char *str, intmax_t *res);
117 
118 /*!
119  * \brief Convert the given string to an unsigned max size integer
120  *
121  * This function will return failure for the following reasons:
122  *
123  * The given string to convert is NULL
124  * The given string to convert is empty.
125  * The given string to convert is negative (starts with a '-')
126  * The given string to convert contains non numeric values
127  * Once converted the number is out of range (greater than UINTMAX_MAX)
128  *
129  * \param str The string to convert
130  * \param res [out] The converted value
131  *
132  * \returns -1 if it fails to convert, 0 on success
133  */
134 int ast_str_to_umax(const char *str, uintmax_t *res);
135 
136 #endif /* _ASTERISK_CONVERSIONS_H */
int ast_str_to_umax(const char *str, uintmax_t *res)
Convert the given string to an unsigned max size integer.
Definition: conversions.c:119
const char * str
Definition: app_jack.c:147
int ast_str_to_imax(const char *str, intmax_t *res)
Convert the given string to a signed max size integer.
Definition: conversions.c:92
int ast_str_to_int(const char *str, int *res)
Convert the given string to a signed integer.
Definition: conversions.c:44
int ast_str_to_ulong(const char *str, unsigned long *res)
Convert the given string to an unsigned long.
Definition: conversions.c:80
int ast_str_to_uint(const char *str, unsigned int *res)
Convert the given string to an unsigned integer.
Definition: conversions.c:56
int ast_str_to_long(const char *str, long *res)
Convert the given string to a signed long.
Definition: conversions.c:68