ReactOS 0.4.15-dev-7934-g1dc8d80
country.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: subsystems/mvdm/ntvdm/dos/dos32krnl/country.h
5 * PURPOSE: DOS32 Country support
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 *
8 * NOTE: Support for default (english) language only.
9 * For other languages, please use COUNTRY.SYS
10 */
11
12#ifndef _COUNTRY_H_
13#define _COUNTRY_H_
14
15/* DEFINITIONS ****************************************************************/
16
17#pragma pack(push, 1)
18
19#if 0 // Keep here for information purposes only
20// DOS 2.00-2.10 country info structure
21typedef struct _DOS_COUNTRY_INFO_OLD
22{
23 WORD DateTimeFormat;
24 CHAR CurrencySymbol[2];
25 CHAR ThousandSep[2];
26 CHAR DecimalSep[2];
27 BYTE Reserved[24];
28} DOS_COUNTRY_INFO_OLD, *PDOS_COUNTRY_INFO_OLD;
29C_ASSERT(sizeof(DOS_COUNTRY_INFO_OLD) == 0x20);
30#endif
31
32// DOS 2.11+ compatible country info structure
33typedef struct _DOS_COUNTRY_INFO
34{
48C_ASSERT(sizeof(DOS_COUNTRY_INFO) == 0x22);
49
51{
58
59typedef struct _DOS_COUNTRY_INFO_2
60{
62 union
63 {
65
68
71
74 };
76
77#pragma pack(pop)
78
79/* FUNCTIONS ******************************************************************/
80
81WORD
83 OUT PDOS_COUNTRY_INFO CountryInfo);
84
85WORD
87 IN WORD CodePage,
88 IN WORD CountryId,
89 OUT PDOS_COUNTRY_INFO_2 CountryInfo,
91
93CHAR DosToUpper(CHAR Char);
94VOID DosToUpperStrN(PCHAR DestStr, PCHAR SrcStr, WORD Length);
95VOID DosToUpperStrZ(PSTR DestStr, PSTR SrcStr);
96
98
99#endif /* _COUNTRY_H_ */
unsigned char BOOLEAN
WORD DosIfCharYesNo(WORD Char)
Definition: country.c:204
VOID DosToUpperStrZ(PSTR DestStr, PSTR SrcStr)
Definition: country.c:230
BOOLEAN DosCountryInitialize(VOID)
Definition: country.c:236
WORD DosGetCountryInfoEx(IN BYTE InfoId, IN WORD CodePage, IN WORD CountryId, OUT PDOS_COUNTRY_INFO_2 CountryInfo, IN OUT PWORD BufferSize)
Definition: country.c:141
struct _DOS_COUNTRY_INFO * PDOS_COUNTRY_INFO
struct _DOS_COUNTRY_INFO_EX DOS_COUNTRY_INFO_EX
struct _DOS_COUNTRY_INFO DOS_COUNTRY_INFO
WORD DosGetCountryInfo(IN OUT PWORD CountryId, OUT PDOS_COUNTRY_INFO CountryInfo)
Definition: country.c:77
CHAR DosToUpper(CHAR Char)
Definition: country.c:218
VOID DosToUpperStrN(PCHAR DestStr, PCHAR SrcStr, WORD Length)
Definition: country.c:224
struct _DOS_COUNTRY_INFO_2 * PDOS_COUNTRY_INFO_2
struct _DOS_COUNTRY_INFO_EX * PDOS_COUNTRY_INFO_EX
struct _DOS_COUNTRY_INFO_2 DOS_COUNTRY_INFO_2
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define C_ASSERT(e)
Definition: intsafe.h:73
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
WORD * PWORD
Definition: pedump.c:67
DWORD FNameUpCaseTblPtr
Definition: country.h:69
DOS_COUNTRY_INFO_EX CountryInfoEx
Definition: country.h:64
DWORD LoCaseTblPtr
Definition: country.h:67
DWORD CollateTblPtr
Definition: country.h:72
DWORD UpCaseTblPtr
Definition: country.h:66
DWORD FNameTermTblPtr
Definition: country.h:70
DWORD DBCSLeadTblPtr
Definition: country.h:73
DOS_COUNTRY_INFO CountryInfo
Definition: country.h:55
WORD DateTimeFormat
Definition: country.h:35
CHAR CurrencySymbol[5]
Definition: country.h:36
CHAR DataListSep[2]
Definition: country.h:45
CHAR DateSep[2]
Definition: country.h:39
DWORD CaseMapPtr
Definition: country.h:44
BYTE CurrencyDigitsNum
Definition: country.h:42
CHAR TimeSep[2]
Definition: country.h:40
CHAR ThousandSep[2]
Definition: country.h:37
BYTE CurrencyFormat
Definition: country.h:41
CHAR DecimalSep[2]
Definition: country.h:38
char * PSTR
Definition: typedefs.h:51
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
char CHAR
Definition: xmlstorage.h:175
unsigned char BYTE
Definition: xxhash.c:193