epoc32/include/stdapis/stlport/stl/c_locale.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/*
williamr@4
     2
 * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
williamr@4
     3
 *
williamr@4
     4
 * Copyright (c) 1999
williamr@4
     5
 * Silicon Graphics Computer Systems, Inc.
williamr@4
     6
 *
williamr@4
     7
 * Copyright (c) 1999 
williamr@4
     8
 * Boris Fomitchev
williamr@4
     9
 *
williamr@4
    10
 * This material is provided "as is", with absolutely no warranty expressed
williamr@4
    11
 * or implied. Any use is at your own risk.
williamr@4
    12
 *
williamr@4
    13
 * Permission to use or copy this software for any purpose is hereby granted 
williamr@4
    14
 * without fee, provided the above notices are retained on all copies.
williamr@4
    15
 * Permission to modify the code and to distribute modified code is granted,
williamr@4
    16
 * provided the above notices are retained, and a notice that the code was
williamr@4
    17
 * modified is included with the above copyright notice.
williamr@4
    18
 *
williamr@4
    19
 */ 
williamr@4
    20
williamr@4
    21
williamr@4
    22
#ifndef _STLP_C_LOCALE_H
williamr@4
    23
# define _STLP_C_LOCALE_H
williamr@4
    24
williamr@4
    25
/*
williamr@4
    26
 * Implementation dependent definitions
williamr@4
    27
 */
williamr@4
    28
#ifdef __cplusplus
williamr@4
    29
#  include <stl/_config.h>
williamr@4
    30
#endif
williamr@4
    31
williamr@4
    32
#if defined(__sgi) 
williamr@4
    33
# if defined(ROOT_65) /* IRIX 6.5.x */
williamr@4
    34
#  include <sgidefs.h>
williamr@4
    35
#  include <standards.h>
williamr@4
    36
#  include <wchar.h>
williamr@4
    37
#  include <ctype.h>
williamr@4
    38
williamr@4
    39
# else
williamr@4
    40
                  /* IRIX pre-6.5 */
williamr@4
    41
#  include <sgidefs.h>
williamr@4
    42
#  include <standards.h>
williamr@4
    43
williamr@4
    44
#  if !defined(_SIZE_T) && !defined(_SIZE_T_)
williamr@4
    45
#   define _SIZE_T
williamr@4
    46
#    if (_MIPS_SZLONG == 32)
williamr@4
    47
typedef unsigned int    size_t;
williamr@4
    48
#    endif
williamr@4
    49
#    if (_MIPS_SZLONG == 64)
williamr@4
    50
typedef unsigned long   size_t;
williamr@4
    51
#    endif
williamr@4
    52
#   endif
williamr@4
    53
williamr@4
    54
#   ifndef _WCHAR_T
williamr@4
    55
#    define _WCHAR_T
williamr@4
    56
#     if (_MIPS_SZLONG == 32)
williamr@4
    57
typedef long wchar_t;
williamr@4
    58
#     endif
williamr@4
    59
#     if (_MIPS_SZLONG == 64)
williamr@4
    60
typedef __int32_t wchar_t;
williamr@4
    61
#     endif
williamr@4
    62
#    endif /* _WCHAR_T */
williamr@4
    63
williamr@4
    64
#    ifndef _WINT_T
williamr@4
    65
#     define _WINT_T
williamr@4
    66
#     if (_MIPS_SZLONG == 32)
williamr@4
    67
        typedef long    wint_t;
williamr@4
    68
#     endif
williamr@4
    69
#     if (_MIPS_SZLONG == 64)
williamr@4
    70
        typedef __int32_t wint_t;
williamr@4
    71
#     endif
williamr@4
    72
#    endif /* _WINT_T */
williamr@4
    73
williamr@4
    74
#    ifndef _MBSTATE_T
williamr@4
    75
#    define _MBSTATE_T
williamr@4
    76
#    ifdef _MSC_VER
williamr@4
    77
		typedef int		mbstate_t;
williamr@4
    78
#    else
williamr@4
    79
        typedef char    mbstate_t;
williamr@4
    80
#    endif
williamr@4
    81
#    endif /* _MBSTATE_T */
williamr@4
    82
williamr@4
    83
#   endif /* ROOT65 */ 
williamr@4
    84
williamr@4
    85
