diff --git a/reactos/include/host/nls.h b/reactos/include/host/nls.h new file mode 100644 index 00000000000..041327b8a93 --- /dev/null +++ b/reactos/include/host/nls.h @@ -0,0 +1,134 @@ +/* + PROJECT: ReactOS + LICENSE: GPL v2 or any later version + FILE: include/host/nls.h + PURPOSE: NLS definitions for host tools + COPYRIGHT: Copyright 2007 Colin Finck +*/ + +#ifndef _HOST_NLS_H +#define _HOST_NLS_H + +#include + +typedef DWORD LCID; + +#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p)) +#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff) +#define SUBLANGID(l) ((WORD)(l)>>10) +#define LANGIDFROMLCID(l) ((WORD)(l)) + +#define LANG_AFRIKAANS 0x36 +#define LANG_ALBANIAN 0x1c +#define LANG_ARABIC 0x01 +#define LANG_ARMENIAN 0x2b +#define LANG_ASSAMESE 0x4d +#define LANG_AZERI 0x2c +#define LANG_BASQUE 0x2d +#define LANG_BELARUSIAN 0x23 +#define LANG_BENGALI 0x45 +#define LANG_BULGARIAN 0x02 +#define LANG_CATALAN 0x03 +#define LANG_CHINESE 0x04 +#define LANG_CROATIAN 0x1a +#define LANG_CZECH 0x05 +#define LANG_DANISH 0x06 +#define LANG_DIVEHI 0x65 +#define LANG_DUTCH 0x13 +#define LANG_ENGLISH 0x09 +#define LANG_ESTONIAN 0x25 +#define LANG_FAEROESE 0x38 +#define LANG_FARSI 0x29 +#define LANG_FINNISH 0x0b +#define LANG_FRENCH 0x0c +#define LANG_GALICIAN 0x56 +#define LANG_GEORGIAN 0x37 +#define LANG_GERMAN 0x07 +#define LANG_GREEK 0x08 +#define LANG_GUJARATI 0x47 +#define LANG_HEBREW 0x0d +#define LANG_HINDI 0x39 +#define LANG_HUNGARIAN 0x0e +#define LANG_ICELANDIC 0x0f +#define LANG_INDONESIAN 0x21 +#define LANG_IRISH 0x3c +#define LANG_ITALIAN 0x10 +#define LANG_JAPANESE 0x11 +#define LANG_KANNADA 0x4b +#define LANG_KASHMIRI 0x60 +#define LANG_KAZAK 0x3f +#define LANG_KONKANI 0x57 +#define LANG_KOREAN 0x12 +#define LANG_KYRGYZ 0x40 +#define LANG_LATVIAN 0x26 +#define LANG_LITHUANIAN 0x27 +#define LANG_MACEDONIAN 0x2f +#define LANG_MANIPURI 0x58 +#define LANG_MALAY 0x3e +#define LANG_MALAYALAM 0x4c +#define LANG_MARATHI 0x4e +#define LANG_MONGOLIAN 0x50 +#define LANG_NEPALI 0x61 +#define LANG_NEUTRAL 0x00 +#define LANG_NORWEGIAN 0x14 +#define LANG_ORIYA 0x48 +#define LANG_POLISH 0x15 +#define LANG_PORTUGUESE 0x16 +#define LANG_PUNJABI 0x46 +#define LANG_ROMANIAN 0x18 +#define LANG_ROMANSH 0x17 +#define LANG_RUSSIAN 0x19 +#define LANG_SAMI 0x3b +#define LANG_SANSKRIT 0x4f +#define LANG_SERBIAN 0x1a +#define LANG_SINDHI 0x59 +#define LANG_SLOVAK 0x1b +#define LANG_SLOVENIAN 0x24 +#define LANG_SPANISH 0x0a +#define LANG_SWAHILI 0x41 +#define LANG_SWEDISH 0x1d +#define LANG_SYRIAC 0x5a +#define LANG_TAJIK 0x28 +#define LANG_TAMIL 0x49 +#define LANG_TATAR 0x44 +#define LANG_TELUGU 0x4a +#define LANG_THAI 0x1e +#define LANG_TURKISH 0x1f +#define LANG_UKRAINIAN 0x22 +#define LANG_URDU 0x20 +#define LANG_UZBEK 0x43 +#define LANG_VIETNAMESE 0x2a + +/* non standard; keep the number high enough (but < 0xff) */ +#define LANG_ESPERANTO 0x8f +#define LANG_WALON 0x90 +#define LANG_CORNISH 0x91 +#define LANG_WELSH 0x92 +#define LANG_BRETON 0x93 + +/* FIXME: these are not in the Windows header */ +#define LANG_GAELIC 0x94 +#define LANG_MALTESE 0x3a +#define LANG_RHAETO_ROMANCE 0x17 +#define LANG_SAAMI 0x3b +#define LANG_SORBIAN 0x2e +#define LANG_LOWER_SORBIAN 0x2e +#define LANG_UPPER_SORBIAN 0x2e +#define LANG_SUTU 0x30 +#define LANG_TSONGA 0x31 +#define LANG_TSWANA 0x32 +#define LANG_VENDA 0x33 +#define LANG_XHOSA 0x34 +#define LANG_ZULU 0x35 + +/* Sublanguages */ +#define SUBLANG_AZERI_CYRILLIC 0x02 +#define SUBLANG_CHINESE_SINGAPORE 0x04 +#define SUBLANG_CHINESE_SIMPLIFIED 0x02 +#define SUBLANG_DEFAULT 0x01 +#define SUBLANG_NEUTRAL 0x00 +#define SUBLANG_NORWEGIAN_NYNORSK 0x02 +#define SUBLANG_SERBIAN_CYRILLIC 0x03 +#define SUBLANG_UZBEK_CYRILLIC 0x02 + +#endif diff --git a/reactos/include/host/typedefs.h b/reactos/include/host/typedefs.h index d4db440c480..5bc8ec41807 100644 --- a/reactos/include/host/typedefs.h +++ b/reactos/include/host/typedefs.h @@ -4,6 +4,7 @@ FILE: include/host/typedefs.h PURPOSE: Type definitions and useful macros for host tools COPYRIGHT: Copyright 2007 Hervé Poussineau + Copyright 2007 Colin Finck */ #ifndef _TYPEDEFS_HOST_H @@ -21,6 +22,7 @@ #error Unknown compiler #endif +/* Function attributes for GCC */ #if !defined(_MSC_VER) && !defined(__fastcall) #define __fastcall __attribute__((fastcall)) #endif @@ -31,6 +33,7 @@ #define __stdcall __attribute__((stdcall)) #endif +/* Basic definitions */ #define UNIMPLEMENTED { printf("%s unimplemented\n", __FUNCTION__); exit(1); } #define ASSERT(x) assert(x) #define ASSERTMSG(x, m) assert(x) @@ -53,6 +56,7 @@ #define ANYSIZE_ARRAY 1 +/* Type definitions */ typedef void VOID, *PVOID, *HANDLE; typedef HANDLE HKEY, *PHKEY; typedef unsigned char UCHAR, *PUCHAR, BYTE, *LPBYTE; @@ -66,6 +70,8 @@ typedef int LONG, *PLONG, *LPLONG; typedef unsigned int ULONG, *PULONG, DWORD, *LPDWORD; typedef long long LONGLONG; typedef unsigned long long ULONGLONG; +typedef int INT; +typedef unsigned int UINT, *PUINT, *LPUINT; typedef UCHAR BOOLEAN, *PBOOLEAN; typedef int BOOL; typedef long int W64 LONG_PTR, *PLONG_PTR; @@ -75,9 +81,11 @@ typedef unsigned short WCHAR, *PWCHAR, *PWSTR, *LPWSTR; typedef const unsigned short *PCWSTR, *LPCWSTR; typedef int NTSTATUS; typedef int POOL_TYPE; +typedef LONG HRESULT; #define MAXUSHORT USHRT_MAX +/* Widely used structures */ #include typedef struct _RTL_BITMAP { @@ -122,9 +130,7 @@ typedef struct _UNICODE_STRING } UNICODE_STRING, *PUNICODE_STRING; #include -// -// List Functions -// +/* List Functions */ static __inline VOID InitializeListHead( @@ -220,13 +226,25 @@ RemoveTailList( typedef const UNICODE_STRING *PCUNICODE_STRING; -#define NT_SUCCESS(x) ((x)>=0) -#define FIELD_OFFSET(t,f) ((LONG_PTR)&(((t*)0)->f)) -#define RTL_CONSTANT_STRING(s) { sizeof(s)-sizeof((s)[0]), sizeof(s), s } -#define CONTAINING_RECORD(address, type, field) ((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field)))) -#define RtlZeroMemory(Destination, Length) memset(Destination, 0, Length) -#define RtlCopyMemory(Destination, Source, Length) memcpy(Destination, Source, Length) -#define RtlMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length) +/* Widely used macros */ +#define min(a, b) ((a) < (b) ? (a) : (b)) +#define max(a,b) ((a) < (b) ? (b) : (a)) + +#define LOBYTE(w) ((BYTE)(w)) +#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF)) +#define LOWORD(l) ((WORD)((DWORD_PTR)(l))) +#define HIWORD(l) ((WORD)(((DWORD_PTR)(l)>>16)&0xFFFF)) +#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8))) +#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) + +#define NT_SUCCESS(x) ((x)>=0) +#define FIELD_OFFSET(t,f) ((LONG_PTR)&(((t*)0)->f)) +#define RTL_CONSTANT_STRING(s) { sizeof(s)-sizeof((s)[0]), sizeof(s), s } +#define CONTAINING_RECORD(address, type, field) ((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field)))) + +#define RtlZeroMemory(Destination, Length) memset(Destination, 0, Length) +#define RtlCopyMemory(Destination, Source, Length) memcpy(Destination, Source, Length) +#define RtlMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length) /* Prevent inclusion of some other headers */ #define __INTERNAL_DEBUG diff --git a/reactos/tools/widl/client.c b/reactos/tools/widl/client.c index 4bcce032be8..24c086b54db 100644 --- a/reactos/tools/widl/client.c +++ b/reactos/tools/widl/client.c @@ -29,13 +29,13 @@ #include #include -#include "windef.h" - #include "widl.h" #include "utils.h" #include "parser.h" #include "header.h" +#include + #include "widltypes.h" #include "typelib.h" #include "typelib_struct.h" diff --git a/reactos/tools/widl/hash.c b/reactos/tools/widl/hash.c index d67cb6b16a0..484e426b0e2 100644 --- a/reactos/tools/widl/hash.c +++ b/reactos/tools/widl/hash.c @@ -21,10 +21,7 @@ #include #include -#include "windef.h" -#include "winbase.h" -#include "winnls.h" - +#include #include "hash.h" static const unsigned char Lookup_16[128 * 3] = { diff --git a/reactos/tools/widl/header.c b/reactos/tools/widl/header.c index 19e566ebe42..10c42ffedad 100644 --- a/reactos/tools/widl/header.c +++ b/reactos/tools/widl/header.c @@ -30,7 +30,6 @@ #include #include -#include "windef.h" #include "widl.h" #include "utils.h" #include "parser.h" diff --git a/reactos/tools/widl/parser.tab.c b/reactos/tools/widl/parser.tab.c index 774d8086cee..b0eeb5a405f 100644 --- a/reactos/tools/widl/parser.tab.c +++ b/reactos/tools/widl/parser.tab.c @@ -356,8 +356,6 @@ #include #endif -#include "windef.h" - #include "widl.h" #include "utils.h" #include "parser.h" diff --git a/reactos/tools/widl/parser.y b/reactos/tools/widl/parser.y index b8e1c397a2d..24ec8703f6d 100644 --- a/reactos/tools/widl/parser.y +++ b/reactos/tools/widl/parser.y @@ -31,8 +31,6 @@ #include #endif -#include "windef.h" - #include "widl.h" #include "utils.h" #include "parser.h" diff --git a/reactos/tools/widl/server.c b/reactos/tools/widl/server.c index b4c7c7297e3..386fc1a1444 100644 --- a/reactos/tools/widl/server.c +++ b/reactos/tools/widl/server.c @@ -35,7 +35,6 @@ #include "utils.h" #include "parser.h" #include "header.h" -#include "windef.h" #include "widl.h" #include "typelib.h" diff --git a/reactos/tools/widl/typegen.c b/reactos/tools/widl/typegen.c index 68941b361ee..8b0d3313dec 100644 --- a/reactos/tools/widl/typegen.c +++ b/reactos/tools/widl/typegen.c @@ -37,7 +37,6 @@ #include "utils.h" #include "parser.h" #include "header.h" -#include "windef.h" #include "wine/list.h" #include "widl.h" diff --git a/reactos/tools/widl/typelib.c b/reactos/tools/widl/typelib.c index 5ff101beeb6..7ac2594c64e 100644 --- a/reactos/tools/widl/typelib.c +++ b/reactos/tools/widl/typelib.c @@ -35,9 +35,6 @@ #define NONAMELESSUNION #define NONAMELESSSTRUCT -#include "windef.h" -#include "winbase.h" - #include "widl.h" #include "utils.h" #include "parser.h" diff --git a/reactos/tools/widl/typelib_struct.h b/reactos/tools/widl/typelib_struct.h index d3b2ab5b2ba..34c3231c112 100644 --- a/reactos/tools/widl/typelib_struct.h +++ b/reactos/tools/widl/typelib_struct.h @@ -302,7 +302,7 @@ typedef struct { * */ -#include "pshpack1.h" +#include typedef struct { /*00*/ DWORD SLTG_magic; /* 0x47544c53 == "SLTG" */ @@ -599,7 +599,7 @@ WORD offset from start of block to SAFEARRAY WORD typeofarray */ -#include "poppack.h" +#include /*---------------------------END--------------------------------------------*/ #endif diff --git a/reactos/tools/widl/widl.mak b/reactos/tools/widl/widl.mak index cb328cdfbcb..c5664c5d709 100644 --- a/reactos/tools/widl/widl.mak +++ b/reactos/tools/widl/widl.mak @@ -59,7 +59,7 @@ WIDL_OBJECTS = \ WIDL_HOST_CFLAGS = \ -DINT16=SHORT -DYYDEBUG=1 \ -I$(WIDL_BASE) -I$(WPP_BASE) \ - -Iinclude/reactos/wine -Iinclude/reactos -Iinclude/psdk \ + -Iinclude/reactos/wine -Iinclude/reactos -Iinclude \ -I$(INTERMEDIATE_)include $(TOOLS_CFLAGS) WIDL_HOST_LFLAGS = $(TOOLS_LFLAGS) diff --git a/reactos/tools/widl/widltypes.h b/reactos/tools/widl/widltypes.h index b0a18165923..f361f03ed79 100644 --- a/reactos/tools/widl/widltypes.h +++ b/reactos/tools/widl/widltypes.h @@ -21,6 +21,12 @@ #ifndef __WIDL_WIDLTYPES_H #define __WIDL_WIDLTYPES_H +#include +#define S_OK ((HRESULT)0x00000000L) +#define S_FALSE ((HRESULT)0x00000001L) +#define E_OUTOFMEMORY ((HRESULT)0x8007000EL) +#define TYPE_E_IOERROR ((HRESULT)0x80028CA2L) + #include #include "guiddef.h" #include "wine/rpcfc.h" @@ -30,9 +36,6 @@ typedef GUID UUID; #endif -#define TRUE 1 -#define FALSE 0 - typedef struct _attr_t attr_t; typedef struct _expr_t expr_t; typedef struct _type_t type_t; diff --git a/reactos/tools/widl/write_msft.c b/reactos/tools/widl/write_msft.c index 7c85b20839e..8be205375ea 100644 --- a/reactos/tools/widl/write_msft.c +++ b/reactos/tools/widl/write_msft.c @@ -40,10 +40,7 @@ #define NONAMELESSUNION #define NONAMELESSSTRUCT -#include "winerror.h" -#include "windef.h" -#include "winbase.h" -#include "winnls.h" +#include #include "widltypes.h" #include "typelib.h" diff --git a/reactos/tools/wrc/wrcrostypes.h b/reactos/tools/wrc/wrcrostypes.h index c7deb49de10..6187aac8e62 100644 --- a/reactos/tools/wrc/wrcrostypes.h +++ b/reactos/tools/wrc/wrcrostypes.h @@ -10,19 +10,13 @@ #define _WRC_ROSTYPES_H #include +#include #include // Definitions copied from various files // We only want to include host headers, so we define them manually -#define LOBYTE(w) ((BYTE)(w)) -#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF)) -#define LOWORD(l) ((WORD)((DWORD_PTR)(l))) -#define HIWORD(l) ((WORD)(((DWORD_PTR)(l)>>16)&0xFFFF)) -#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p)) #define VS_FFI_SIGNATURE 0xFEEF04BD #define VS_FFI_STRUCVERSION 0x10000 -#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff) -#define SUBLANGID(l) ((WORD)(l)>>10) #define BS_3STATE 5 #define BS_AUTO3STATE 6 @@ -61,104 +55,6 @@ #define WS_TABSTOP 0x10000 #define WS_VISIBLE 0x10000000 -#define LANG_AFRIKAANS 0x36 -#define LANG_ALBANIAN 0x1c -#define LANG_ARABIC 0x01 -#define LANG_ARMENIAN 0x2b -#define LANG_AZERI 0x2c -#define LANG_BASQUE 0x2d -#define LANG_BELARUSIAN 0x23 -#define LANG_BULGARIAN 0x02 -#define LANG_CATALAN 0x03 -#define LANG_CHINESE 0x04 -#define LANG_CROATIAN 0x1a -#define LANG_CZECH 0x05 -#define LANG_DANISH 0x06 -#define LANG_DIVEHI 0x65 -#define LANG_DUTCH 0x13 -#define LANG_ENGLISH 0x09 -#define LANG_ESTONIAN 0x25 -#define LANG_FAEROESE 0x38 -#define LANG_FARSI 0x29 -#define LANG_FINNISH 0x0b -#define LANG_FRENCH 0x0c -#define LANG_GALICIAN 0x56 -#define LANG_GEORGIAN 0x37 -#define LANG_GERMAN 0x07 -#define LANG_GREEK 0x08 -#define LANG_GUJARATI 0x47 -#define LANG_HEBREW 0x0d -#define LANG_HINDI 0x39 -#define LANG_HUNGARIAN 0x0e -#define LANG_ICELANDIC 0x0f -#define LANG_INDONESIAN 0x21 -#define LANG_ITALIAN 0x10 -#define LANG_JAPANESE 0x11 -#define LANG_KANNADA 0x4b -#define LANG_KAZAK 0x3f -#define LANG_KONKANI 0x57 -#define LANG_KOREAN 0x12 -#define LANG_KYRGYZ 0x40 -#define LANG_LATVIAN 0x26 -#define LANG_LITHUANIAN 0x27 -#define LANG_MACEDONIAN 0x2f -#define LANG_MALAY 0x3e -#define LANG_MARATHI 0x4e -#define LANG_MONGOLIAN 0x50 -#define LANG_NEUTRAL 0x00 -#define LANG_NORWEGIAN 0x14 -#define LANG_POLISH 0x15 -#define LANG_PORTUGUESE 0x16 -#define LANG_PUNJABI 0x46 -#define LANG_ROMANIAN 0x18 -#define LANG_RUSSIAN 0x19 -#define LANG_SANSKRIT 0x4f -#define LANG_SERBIAN 0x1a -#define LANG_SLOVAK 0x1b -#define LANG_SLOVENIAN 0x24 -#define LANG_SPANISH 0x0a -#define LANG_SWAHILI 0x41 -#define LANG_SWEDISH 0x1d -#define LANG_SYRIAC 0x5a -#define LANG_TAMIL 0x49 -#define LANG_TATAR 0x44 -#define LANG_TELUGU 0x4a -#define LANG_THAI 0x1e -#define LANG_TURKISH 0x1f -#define LANG_UKRAINIAN 0x22 -#define LANG_URDU 0x20 -#define LANG_UZBEK 0x43 -#define LANG_VIETNAMESE 0x2a - -/* non standard; keep the number high enough (but < 0xff) */ -#define LANG_ESPERANTO 0x8f -#define LANG_WALON 0x90 -#define LANG_CORNISH 0x91 -#define LANG_WELSH 0x92 -#define LANG_BRETON 0x93 - -/* FIXME: these are not in the Windows header */ -#define LANG_GAELIC 0x94 -#define LANG_MALTESE 0x3a -#define LANG_RHAETO_ROMANCE 0x17 -#define LANG_SAAMI 0x3b -#define LANG_SORBIAN 0x2e -#define LANG_LOWER_SORBIAN 0x2e -#define LANG_UPPER_SORBIAN 0x2e -#define LANG_SUTU 0x30 -#define LANG_TSONGA 0x31 -#define LANG_TSWANA 0x32 -#define LANG_VENDA 0x33 -#define LANG_XHOSA 0x34 -#define LANG_ZULU 0x35 - -#define SUBLANG_AZERI_CYRILLIC 0x02 -#define SUBLANG_CHINESE_SINGAPORE 0x04 -#define SUBLANG_CHINESE_SIMPLIFIED 0x02 -#define SUBLANG_NEUTRAL 0x00 -#define SUBLANG_SERBIAN_CYRILLIC 0x03 -#define SUBLANG_UZBEK_CYRILLIC 0x02 - #include typedef struct tagBITMAPFILEHEADER { WORD bfType;