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 */ 31typedef 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 37using ::mbstate_t; 38_STLP_END_NAMESPACE 39# endif 40 41#endif /* _STLP_USE_OWN_MBSTATE_T */ 42 43#endif /* _STLP_INTERNAL_MBSTATE_T */ 44