#  else /* __sgi */
williamr@4
    86
williamr@4
    87
# ifdef __cplusplus
williamr@4
    88
# ifndef _STLP_CSTDDEF
williamr@4
    89
#  include <cstddef>
williamr@4
    90
# endif
williamr@4
    91
# ifndef _STLP_CWCHAR_H
williamr@4
    92
#  include <stl/_cwchar.h>
williamr@4
    93
# endif
williamr@4
    94
# ifndef _STLP_CCTYPE
williamr@4
    95
#  include <cctype>
williamr@4
    96
# endif
williamr@4
    97
# else
williamr@4
    98
#  include <stddef.h>
williamr@4
    99
#  include <wchar.h>
williamr@4
   100
#  include <ctype.h>
williamr@4
   101
# endif
williamr@4
   102
williamr@4
   103
#endif /* __sgi */
williamr@4
   104
williamr@4
   105
/*
williamr@4
   106
 * GENERAL FRAMEWORK
williamr@4
   107
 */
williamr@4
   108
williamr@4
   109
struct _Locale_ctype;
williamr@4
   110
struct _Locale_numeric;
williamr@4
   111
struct _Locale_time;
williamr@4
   112
struct _Locale_collate;
williamr@4
   113
struct _Locale_monetary;
williamr@4
   114
struct _Locale_messages;
williamr@4
   115
williamr@4
   116
/*
williamr@4
   117
  Bitmask macros.  
williamr@4
   118
*/
williamr@4
   119
williamr@4
   120
/*
williamr@4
   121
 * For narrow characters, we expose the lookup table interface.
williamr@4
   122
 */
williamr@4
   123
williamr@4
   124
/* Internal bitmask macros, os-specific. */
williamr@4
   125
williamr@4
   126
#if defined(__sgi)              /* IRIX */
williamr@4
   127
williamr@4
   128
#define _Locale_S      0x00000008      /* Spacing character */
williamr@4
   129
#define _Locale_A      0x00004000      /* Alphabetical characters only */
williamr@4
   130
#define _Locale_B      0x00000040      /* Obsolete: was space char only */
williamr@4
   131
#define _Locale_PR     0x00008000      /* Printable characters only */
williamr@4
   132
#define _Locale_G      0x40000000      /* Graphic characters only */
williamr@4
   133
#define _Locale_BL     0x80000000      /* The blank character class */
williamr@4
   134
williamr@4
   135
/* Public bitmask macros, must be defined for every OS. These values, of
williamr@4
   136
 * course, are specific to IRIX. */
williamr@4
   137
williamr@4
   138
#define _Locale_CNTRL  0x00000020      /* Control character */
williamr@4
   139
#define _Locale_UPPER  0x00000001      /* Upper case */
williamr@4
   140
#define _Locale_LOWER  0x00000002      /* Lower case */
williamr@4
   141
#define _Locale_DIGIT  0x00000004      /* Numeral (digit) */
williamr@4
   142
#define _Locale_XDIGIT 0x00000080      /* heXadecimal digit */
williamr@4
   143
#define _Locale_PUNCT  0x00000010      /* Punctuation */
williamr@4
   144
#define _Locale_SPACE  (_Locale_S | _Locale_BL)
williamr@4
   145
#define _Locale_PRINT  (_Locale_PUNCT | _Locale_UPPER | _Locale_LOWER | \
williamr@4
   146
                        _Locale_DIGIT | _Locale_A | _Locale_XDIGIT | \
williamr@4
   147
                        _Locale_PR)
williamr@4
   148
#define _Locale_ALPHA  _Locale_A
williamr@4
   149
williamr@4
   150
/*
williamr@4
   151
* All of these except for graph and blank are from the C standard;
williamr@4
   152
* graph and blank are XPG4.  (graph in XPG4 doesn't mean quite the
williamr@4
   153
* same thing as graph in the C++ library)
williamr@4
   154
*/
williamr@4
   155
williamr@4
   156
#endif /* IRIX */
williamr@4
   157
williamr@4
   158
williamr@4
   159
