[GENINCDATA]
[reactos.git] / include / c++ / stlport / stl / _mbstate_t.h
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 typedef int mbstate_t;
31 # endif
32
33 # if !defined (_STLP_CPP_MBSTATE_T) && defined (__cplusplus) && defined (_STLP_USE_NAMESPACES)
34 _STLP_BEGIN_NAMESPACE
35 using ::mbstate_t;
36 _STLP_END_NAMESPACE
37 # endif
38
39 #endif /* _STLP_USE_OWN_MBSTATE_T */
40
41 #endif /* _STLP_INTERNAL_MBSTATE_T */