forked from Imagelibrary/rtems
* libmisc/stringto/stringto.h, libmisc/stringto/stringto_template.h: Tidy up as part of adding new test.
228 lines
7.0 KiB
C
228 lines
7.0 KiB
C
/*
|
|
* 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__
|
|
|
|
#include <rtems.h>
|
|
|
|
/**
|
|
* @brief Convert String to Pointer (with validation)
|
|
*
|
|
* This method converts a string to a pointer (void *) with
|
|
* basic numeric 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code rtems_string_to_pointer(
|
|
const char *s,
|
|
void **n,
|
|
char **endptr
|
|
);
|
|
|
|
/**
|
|
* @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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code rtems_string_to_int(
|
|
const char *s,
|
|
int *n,
|
|
char **endptr,
|
|
int base
|
|
);
|
|
|
|
/**
|
|
* @brief Convert String to Unsigned Int (with validation)
|
|
*
|
|
* This method converts a string to an unsigned 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code rtems_string_to_unsigned_int(
|
|
const char *s,
|
|
unsigned 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code 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 RTEMS_SUCCESSFUL on successful conversion
|
|
* and *n is filled in. Otherwise, the status indicates the
|
|
* source of the error.
|
|
*/
|
|
rtems_status_code rtems_string_to_double(
|
|
const char *s,
|
|
double *n,
|
|
char **endptr
|
|
);
|
|
|
|
#endif
|