2000-02-18 03:38:33 +08:00
|
|
|
/*
|
|
|
|
* locale.h
|
2004-04-21 06:49:32 +08:00
|
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
|
|
* This file is a part of the mingw-runtime package.
|
|
|
|
* No warranty is given; refer to the file DISCLAIMER within the package.
|
2000-02-18 03:38:33 +08:00
|
|
|
*
|
|
|
|
* Functions and types for localization (ie. changing the appearance of
|
|
|
|
* output based on the standards of a certain country).
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _LOCALE_H_
|
|
|
|
#define _LOCALE_H_
|
|
|
|
|
|
|
|
/* All the headers include this file. */
|
|
|
|
#include <_mingw.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* NOTE: I have tried to test this, but I am limited by my knowledge of
|
|
|
|
* locale issues. The structure does not bomb if you look at the
|
|
|
|
* values, and 'decimal_point' even seems to be correct. But the
|
|
|
|
* rest of the values are, by default, not particularly useful
|
|
|
|
* (read meaningless and not related to the international settings
|
|
|
|
* of the system).
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define LC_ALL 0
|
|
|
|
#define LC_COLLATE 1
|
|
|
|
#define LC_CTYPE 2
|
|
|
|
#define LC_MONETARY 3
|
|
|
|
#define LC_NUMERIC 4
|
|
|
|
#define LC_TIME 5
|
2001-01-16 22:51:03 +08:00
|
|
|
#define LC_MIN LC_ALL
|
|
|
|
#define LC_MAX LC_TIME
|
2000-02-18 03:38:33 +08:00
|
|
|
|
|
|
|
#ifndef RC_INVOKED
|
|
|
|
|
2003-02-07 10:13:55 +08:00
|
|
|
/* According to C89 std, NULL is defined in locale.h too. */
|
|
|
|
#define __need_NULL
|
|
|
|
#include <stddef.h>
|
|
|
|
|
2000-02-18 03:38:33 +08:00
|
|
|
/*
|
|
|
|
* The structure returned by 'localeconv'.
|
|
|
|
*/
|
|
|
|
struct lconv
|
|
|
|
{
|
|
|
|
char* decimal_point;
|
|
|
|
char* thousands_sep;
|
|
|
|
char* grouping;
|
|
|
|
char* int_curr_symbol;
|
|
|
|
char* currency_symbol;
|
|
|
|
char* mon_decimal_point;
|
|
|
|
char* mon_thousands_sep;
|
|
|
|
char* mon_grouping;
|
|
|
|
char* positive_sign;
|
|
|
|
char* negative_sign;
|
|
|
|
char int_frac_digits;
|
|
|
|
char frac_digits;
|
|
|
|
char p_cs_precedes;
|
|
|
|
char p_sep_by_space;
|
|
|
|
char n_cs_precedes;
|
|
|
|
char n_sep_by_space;
|
|
|
|
char p_sign_posn;
|
|
|
|
char n_sign_posn;
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2003-02-11 05:13:34 +08:00
|
|
|
_CRTIMP char* __cdecl setlocale (int, const char*);
|
|
|
|
_CRTIMP struct lconv* __cdecl localeconv (void);
|
2000-02-18 03:38:33 +08:00
|
|
|
|
2001-01-16 22:51:03 +08:00
|
|
|
#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */
|
|
|
|
# define __need_wchar_t
|
|
|
|
# include <stddef.h>
|
2003-02-11 05:13:34 +08:00
|
|
|
_CRTIMP wchar_t* __cdecl _wsetlocale(int, const wchar_t*);
|
2001-01-16 22:51:03 +08:00
|
|
|
# define _WLOCALE_DEFINED
|
|
|
|
#endif /* ndef _WLOCALE_DEFINED */
|
|
|
|
|
2000-02-18 03:38:33 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* Not RC_INVOKED */
|
|
|
|
|
|
|
|
#endif /* Not _LOCALE_H_ */
|
|
|
|
|