ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

c_locale.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 1999
00003  * Silicon Graphics Computer Systems, Inc.
00004  *
00005  * Copyright (c) 1999
00006  * Boris Fomitchev
00007  *
00008  * This material is provided "as is", with absolutely no warranty expressed
00009  * or implied. Any use is at your own risk.
00010  *
00011  * Permission to use or copy this software for any purpose is hereby granted
00012  * without fee, provided the above notices are retained on all copies.
00013  * Permission to modify the code and to distribute modified code is granted,
00014  * provided the above notices are retained, and a notice that the code was
00015  * modified is included with the above copyright notice.
00016  *
00017  */
00018 
00019 #ifndef _STLP_C_LOCALE_H
00020 #define _STLP_C_LOCALE_H
00021 
00022 /*
00023  * Implementation dependent definitions.
00024  * Beware: This header is not a purely internal header, it is also included
00025  * from the outside world when building the STLport library. So this header
00026  * should not reference internal headers (stlport/stl/_*.h) directly.
00027  */
00028 #if defined (__sgi)
00029 #  if defined (ROOT_65) /* IRIX 6.5.x */
00030 #    include <sgidefs.h>
00031 #    include <standards.h>
00032 #    include <wchar.h>
00033 #    include <ctype.h>
00034 #  else /* IRIX pre-6.5 */
00035 #    include <sgidefs.h>
00036 #    include <standards.h>
00037 #    if !defined(_SIZE_T) && !defined(_SIZE_T_)
00038 #      define _SIZE_T
00039 #      if (_MIPS_SZLONG == 32)
00040 typedef unsigned int size_t;
00041 #      endif
00042 #      if (_MIPS_SZLONG == 64)
00043 typedef unsigned long size_t;
00044 #      endif
00045 #    endif
00046 #    if !defined (_WCHAR_T)
00047 #      define _WCHAR_T
00048 #      if (_MIPS_SZLONG == 32)
00049 typedef long wchar_t;
00050 #      endif
00051 #      if (_MIPS_SZLONG == 64)
00052 typedef __int32_t wchar_t;
00053 #      endif
00054 #    endif /* _WCHAR_T */
00055 #    if !defined (_WINT_T)
00056 #      define _WINT_T
00057 #      if (_MIPS_SZLONG == 32)
00058 typedef long wint_t;
00059 #      endif
00060 #      if (_MIPS_SZLONG == 64)
00061 typedef __int32_t wint_t;
00062 #      endif
00063 #    endif /* _WINT_T */
00064 #    if !defined (_MBSTATE_T)
00065 #      define _MBSTATE_T
00066 /* _MSC_VER check is here for historical reason and seems wrong as it is the macro defined
00067  * by Microsoft compilers to give their version. But we are in a SGI platform section so it
00068  * is weird. However _MSC_VER might also be a SGI compiler macro so we keep it this way.*/
00069 #      if defined (_MSC_VER)
00070 typedef int mbstate_t;
00071 #      else
00072 typedef char mbstate_t;
00073 #      endif
00074 #    endif /* _MBSTATE_T */
00075 #  endif /* ROOT65 */
00076 #elif defined (_STLP_USE_GLIBC)
00077 #  include <ctype.h>
00078 #endif
00079 
00080 /*
00081  * GENERAL FRAMEWORK
00082  */
00083 
00084 /*
00085  * Opaque types, implementation (if there is one) depends
00086  * on platform localisation API.
00087  */
00088 struct _Locale_ctype;
00089 struct _Locale_codecvt;
00090 struct _Locale_numeric;
00091 struct _Locale_time;
00092 struct _Locale_collate;
00093 struct _Locale_monetary;
00094 struct _Locale_messages;
00095 
00096 /*
00097   Bitmask macros.
00098 */
00099 
00100 /*
00101  * For narrow characters, we expose the lookup table interface.
00102  */
00103 
00104 #if defined (_STLP_USE_GLIBC)
00105 /* This section uses macros defined in the gnu libc ctype.h header */
00106 #  define _Locale_CNTRL  _IScntrl
00107 #  define _Locale_UPPER  _ISupper
00108 #  define _Locale_LOWER  _ISlower
00109 #  define _Locale_DIGIT  _ISdigit
00110 #  define _Locale_XDIGIT _ISxdigit
00111 #  define _Locale_PUNCT  _ISpunct
00112 #  define _Locale_SPACE  _ISspace
00113 #  define _Locale_PRINT  _ISprint
00114 #  define _Locale_ALPHA  _ISalpha
00115 #else
00116 /* Default values based on C++ Standard 22.2.1.
00117  * Under Windows the localisation implementation take care of mapping its
00118  * mask values to those internal values. For other platforms without real
00119  * localization support we are free to use the most suitable values.*/
00120 #  define _Locale_SPACE  0x0001
00121 #  define _Locale_PRINT  0x0002
00122 #  define _Locale_CNTRL  0x0004
00123 #  define _Locale_UPPER  0x0008
00124 #  define _Locale_LOWER  0x0010
00125 #  define _Locale_ALPHA  0x0020
00126 #  define _Locale_DIGIT  0x0040
00127 #  define _Locale_PUNCT  0x0080
00128 #  define _Locale_XDIGIT 0x0100
00129 #endif
00130 
00131 #endif /* _STLP_C_LOCALE_H */

Generated on Sun May 27 2012 04:29:47 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.