#if defined( __Lynx__ )
williamr@4
   160
 /* azov: On Lynx isalpha defined as (_U | _L), which gives us a mask 
williamr@4
   161
  * unusable in ctype_table. So we have to redefine it and use hard-coded 
williamr@4
   162
  * numbers (to avoid potential clashes if system headers change).
williamr@4
   163
  *
williamr@4
   164
  * P.S. Actually, I see no reason in using platform-specific masks - 
williamr@4
   165
  * having just one set of masks for all platforms should work just as
williamr@4
   166
  * well - we only use them internally and they don't have to be equal 
williamr@4
   167
  * to whatever defined in local ctype.h
williamr@4
   168
  *
williamr@4
   169
  */ 
williamr@4
   170
#   define _Locale_CNTRL  040     /* _C, Control character */
williamr@4
   171
#   define _Locale_UPPER  01      /* _U, Upper case */
williamr@4
   172
#   define _Locale_LOWER  02      /* _L, Lower case */
williamr@4
   173
#   define _Locale_DIGIT  04      /* _N, Numeral (digit) */
williamr@4
   174
#   define _Locale_XDIGIT 0200    /* _X, heXadecimal digit */
williamr@4
   175
#   define _Locale_PUNCT  020     /* _P, Punctuation */
williamr@4
   176
#   define _Locale_SPACE  010     /* _S, Spacing */
williamr@4
   177
#   define _Locale_ALPHA  040000  /* none, Alphanumerical */
williamr@4
   178
#   define _Locale_PRINT  (_Locale_PUNCT | _Locale_UPPER | _Locale_LOWER | \
williamr@4
   179
                           _Locale_DIGIT | _Locale_ALPHA | _Locale_XDIGIT |\
williamr@4
   180
                           _Locale_SPACE ) /* Printable */
williamr@4
   181
# endif /* __Lynx__ */
williamr@4
   182
williamr@4
   183
#if defined(__GNUC__) || defined (__BORLANDC__) || defined (__COMO__)
williamr@4
   184
williamr@4
   185
# if defined (__CYGWIN__)
williamr@4
   186
williamr@4
   187
#  define _Locale_CNTRL  040
williamr@4
   188
#  define _Locale_UPPER  02
williamr@4
   189
#  define _Locale_LOWER  01
williamr@4
   190
#  define _Locale_DIGIT  04
williamr@4
   191
#  define _Locale_XDIGIT ( 0100 | _Locale_DIGIT )
williamr@4
   192
#  define _Locale_PUNCT  020
williamr@4
   193
#  define _Locale_SPACE  010
williamr@4
   194
#  define _Locale_ALPHA  (_Locale_UPPER | _Locale_LOWER)
williamr@4
   195
#  define _Locale_PRINT  (_Locale_ALPHA | _Locale_DIGIT | _Locale_PUNCT | 0200 )
williamr@4
   196
williamr@4
   197
# elif defined (__FreeBSD__)
williamr@4
   198
williamr@4
   199
# define _Locale_CNTRL _CTYPE_C
williamr@4
   200
# define _Locale_UPPER _CTYPE_U
williamr@4
   201
# define _Locale_LOWER _CTYPE_L
williamr@4
   202
# define _Locale_DIGIT _CTYPE_D
williamr@4
   203
# define _Locale_XDIGIT _CTYPE_X
williamr@4
   204
# define _Locale_PUNCT _CTYPE_P
williamr@4
   205
# define _Locale_SPACE _CTYPE_S
williamr@4
   206
# define _Locale_PRINT _CTYPE_R
williamr@4
   207
# define _Locale_ALPHA _CTYPE_A
williamr@4
   208
williamr@4
   209
# elif defined (__NetBSD__) || defined (__amigaos__)
williamr@4
   210
 
williamr@4
   211
#  define _Locale_CNTRL _C
williamr@4
   212
#  define _Locale_UPPER _U
williamr@4
   213
#  define _Locale_LOWER _L
williamr@4
   214
#  define _Locale_DIGIT _N
williamr@4
   215
#  define _Locale_XDIGIT (_N|_X)
williamr@4
   216
#  define _Locale_PUNCT _P
williamr@4
   217
#  define _Locale_SPACE _S
williamr@4
   218
#  define _Locale_PRINT (_P|_U|_L|_N|_B)
williamr@4
   219
#  define _Locale_ALPHA (_U|_L)
williamr@4
   220
# elif defined(__EMX__) /* OS/2 with emx runtime */
williamr@4
   221
#  define _Locale_CNTRL _CNTRL
williamr@4
   222
