/** * Copyright 2020 Huawei Technologies Co., Ltd * * 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. */ /* Avoid duplicate header files,not include securecutil.h */ #include "securecutil.h" #if defined(ANDROID) && (SECUREC_HAVE_WCTOMB || SECUREC_HAVE_MBTOWC) #include #if SECUREC_HAVE_WCTOMB /* * Convert wide characters to narrow multi-bytes */ int wctomb(char *s, wchar_t wc) { return wcrtomb(s, wc, NULL); } #endif #if SECUREC_HAVE_MBTOWC /* * Converting narrow multi-byte characters to wide characters */ int mbtowc(wchar_t *pwc, const char *s, size_t n) { return mbrtowc(pwc, s, n, NULL); } #endif #endif /* high Num << 8 | num of SPC Ver */ #define SECUREC_C_VERSION (0x5 << 8) #define SECUREC_SPC_VERSION 7 #define SECUREC_VERSION_STR "Huawei Secure C V100R001C01SPC007B002" /* SPC verNumber<->verStr like: * 0X201<->C01 * 0X202<->SPC001 Redefine numbers after this version * 0X502<->SPC002 * 0X503<->SPC003 * ... * 0X50a<->SPC010 * 0X50b<->SPC011 * ... */ /* CP verNumber<->verStr like: * 0X601<->CP0001 * 0X602<->CP0002 * ... */ const char *GetHwSecureCVersion(unsigned short *verNumber) { if (verNumber != NULL) { *verNumber = (unsigned short)(SECUREC_C_VERSION | SECUREC_SPC_VERSION); } return SECUREC_VERSION_STR; } #if SECUREC_IN_KERNEL EXPORT_SYMBOL(GetHwSecureCVersion); #endif