home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / locale.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  2KB  |  89 lines

  1. /* 
  2.  * locale.h
  3.  * This file has no copyright assigned and is placed in the Public Domain.
  4.  * This file is a part of the mingw-runtime package.
  5.  * No warranty is given; refer to the file DISCLAIMER within the package.
  6.  *
  7.  * Functions and types for localization (ie. changing the appearance of
  8.  * output based on the standards of a certain country).
  9.  *
  10.  */
  11.  
  12. #ifndef    _LOCALE_H_
  13. #define    _LOCALE_H_
  14.  
  15. /* All the headers include this file. */
  16. #include <_mingw.h>
  17.  
  18. /*
  19.  * NOTE: I have tried to test this, but I am limited by my knowledge of
  20.  *       locale issues. The structure does not bomb if you look at the
  21.  *       values, and 'decimal_point' even seems to be correct. But the
  22.  *       rest of the values are, by default, not particularly useful
  23.  *       (read meaningless and not related to the international settings
  24.  *       of the system).
  25.  */
  26.  
  27. #define    LC_ALL        0
  28. #define LC_COLLATE    1
  29. #define LC_CTYPE    2
  30. #define    LC_MONETARY    3
  31. #define    LC_NUMERIC    4
  32. #define    LC_TIME        5
  33. #define    LC_MIN        LC_ALL
  34. #define    LC_MAX        LC_TIME
  35.  
  36. #ifndef RC_INVOKED
  37.  
  38. /* According to C89 std, NULL is defined in locale.h too.  */
  39. #define __need_NULL
  40. #include <stddef.h>
  41.  
  42. /*
  43.  * The structure returned by 'localeconv'.
  44.  */
  45. struct lconv
  46. {
  47.     char*    decimal_point;
  48.     char*    thousands_sep;
  49.     char*    grouping;
  50.     char*    int_curr_symbol;
  51.     char*    currency_symbol;
  52.     char*    mon_decimal_point;
  53.     char*    mon_thousands_sep;
  54.     char*    mon_grouping;
  55.     char*    positive_sign;
  56.     char*    negative_sign;
  57.     char    int_frac_digits;
  58.     char    frac_digits;
  59.     char    p_cs_precedes;
  60.     char    p_sep_by_space;
  61.     char    n_cs_precedes;
  62.     char    n_sep_by_space;
  63.     char    p_sign_posn;
  64.     char    n_sign_posn;
  65. };
  66.  
  67. #ifdef    __cplusplus
  68. extern "C" {
  69. #endif
  70.  
  71. _CRTIMP  char* __cdecl setlocale (int, const char*);
  72. _CRTIMP struct lconv* __cdecl localeconv (void);
  73.  
  74. #ifndef _WLOCALE_DEFINED  /* also declared in wchar.h */
  75. # define __need_wchar_t
  76. # include <stddef.h>
  77.   _CRTIMP wchar_t* __cdecl _wsetlocale(int, const wchar_t*);
  78. # define _WLOCALE_DEFINED
  79. #endif /* ndef _WLOCALE_DEFINED */
  80.  
  81. #ifdef    __cplusplus
  82. }
  83. #endif
  84.  
  85. #endif    /* Not RC_INVOKED */
  86.  
  87. #endif    /* Not _LOCALE_H_ */
  88.  
  89.