#  define _Locale_UPPER _UPPER
williamr@4
   223
#  define _Locale_LOWER _LOWER
williamr@4
   224
#  define _Locale_DIGIT _DIGIT
williamr@4
   225
#  define _Locale_XDIGIT _XDIGIT
williamr@4
   226
#  define _Locale_PUNCT _PUNCT
williamr@4
   227
#  define _Locale_SPACE _SPACE
williamr@4
   228
#  define _Locale_PRINT _PRINT
williamr@4
   229
#  define _Locale_ALPHA (_UPPER|_LOWER)
williamr@4
   230
williamr@4
   231
# elif defined(_STLP_USE_GLIBC) /* linux, using the gnu compiler */
williamr@4
   232
williamr@4
   233
/* This section uses macros defined in the gnu libc ctype.h header */
williamr@4
   234
williamr@4
   235
#  define _Locale_CNTRL  _IScntrl
williamr@4
   236
#  define _Locale_UPPER  _ISupper
williamr@4
   237
#  define _Locale_LOWER  _ISlower
williamr@4
   238
#  define _Locale_DIGIT  _ISdigit
williamr@4
   239
#  define _Locale_XDIGIT _ISxdigit
williamr@4
   240
#  define _Locale_PUNCT  _ISpunct
williamr@4
   241
#  define _Locale_SPACE  _ISspace
williamr@4
   242
#  define _Locale_PRINT  _ISprint
williamr@4
   243
#  define _Locale_ALPHA  _ISalpha
williamr@4
   244
williamr@4
   245
#  endif /* GLIBC */
williamr@4
   246
williamr@4
   247
#endif /* gnu */
williamr@4
   248
williamr@4
   249
#if ( defined(__sun) && defined (__SVR4) ) \
williamr@4
   250
    || (defined (__digital__) && defined (__unix__)) \
williamr@4
   251
    || defined(_AIX)
williamr@4
   252
/* fbp : condition from AT&T code*/
williamr@4
   253
#if !(defined(__XPG4_CHAR_CLASS__) || defined(_XPG4_2) || \
williamr@4
   254
    (defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 == 4))) && ! defined (_ISCNTRL)
williamr@4
   255
  /* fbp : on 2.5.1, the defines are different ;( */
williamr@4
   256
  // # if ( defined (__sun) && defined (__SVR4) && ! defined (_ISCNTRL) )
williamr@4
   257
#   define _ISCNTRL _C
williamr@4
   258
#   define _ISUPPER _U
williamr@4
   259
#   define _ISLOWER _L
williamr@4
   260
#   define _ISDIGIT _N
williamr@4
   261
#   define _ISXDIGIT _X
williamr@4
   262
#   define _ISPUNCT _P
williamr@4
   263
#   define _ISSPACE _S
williamr@4
   264
#   define _ISPRINT (_P | _U | _L | _N | _B)
williamr@4
   265
#   define _ISALPHA (_U | _L)
williamr@4
   266
#  endif 
williamr@4
   267
williamr@4
   268
#  define _Locale_CNTRL  _ISCNTRL
williamr@4
   269
#  define _Locale_UPPER  _ISUPPER
williamr@4
   270
#  define _Locale_LOWER  _ISLOWER
williamr@4
   271
#  define _Locale_DIGIT  _ISDIGIT
williamr@4
   272
#  define _Locale_XDIGIT _ISXDIGIT
williamr@4
   273
#  define _Locale_PUNCT  _ISPUNCT
williamr@4
   274
#  define _Locale_SPACE  _ISSPACE
williamr@4
   275
#  define _Locale_PRINT  _ISPRINT
williamr@4
   276
#  define _Locale_ALPHA  _ISALPHA
williamr@4
   277
# elif defined(__SYMBIAN32__)
williamr@4
   278
# define _Locale_CNTRL _CTYPE_C
williamr@4
   279
# define _Locale_UPPER _CTYPE_U
williamr@4
   280
# define _Locale_LOWER _CTYPE_L
williamr@4
   281
# define _Locale_DIGIT _CTYPE_D
williamr@4
   282
# define _Locale_XDIGIT _CTYPE_X
williamr@4
   283
# define _Locale_PUNCT _CTYPE_P
williamr@4
   284
