update for HEAD-2002110701
[reactos.git] / include / crtdll / locale.h
1 /* 
2  * locale.h
3  *
4  * Functions and types for localization (ie. changing the appearance of
5  * output based on the standards of a certain country).
6  *
7  * This file is part of the Mingw32 package.
8  *
9  * Contributors:
10  *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
11  *
12  *  THIS SOFTWARE IS NOT COPYRIGHTED
13  *
14  *  This source code is offered for use in the public domain. You may
15  *  use, modify or distribute it freely.
16  *
17  *  This code is distributed in the hope that it will be useful but
18  *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
19  *  DISCLAMED. This includes but is not limited to warranties of
20  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21  *
22  * $Revision$
23  * $Author$
24  * $Date$
25  *
26  */
27
28 #ifndef _LOCALE_H_
29 #define _LOCALE_H_
30
31 #ifdef  __cplusplus
32 extern "C" {
33 #endif
34
35 /*
36  * NOTE: I have tried to test this, but I am limited by my knowledge of
37  *       locale issues. The structure does not bomb if you look at the
38  *       values, and 'decimal_point' even seems to be correct. But the
39  *       rest of the values are, by default, not particularly useful
40  *       (read meaningless and not related to the international settings
41  *       of the system).
42  */
43
44 #define LC_ALL          0
45 #define LC_COLLATE      1
46 #define LC_CTYPE        2
47 #define LC_MONETARY     3
48 #define LC_NUMERIC      4
49 #define LC_TIME         5
50
51 /*
52  * The structure returned by 'localeconv'.
53  */
54 struct lconv
55 {
56         char*   decimal_point;
57         char*   thousands_sep;
58         char*   grouping;
59         char*   int_curr_symbol;
60         char*   currency_symbol;
61         char*   mon_decimal_point;
62         char*   mon_thousands_sep;
63         char*   mon_grouping;
64         char*   positive_sign;
65         char*   negative_sign;
66         char    int_frac_digits;
67         char    frac_digits;
68         char    p_cs_precedes;
69         char    p_sep_by_space;
70         char    n_cs_precedes;
71         char    n_sep_by_space;
72         char    p_sign_posn;
73         char    n_sign_posn;
74 };
75
76 char*           setlocale (int nCategory, const char* locale);
77 struct lconv*   localeconv (void);
78
79 #ifdef  __cplusplus
80 }
81 #endif
82
83 #endif
84