arm-crypto-lib/test_src/string-extras.h

65 lines
2.2 KiB
C

/* string-extras.h */
/*
This file is part of the ARM-Crypto-Lib.
Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file string-extras.h
* \author Daniel Otte
* \date 2006-05-16
* \license GPLv3 or later
*
*/
#include <stdint.h>
/** \fn stridentcnt_P(char* a, PGM_P b)
* \brief counts the number of identic chars
*
* This function compares the supplied strings and returns the index of the
* first char where the strings differ.
* \param a pointer to string in RAM
* \param b pointer to string in Flash
* \return index of the first char where \c a and \c b differ
*/
uint32_t stridentcnt(const char* a, const char* b);
/** \fn firstword_length(char* s)
* \brief compute the length of the first word in supplied string
*
* This function searches for the first whitespace in the string and returns the
* number of chars before the first whitespace.
* \param s string
* \return number of chars in first word
*/
uint16_t firstword_length(const char* s);
/** \fn strstrip(char* str)
* \brief removes whitespace at the beginning and the end of a string
*
* This function removes whitespaces at the end of a string.
* \param str sting
* \return pointer to the first non-whitespace char in string
*/
char* strstrip(char* str);
void str_reverse(char* buffer);
char* ultoa(unsigned long a, char* buffer, uint8_t radix);
char* ulltoa(unsigned long long a, char* buffer, uint8_t radix);
char* utoa(unsigned a, char* buffer, uint8_t radix);
char* ustoa(unsigned short a, char* buffer, uint8_t radix);
// void strlwr(char* s);