1 /* 2 * Copyright (C) 2011 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 ************************************************************************ 18 * @file M4OSA_CharStar.h 19 * @ingroup 20 * @brief external API of the Char Star set of functions. 21 ************************************************************************ 22 */ 23 24 #ifndef M4OSA_CHARSTAR_H 25 #define M4OSA_CHARSTAR_H 26 27 /* general OSAL types and prototypes inclusion */ 28 #include "M4OSA_Types.h" 29 #include "M4OSA_Error.h" 30 #include "M4OSA_Time.h" 31 #include "M4OSA_FileCommon.h" 32 33 /* types definition */ 34 typedef enum 35 { 36 M4OSA_kchrDec = 0x01, 37 M4OSA_kchrHexa = 0x02, 38 M4OSA_kchrOct = 0x03 39 } M4OSA_chrNumBase; 40 41 /* error and warning codes */ 42 #define M4ERR_CHR_STR_OVERFLOW M4OSA_ERR_CREATE(M4_ERR,M4OSA_CHARSTAR,0x000001) 43 #define M4ERR_CHR_CONV_FAILED M4OSA_ERR_CREATE(M4_ERR,M4OSA_CHARSTAR,0x000002) 44 #define M4WAR_CHR_NOT_FOUND M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000001) 45 #define M4WAR_CHR_NUM_RANGE M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000002) 46 #define M4WAR_CHR_NEGATIVE M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000003) 47 48 /* prototypes of the Char Star functions */ 49 #ifdef __cplusplus 50 extern "C" 51 { 52 #endif 53 54 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCopy (M4OSA_Char *strOut, 55 M4OSA_Char *strIn, 56 M4OSA_UInt32 len2Copy); 57 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrAreIdentical (M4OSA_Char *strIn1, 58 M4OSA_Char *strIn2, 59 M4OSA_Bool *result); 60 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt32 (M4OSA_Char *strIn, 61 M4OSA_UInt32 *val, 62 M4OSA_Char **strOut, 63 M4OSA_chrNumBase base); 64 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt16 (M4OSA_Char *strIn, 65 M4OSA_UInt16 *val, 66 M4OSA_Char **strOut, 67 M4OSA_chrNumBase base); 68 M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrSPrintf (M4OSA_Char *strOut, 69 M4OSA_UInt32 strOutMaxLen, 70 M4OSA_Char *format, 71 ...); 72 73 #ifdef __cplusplus 74 } 75 #endif 76 77 #endif 78 79