1 // -*- C++ -*- 2 //===-------------------- support/android/wchar_support.c ------------------===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is dual licensed under the MIT and the University of Illinois Open 7 // Source Licenses. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef LLVM_LIBCXX_SUPPORT_ANDROID_WCHAR_H 12 #define LLVM_LIBCXX_SUPPORT_ANDROID_WCHAR_H 13 14 #include_next <wchar.h> 15 #include <xlocale.h> 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 // Add missing declarations that are not in the NDK. 22 float wcstof(const wchar_t*, wchar_t**); 23 long wcstol(const wchar_t* nptr, wchar_t**, int); 24 long double wcstold(const wchar_t*, wchar_t**); 25 long long wcstoll(const wchar_t*, wchar_t**, int); 26 unsigned long long wcstoull(const wchar_t*, wchar_t**, int); 27 28 extern size_t wcsnrtombs (char *dst, 29 const wchar_t **src, 30 size_t nwc, size_t len, 31 mbstate_t *ps); 32 33 extern size_t mbsnrtowcs (wchar_t *dst, 34 const char **src, size_t nmc, 35 size_t len, mbstate_t *ps); 36 37 int wcscoll_l(const wchar_t*, const wchar_t*, locale_t); 38 int wcsxfrm_l(wchar_t*, const wchar_t*, size_t, locale_t); 39 40 #ifdef __cplusplus 41 } // extern "C" 42 #endif 43 44 #endif // LLVM_LIBCXX_SUPPORT_ANDROID_WCHAR_H 45