1 /* 2 * Copyright (c) 1999 3 * Boris Fomitchev 4 * 5 * This material is provided "as is", with absolutely no warranty expressed 6 * or implied. Any use is at your own risk. 7 * 8 * Permission to use or copy this software for any purpose is hereby granted 9 * without fee, provided the above notices are retained on all copies. 10 * Permission to modify the code and to distribute modified code is granted, 11 * provided the above notices are retained, and a notice that the code was 12 * modified is included with the above copyright notice. 13 * 14 */ 15 16 #ifndef _STLP_INTERNAL_MBSTATE_T 17 #define _STLP_INTERNAL_MBSTATE_T 18 19 #if (defined (__OpenBSD__) || defined (__FreeBSD__) || defined (__hpux)) && defined (__GNUC__) && !defined (_GLIBCPP_HAVE_MBSTATE_T) 20 # define _STLP_CPP_MBSTATE_T /* mbstate_t defined in native <cwchar>, so not defined in C! */ 21 #endif 22 23 #if defined (_STLP_NO_NATIVE_MBSTATE_T) || defined (_STLP_CPP_MBSTATE_T) && !defined (_MBSTATE_T) 24 # define _STLP_USE_OWN_MBSTATE_T 25 # define _MBSTATE_T 26 #endif 27 28 #if defined (_STLP_USE_OWN_MBSTATE_T) 29 # if !defined (_STLP_CPP_MBSTATE_T) || !defined (__cplusplus) || !defined (_STLP_USE_NEW_C_HEADERS) 30 # if !defined (__ANDROID__) /* mbstate_t conflicts with Android's definition */ 31 typedef int mbstate_t; 32 # endif 33 # endif 34 35 # if !defined (_STLP_CPP_MBSTATE_T) && defined (__cplusplus) && defined (_STLP_USE_NAMESPACES) 36 _STLP_BEGIN_NAMESPACE 37 using ::mbstate_t; 38 _STLP_END_NAMESPACE 39 # endif 40 41 #endif /* _STLP_USE_OWN_MBSTATE_T */ 42 43 #endif /* _STLP_INTERNAL_MBSTATE_T */ 44