|
- /**
- * 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 <wchar.h>
- #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
|