# define _Locale_SPACE _CTYPE_S
williamr@4
   285
# define _Locale_PRINT _CTYPE_R
williamr@4
   286
# define _Locale_ALPHA _CTYPE_A
williamr@4
   287
williamr@4
   288
#elif defined (__MWERKS__)
williamr@4
   289
#  define _Locale_CNTRL  __control_char
williamr@4
   290
#  define _Locale_UPPER  __upper_case
williamr@4
   291
#  define _Locale_LOWER  __lower_case
williamr@4
   292
#  define _Locale_DIGIT  __digit
williamr@4
   293
#  define _Locale_XDIGIT __hex_digit
williamr@4
   294
#  define _Locale_PUNCT  __punctuation
williamr@4
   295
#  define _Locale_SPACE  __space_char
williamr@4
   296
#  define _Locale_PRINT  __printable
williamr@4
   297
#  define _Locale_ALPHA  __alphanumeric
williamr@4
   298
#elif defined (__BORLANDC__)
williamr@4
   299
#  define _Locale_CNTRL  _IS_CTL
williamr@4
   300
#  define _Locale_UPPER  _IS_UPP
williamr@4
   301
#  define _Locale_LOWER  _IS_LOW
williamr@4
   302
#  define _Locale_DIGIT  _IS_DIG
williamr@4
   303
#  define _Locale_XDIGIT _IS_HEX
williamr@4
   304
#  define _Locale_PUNCT  _IS_PUN
williamr@4
   305
#  define _Locale_SPACE  _IS_SP
williamr@4
   306
#  define _Locale_PRINT  (_IS_SP|_IS_PUN|_IS_UPP|_IS_LOW|_IS_DIG)
williamr@4
   307
#  define _Locale_ALPHA  _IS_ALPHA
williamr@4
   308
#elif defined (_MSC_VER) || ( defined (__MINGW32__) && !defined (__SYMBIAN32__))
williamr@4
   309
#  define _Locale_CNTRL  _CONTROL
williamr@4
   310
#  define _Locale_UPPER  _UPPER
williamr@4
   311
#  define _Locale_LOWER  _LOWER
williamr@4
   312
#  define _Locale_DIGIT  _DIGIT
williamr@4
   313
#  define _Locale_XDIGIT _HEX
williamr@4
   314
#  define _Locale_PUNCT  _PUNCT
williamr@4
   315
#  define _Locale_SPACE  _SPACE
williamr@4
   316
#  define _Locale_PRINT  (_ALPHA | _DIGIT | _BLANK | _PUNCT)
williamr@4
   317
// is this one has to be so complex ?  
williamr@4
   318
#  define _Locale_ALPHA  ( _ALPHA & ~ (_UPPER | _LOWER )) 
williamr@4
   319
#elif defined (__DMC__)
williamr@4
   320
#  define _Locale_CNTRL  _CONTROL
williamr@4
   321
#  define _Locale_UPPER  _UPPER
williamr@4
   322
#  define _Locale_LOWER  _LOWER
williamr@4
   323
#  define _Locale_DIGIT  _DIGIT
williamr@4
   324
#  define _Locale_XDIGIT _HEX
williamr@4
   325
#  define _Locale_PUNCT  _PUNCT
williamr@4
   326
#  define _Locale_SPACE  _SPACE
williamr@4
   327
#  define _Locale_PRINT  (_UPPER | _LOWER | _DIGIT | _PUNCT | _SPACE)
williamr@4
   328
#  define _Locale_ALPHA  _ALPHA
williamr@4
   329
#elif defined(__MRC__) || defined(__SC__)		//*TY 02/24/2000 - added support for MPW
williamr@4
   330
#  define _Locale_CNTRL  _CTL
williamr@4
   331
#  define _Locale_UPPER  _UPP
williamr@4
   332
#  define _Locale_LOWER  _LOW
williamr@4
   333
#  define _Locale_DIGIT  _DIG
williamr@4
   334
#  define _Locale_XDIGIT _HEX
williamr@4
   335
#  define _Locale_PUNCT  _PUN
williamr@4
   336
#  define _Locale_SPACE  _BLA
williamr@4
   337
#  define _Locale_PRINT  (_UPP | _LOW | _DIG | _PUN | _BLA)
williamr@4
   338
#  define _Locale_ALPHA  (_UPP | _LOW)
williamr@4
   339
