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                                                          */
34typedef 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
50extern "C"
51{
52#endif
53
54M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCopy          (M4OSA_Char   *strOut,
55                                   M4OSA_Char   *strIn,
56                                   M4OSA_UInt32 len2Copy);
57M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrAreIdentical   (M4OSA_Char   *strIn1,
58                                   M4OSA_Char   *strIn2,
59                                   M4OSA_Bool  *result);
60M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt32      (M4OSA_Char   *strIn,
61                                   M4OSA_UInt32 *val,
62                                   M4OSA_Char   **strOut,
63                                   M4OSA_chrNumBase base);
64M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt16      (M4OSA_Char   *strIn,
65                                   M4OSA_UInt16 *val,
66                                   M4OSA_Char   **strOut,
67                                   M4OSA_chrNumBase base);
68M4OSAL_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