This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/locale.h

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