auto import from //depot/cupcake/@135843
[android/platform/external/neven.git] / Embedded / common / src / b_BasicEm / String.h
1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef bbs_STRING_EM_H
18 #define bbs_STRING_EM_H
19
20 /**
21  * This file contains string related functions.
22  */
23
24 /* ---- includes ----------------------------------------------------------- */
25
26 #include <stdarg.h>
27
28 #include "b_BasicEm/Basic.h"
29
30 /* ---- related objects  --------------------------------------------------- */
31
32 /* ---- typedefs ----------------------------------------------------------- */
33
34 /* ---- constants ---------------------------------------------------------- */
35
36 /* ---- external functions ------------------------------------------------- */
37
38 /** copies a string from srcA to dstA; returns dstA */
39 char* bbs_strcpy( char* dstA, const char* srcA );
40
41 /** copies sizeA caracters from from srcA to dstA; returns dstA */
42 char* bbs_strncpy( char* dstA, const char* srcA, uint32 sizeA );
43
44 /** adds a string srcA to string dstA; returns dstA */
45 char* bbs_strcat( char* dstA, const char* srcA );
46
47 /** adds sizeA characters from srcA to string dstA; returns dstA */
48 char* bbs_strncat( char* dstA, const char* srcA, uint32 sizeA );
49
50 /** returns number of characters in string excluding terminating 0 */
51 uint32 bbs_strlen( const char* strA );
52
53 /** returns true if both strings are equal */ 
54 flag bbs_strequal( const char* str1A, const char* str2A );
55
56 /** returns true if all characters of the smaller of both string are equal with the other string */ 
57 flag bbs_strmatch( const char* str1A, const char* str2A );
58
59 /** writes a formated string to buffer with size limitation; returns number of characters written 
60  *  Not all possible format types of stdlib function snprintf are handled in this function
61  */
62 uint32 bbs_snprintf( char* dstA, uint32 bufSizeA, const char* formatA, ... );
63
64 /** writes a formated string to buffer with size limitation; returns number of characters written
65  *  Not all possible format types of stdlib function vsnprintf are handled in this function
66  */
67 uint32 bbs_vsnprintf( char* dstA, uint32 bufSizeA, const char* formatA, va_list argsA );
68
69 /** converts a string to an integer */
70 int32 bbs_atoi( const char* strA );
71
72 #endif /* bbs_STRING_EM_H */
73