#elif defined(__MLCCPP__)
williamr@4
   340
#  define _Locale_CNTRL    1
williamr@4
   341
#  define _Locale_UPPER    2
williamr@4
   342
#  define _Locale_LOWER    4
williamr@4
   343
#  define _Locale_DIGIT    8
williamr@4
   344
#  define _Locale_XDIGIT  16
williamr@4
   345
#  define _Locale_PUNCT   32
williamr@4
   346
#  define _Locale_SPACE   64
williamr@4
   347
#  define _Locale_PRINT  128
williamr@4
   348
#  define _Locale_ALPHA  256
williamr@4
   349
williamr@4
   350
# elif defined (__GNUC__) && defined (__APPLE__)
williamr@4
   351
 
williamr@4
   352
# define _Locale_CNTRL _C
williamr@4
   353
# define _Locale_UPPER _U
williamr@4
   354
# define _Locale_LOWER _L
williamr@4
   355
# define _Locale_DIGIT _D
williamr@4
   356
# define _Locale_XDIGIT _X
williamr@4
   357
# define _Locale_PUNCT _P
williamr@4
   358
# define _Locale_SPACE _S
williamr@4
   359
# define _Locale_PRINT _R
williamr@4
   360
# define _Locale_ALPHA _A
williamr@4
   361
williamr@4
   362
# elif defined (__hpux) || defined (__osf__)
williamr@4
   363
 
williamr@4
   364
#   if defined(__HP_aCC) && !defined(_INCLUDE_HPUX_SOURCE)
williamr@4
   365
#     define _ISALPHA      0x001
williamr@4
   366
#     define _ISALNUM      0x002
williamr@4
   367
#     define _ISBLANK      0x004
williamr@4
   368
#     define _ISCNTRL      0x008
williamr@4
   369
#     define _ISDIGIT      0x010
williamr@4
   370
#     define _ISGRAPH      0x020
williamr@4
   371
#     define _ISLOWER      0x040
williamr@4
   372
#     define _ISPRINT      0x080
williamr@4
   373
#     define _ISPUNCT      0x100
williamr@4
   374
#     define _ISSPACE      0x200
williamr@4
   375
#     define _ISUPPER      0x400
williamr@4
   376
#     define _ISXDIGIT     0x800
williamr@4
   377
#  endif
williamr@4
   378
#  define _Locale_CNTRL  _ISCNTRL
williamr@4
   379
#  define _Locale_UPPER  _ISUPPER
williamr@4
   380
#  define _Locale_LOWER  _ISLOWER
williamr@4
   381
#  define _Locale_DIGIT  _ISDIGIT
williamr@4
   382
#  define _Locale_XDIGIT _ISXDIGIT
williamr@4
   383
#  define _Locale_PUNCT  _ISPUNCT
williamr@4
   384
#  define _Locale_SPACE  _ISSPACE
williamr@4
   385
#  define _Locale_PRINT  _ISPRINT
williamr@4
   386
#  define _Locale_ALPHA  _ISALPHA
williamr@4
   387
# elif defined (__MVS__) || defined(__OS400__)
williamr@4
   388
#  define _Locale_CNTRL __ISCNTRL
williamr@4
   389
#  define _Locale_UPPER __ISUPPER
williamr@4
   390
#  define _Locale_LOWER __ISLOWER
williamr@4
   391
#  define _Locale_DIGIT __ISDIGIT
williamr@4
   392
#  define _Locale_XDIGIT __ISXDIGIT
williamr@4
   393
#  define _Locale_PUNCT __ISPUNCT
williamr@4
   394
#  define _Locale_SPACE __ISSPACE
williamr@4
   395
#  define _Locale_PRINT __ISPRINT
williamr@4
   396
#  define _Locale_ALPHA __ISALPHA
williamr@4
   397
# elif defined (__QNXNTO__)  || defined (__WATCOMC__)
williamr@4
   398
# define _Locale_CNTRL _CNTRL
williamr@4
   399
# define _Locale_UPPER _UPPER
williamr@4
   400
# define _Locale_LOWER _LOWER
williamr@4
   401
# define _Locale_DIGIT _DIGIT
williamr@4
   402
# define _Locale_XDIGIT _XDIGT
williamr@4
   403
