139 lines
2.4 KiB
C
139 lines
2.4 KiB
C
/* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
|
|
#if __SC__ || __RCC__
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef __LOCALE_H
|
|
#define __LOCALE_H 1
|
|
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef __STDC__
|
|
#if !defined(_WCHAR_T_DEFINED)
|
|
typedef unsigned short wchar_t;
|
|
#define _WCHAR_T_DEFINED 1
|
|
#endif
|
|
#endif
|
|
|
|
/* Define _CRTAPI1 (for compatibility with the NT SDK) */
|
|
#ifndef _CRTAPI1
|
|
#define _CRTAPI1 __cdecl
|
|
#endif
|
|
|
|
/* Define _CRTAPI2 (for compatibility with the NT SDK) */
|
|
#ifndef _CRTAPI2
|
|
#define _CRTAPI2 __cdecl
|
|
#endif
|
|
|
|
/* Define CRTIMP */
|
|
#ifndef _CRTIMP
|
|
#if defined(_WIN32) && defined(_DLL)
|
|
#define _CRTIMP __declspec(dllimport)
|
|
#else
|
|
#define _CRTIMP
|
|
#endif
|
|
#endif
|
|
|
|
#if __OS2__ && __INTSIZE == 4
|
|
#define __CLIB __stdcall
|
|
#else
|
|
#define __CLIB __cdecl
|
|
#endif
|
|
|
|
#ifndef __NT__
|
|
enum _LOCALE
|
|
{ _LOCALE_C,
|
|
_LOCALE_USA,
|
|
_LOCALE_ITALY,
|
|
_LOCALE_NETHERLANDS,
|
|
_LOCALE_NORWAY,
|
|
_LOCALE_SWITZERLAND,
|
|
_LOCALE_UK,
|
|
_LOCALE_JAPAN,
|
|
_LOCALE_KOREA,
|
|
_LOCALE_CHINA,
|
|
_LOCALE_TAIWAN,
|
|
_LOCALE_MAX
|
|
};
|
|
#define _LOCALE_NATIVE _LOCALE_USA
|
|
#endif
|
|
|
|
#pragma pack(1)
|
|
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;
|
|
#ifndef __NT__
|
|
char lc[6];
|
|
#endif
|
|
char int_p_cs_precedes;
|
|
char int_n_cs_precedes;
|
|
char int_p_sep_by_space;
|
|
char int_n_sep_by_space;
|
|
char int_p_sign_posn;
|
|
char int_n_sign_posn;
|
|
};
|
|
|
|
#pragma pack()
|
|
|
|
#define LC_ALL 0
|
|
#define LC_COLLATE 1
|
|
#define LC_CTYPE 2
|
|
#define LC_MONETARY 3
|
|
#define LC_NUMERIC 4
|
|
#define LC_TIME 5
|
|
|
|
#define LC_MIN LC_ALL
|
|
#define LC_MAX LC_TIME
|
|
|
|
#ifndef NULL
|
|
#ifdef __cplusplus
|
|
#define NULL 0
|
|
#else
|
|
#define NULL ((void *)0)
|
|
#endif
|
|
#endif
|
|
|
|
char * __CLIB setlocale(int category, const char *locale);
|
|
struct lconv * __CLIB localeconv(void);
|
|
|
|
#ifdef _WIN32
|
|
#ifndef __STDC__
|
|
wchar_t * __CLIB _wsetlocale(int, const wchar_t *);
|
|
#endif
|
|
#endif
|
|
|
|
#if _CHAR_UNSIGNED
|
|
/*
|
|
The standard states localeconv should return valuse of CHAR_MAX,
|
|
well with -J, CHAR_MAX is 255 and not 127. To deal with this, we
|
|
need this extern to cause RTL startup code to fix up the lconv
|
|
structure returned from localeconv
|
|
*/
|
|
int __charmax;
|
|
#endif
|
|
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|