/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
************************************************************************
* @file M4OSA_CharStar.h
* @ingroup
* @brief external API of the Char Star set of functions.
************************************************************************
*/
#ifndef M4OSA_CHARSTAR_H
#define M4OSA_CHARSTAR_H
/* general OSAL types and prototypes inclusion */
#include "M4OSA_Types.h"
#include "M4OSA_Error.h"
#include "M4OSA_Time.h"
#include "M4OSA_FileCommon.h"
/* types definition */
typedef enum
{
M4OSA_kchrDec = 0x01,
M4OSA_kchrHexa = 0x02,
M4OSA_kchrOct = 0x03
} M4OSA_chrNumBase;
/* error and warning codes */
#define M4ERR_CHR_STR_OVERFLOW M4OSA_ERR_CREATE(M4_ERR,M4OSA_CHARSTAR,0x000001)
#define M4ERR_CHR_CONV_FAILED M4OSA_ERR_CREATE(M4_ERR,M4OSA_CHARSTAR,0x000002)
#define M4WAR_CHR_NOT_FOUND M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000001)
#define M4WAR_CHR_NUM_RANGE M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000002)
#define M4WAR_CHR_NEGATIVE M4OSA_ERR_CREATE(M4_WAR,M4OSA_CHARSTAR,0x000003)
/* prototypes of the Char Star functions */
#ifdef __cplusplus
extern "C"
{
#endif
M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrNCopy (M4OSA_Char *strOut,
M4OSA_Char *strIn,
M4OSA_UInt32 len2Copy);
M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrAreIdentical (M4OSA_Char *strIn1,
M4OSA_Char *strIn2,
M4OSA_Bool *result);
M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt32 (M4OSA_Char *strIn,
M4OSA_UInt32 *val,
M4OSA_Char **strOut,
M4OSA_chrNumBase base);
M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrGetUInt16 (M4OSA_Char *strIn,
M4OSA_UInt16 *val,
M4OSA_Char **strOut,
M4OSA_chrNumBase base);
M4OSAL_CHARSTAR_EXPORT_TYPE M4OSA_ERR M4OSA_chrSPrintf (M4OSA_Char *strOut,
M4OSA_UInt32 strOutMaxLen,
M4OSA_Char *format,
...);
#ifdef __cplusplus
}
#endif
#endif