# define _Locale_PUNCT _PUNCT
williamr@4
   404
# define _Locale_SPACE _SPACE
williamr@4
   405
# define _Locale_PRINT _PRINT
williamr@4
   406
# define _Locale_ALPHA (_UPPER | _LOWER)
williamr@4
   407
#elif defined (__DJGPP)
williamr@4
   408
#  define _Locale_CNTRL  __dj_ISCNTRL
williamr@4
   409
#  define _Locale_UPPER  __dj_ISUPPER
williamr@4
   410
#  define _Locale_LOWER  __dj_ISLOWER
williamr@4
   411
#  define _Locale_DIGIT  __dj_ISDIGIT
williamr@4
   412
#  define _Locale_XDIGIT __dj_ISXDIGIT
williamr@4
   413
#  define _Locale_PUNCT  __dj_ISPUNCT
williamr@4
   414
#  define _Locale_SPACE  __dj_ISSPACE
williamr@4
   415
#  define _Locale_PRINT  __dj_ISPRINT
williamr@4
   416
#  define _Locale_ALPHA  __dj_ISALPHA
williamr@4
   417
#elif defined (_STLP_SCO_OPENSERVER)
williamr@4
   418
#  define _Locale_CNTRL _C
williamr@4
   419
#  define _Locale_UPPER _U
williamr@4
   420
#  define _Locale_LOWER _L
williamr@4
   421
#  define _Locale_DIGIT _N
williamr@4
   422
#  define _Locale_XDIGIT _X
williamr@4
   423
#  define _Locale_PUNCT _P
williamr@4
   424
#  define _Locale_SPACE _S
williamr@4
   425
#  define _Locale_PRINT _R
williamr@4
   426
#  define _Locale_ALPHA _A
williamr@4
   427
#elif defined (__NCR_SVR)
williamr@4
   428
#  define _Locale_CNTRL _C
williamr@4
   429
#  define _Locale_UPPER _U
williamr@4
   430
#  define _Locale_LOWER _L
williamr@4
   431
#  define _Locale_DIGIT _N
williamr@4
   432
#  define _Locale_XDIGIT _X
williamr@4
   433
#  define _Locale_PUNCT _P
williamr@4
   434
#  define _Locale_SPACE _S
williamr@4
   435
#  define _Locale_PRINT (_P | _U | _L | _N | _B)
williamr@4
   436
#  define _Locale_ALPHA (_U | _L)
williamr@4
   437
#elif defined (_CRAY)
williamr@4
   438
#  define _Locale_CNTRL  _CNTRL
williamr@4
   439
#  define _Locale_UPPER  _UPPER
williamr@4
   440
#  define _Locale_LOWER  _LOWER
williamr@4
   441
#  define _Locale_DIGIT  _DIGIT
williamr@4
   442
#  define _Locale_XDIGIT _XDIGIT
williamr@4
   443
#  define _Locale_PUNCT  _PUNCT
williamr@4
   444
#  define _Locale_SPACE  _SPACE
williamr@4
   445
#  define _Locale_PRINT  _PRINT
williamr@4
   446
#  define _Locale_ALPHA  _ALPHA
williamr@4
   447
#elif defined (_STLP_VXWORKS_TORNADO)
williamr@4
   448
#define _Locale_UPPER _C_UPPER   /* 0x01 */
williamr@4
   449
#define _Locale_LOWER _C_LOWER /* 0x02 */
williamr@4
   450
#define _Locale_DIGIT  _C_NUMBER   /* 0x04 */
williamr@4
   451
#define _Locale_SPACE  _C_WHITE_SPACE   /* 0x08 */
williamr@4
   452
#define _Locale_PUNCT _C_PUNCT   /* 0x10 */
williamr@4
   453
#define _Locale_CNTRL _C_CONTROL   /* 0x20 */
williamr@4
   454
#define _Locale_XDIGIT _C_HEX_NUMBER   /* 0x40 */
williamr@4
   455
#define _Locale_PRINT  (_C_B | _C_UPPER |  _C_LOWER | _C_NUMBER | _C_PUNCT)
williamr@4
   456
#define _Locale_ALPHA (_C_UPPER |  _C_LOWER) 
williamr@4
   457
#endif
williamr@4
   458
williamr@4
   459
# endif /* _STLP_C_LOCALE_H */