• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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