summaryrefslogtreecommitdiff
path: root/cpukit/libmisc/stringto/stringto.h
blob: 2e7fe151c648c61d02e63cd282d111d2a19358eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/*
 *  COPYRIGHT (c) 2009.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.com/license/LICENSE.
 *
 *  $Id$
 */

#ifndef __STRING_TO_A_TYPE_h__
#define __STRING_TO_A_TYPE_h__

/**
 *  @brief Convert String to Unsigned Character (with validation)
 *
 *  This method converts a string to an unsigned character with
 *  range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_unsigned_char(
  const char     *s,
  unsigned char  *n,
  char          **endptr,
  int             base
);

/**
 *  @brief Convert String to Int (with validation)
 *
 *  This method converts a string to an int with range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_int(
  const char  *s,
  int         *n,
  char       **endptr,
  int          base
);

/**
 *  @brief Convert String to Long (with validation)
 *
 *  This method converts a string to a long with
 *  range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_long(
  const char  *s,
  long        *n,
  char       **endptr,
  int          base
);

/**
 *  @brief Convert String to Unsigned Long (with validation)
 *
 *  This method converts a string to an unsigned long with
 *  range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_unsigned_long(
  const char     *s,
  unsigned long  *n,
  char          **endptr,
  int             base
);

/**
 *  @brief Convert String to Long Long (with validation)
 *
 *  This method converts a string to a long long with
 *  range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_long_long(
  const char  *s,
  long long   *n,
  char       **endptr,
  int          base
);

/**
 *  @brief Convert String to Unsigned Long Long (with validation)
 *
 *  This method converts a string to an unsigned character with
 *  range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *  @param[in] base is the expected base of the number
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_unsigned_long_long(
  const char           *s,
  unsigned long long   *n,
  char                **endptr,
  int                   base
);

/**
 *  @brief Convert String to Float (with validation)
 *
 *  This method converts a string to a float with range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_float(
  const char   *s,
  float        *n,
  char        **endptr
);

/**
 *  @brief Convert String to Double (with validation)
 *
 *  This method converts a string to a double with range validation.
 *
 *  @param[in] s is the string to convert
 *  @param[in] n points to the variable to place the converted output in
 *  @param[in] endptr is used to keep track of the position in the string
 *
 *  @return This method returns true on successful conversion and *n is
 *          filled in.
 */
bool rtems_string_to_double(
  const char   *s,
  double       *n,
  char        **endptr
);

#endif