You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
4.8 KiB

/************************************************************************
*
* xwcc.h internal header
*
************************************************************************/
/*
* Copyright (c) 2009 MediaTek Inc. All Rights Reserved.
* --------------------
* This software is protected by copyright and the information
* contained herein is confidential. The software may not be
* copied and the information contained herein may not be used or
* disclosed except with the written permission of MediaTek Inc.
*/
#ifndef _XWCC
#define _XWCC
#ifdef _MISRA_RULES
#pragma diag(push)
#pragma diag(suppress:misra_rule_2_2:"DSPTK standard header uses C++ comments")
#pragma diag(suppress:misra_rule_5_3:"DSPTK header will re-use identfiers")
#pragma diag(suppress:misra_rule_5_4:"DSPTK header will re-use identfiers")
#pragma diag(suppress:misra_rule_5_5:"DSPTK header will re-use identfiers")
#pragma diag(suppress:misra_rule_5_6:"DSPTK header will re-use identfiers")
#pragma diag(suppress:misra_rule_5_7:"DSPTK header will re-use identfiers")
#pragma diag(suppress:misra_rule_6_3:"DSPTK header allows use of basic types")
#pragma diag(suppress:misra_rule_19_4:"DSPTK header allows any substitution")
#pragma diag(suppress:misra_rule_19_7:"DSPTK header allows function macros")
#pragma diag(suppress:misra_rule_6_3)
#endif /* _MISRA_RULES */
_C_LIB_DECL
int _Iswctype(wint_t _wc, wctype_t _off);
wint_t _Towctrans(wint_t _wc, wctrans_t _off);
_END_C_LIB_DECL
#if defined(__cplusplus) && !defined(_NO_CPP_INLINES)
// INLINES, FOR C++
_C_LIB_DECL
#pragma always_inline
inline int iswalnum(wint_t _Wc)
{ // test for alnum
return (_Iswctype(_Wc, 1));
}
#pragma always_inline
inline int iswalpha(wint_t _Wc)
{ // test for alpha
return (_Iswctype(_Wc, 2));
}
#pragma always_inline
inline int iswcntrl(wint_t _Wc)
{ // test for cntrl
return (_Iswctype(_Wc, 3));
}
#pragma always_inline
inline int iswctype(wint_t _Wc, wctype_t _Off)
{ // test for ctype category
return (_Iswctype(_Wc, _Off));
}
#pragma always_inline
inline int iswdigit(wint_t _Wc)
{ // test for digit
return (_Iswctype(_Wc, 4));
}
#pragma always_inline
inline int iswgraph(wint_t _Wc)
{ // test for graph
return (_Iswctype(_Wc, 5));
}
#pragma always_inline
inline int iswlower(wint_t _Wc)
{ // test for lower
return (_Iswctype(_Wc, 6));
}
#pragma always_inline
inline int iswprint(wint_t _Wc)
{ // test for print
return (_Iswctype(_Wc, 7));
}
#pragma always_inline
inline int iswpunct(wint_t _Wc)
{ // test for punct
return (_Iswctype(_Wc, 8));
}
#pragma always_inline
inline int iswspace(wint_t _Wc)
{ // test for space
return (_Iswctype(_Wc, 9));
}
#pragma always_inline
inline int iswupper(wint_t _Wc)
{ // test for upper
return (_Iswctype(_Wc, 10));
}
#pragma always_inline
inline int iswxdigit(wint_t _Wc)
{ // test for xdigit
return (_Iswctype(_Wc, 11));
}
#pragma always_inline
inline wint_t towlower(wint_t _Wc)
{ // translate to lower
return (_Towctrans(_Wc, 1));
}
#pragma always_inline
inline wint_t towupper(wint_t _Wc)
{ // translate to upper
return (_Towctrans(_Wc, 2));
}
#if defined(_HAS_C9X)
#pragma always_inline
inline int iswblank(wint_t _Wc)
{ // check blank bits
return (_Iswctype(_Wc, 12));
}
#endif /* _IS_C9X */
_END_C_LIB_DECL
#else /* defined(__cplusplus) && !defined(_NO_CPP_INLINES) */
/* DECLARATIONS AND MACRO OVERRIDES, FOR C */
_C_LIB_DECL
int iswalnum(wint_t _wc);
int iswalpha(wint_t _wc);
int iswcntrl(wint_t _wc);
int iswctype(wint_t _wc, wctype_t _off);
int iswdigit(wint_t _wc);
int iswgraph(wint_t _wc);
int iswlower(wint_t _wc);
int iswprint(wint_t _wc);
int iswpunct(wint_t _wc);
int iswspace(wint_t _wc);
int iswupper(wint_t _wc);
int iswxdigit(wint_t _wc);
wint_t towlower(wint_t _wc);
wint_t towupper(wint_t _wc);
#if defined(_HAS_C9X)
int iswblank(wint_t _wc);
#endif /* _IS_C9X */
_END_C_LIB_DECL
#define iswalnum(wc) _Iswctype((wc), 1)
#define iswalpha(wc) _Iswctype((wc), 2)
#define iswcntrl(wc) _Iswctype((wc), 3)
#define iswctype(wc, off) _Iswctype((wc), (off))
#define iswdigit(wc) _Iswctype((wc), 4)
#define iswgraph(wc) _Iswctype((wc), 5)
#define iswlower(wc) _Iswctype((wc), 6)
#define iswprint(wc) _Iswctype((wc), 7)
#define iswpunct(wc) _Iswctype((wc), 8)
#define iswspace(wc) _Iswctype((wc), 9)
#define iswupper(wc) _Iswctype((wc), 10)
#define iswxdigit(wc) _Iswctype((wc), 11)
#define towctrans(wc, off) _Towctrans((wc), (off))
#define towlower(wc) _Towctrans((wc), 1)
#define towupper(wc) _Towctrans((wc), 2)
#if defined(_HAS_C9X)
#define iswblank(wc) _Iswctype((wc), 12)
#endif /* _IS_C9X */
#endif /* defined(__cplusplus) && !defined(_NO_CPP_INLINES) */
#ifdef _MISRA_RULES
#pragma diag(pop)
#endif /* _MISRA_RULES */
#endif /* _XWCC */
/*
* Copyright (c) 1992-2005 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
V4.04:1134 */