[NEWINFLIB]
[reactos.git] / reactos / lib / newinflib / builddep.h
1 /*
2 * PROJECT: .inf file parser
3 * LICENSE: GPL - See COPYING in the top level directory
4 * COPYRIGHT: Copyright 2005 Ge van Geldorp <gvg@reactos.org>
5 */
6
7 #ifdef INFLIB_HOST
8
9 /* Definitions native to the host on which we're building */
10
11 #include <host/typedefs.h>
12
13 #include <stdarg.h>
14 #include <stdio.h>
15 #include <string.h>
16 #include <errno.h>
17
18 #define FREE(Area) free(Area)
19 #define MALLOC(Size) malloc((size_t)(Size))
20 #define ZEROMEMORY(Area, Size) memset((Area), '\0', (size_t)(Size))
21 #define MEMCPY(Dest, Src, Size) memcpy((Dest), (Src), (size_t)(Size))
22
23 #define STATUS_SUCCESS 0
24 #define INF_STATUS_SUCCESS 0
25 #define INF_STATUS_NO_MEMORY ENOMEM
26 #define INF_STATUS_INVALID_PARAMETER EINVAL
27 #define INF_STATUS_NOT_FOUND ENOENT
28 #define INF_STATUS_BUFFER_OVERFLOW E2BIG
29 #define INF_SUCCESS(x) (0 == (x))
30
31 typedef char TCHAR, *PTCHAR, *PTSTR;
32 typedef const TCHAR *PCTSTR;
33
34 #define _T(x) x
35 #define _tcsicmp strcasecmp
36 #define _tcslen strlen
37 #define _tcscpy strcpy
38 #define _tcstoul strtoul
39 #define _tcstol strtol
40 #define STRFMT "%s"
41
42 #ifdef _MSC_VER
43 #define strcasecmp _stricmp
44 #endif
45
46 #define IS_TEXT_UNICODE_ASCII16 1
47 #define IS_TEXT_UNICODE_REVERSE_ASCII16 16
48 #define IS_TEXT_UNICODE_STATISTICS 2
49 #define IS_TEXT_UNICODE_REVERSE_STATISTICS 32
50 #define IS_TEXT_UNICODE_CONTROLS 4
51 #define IS_TEXT_UNICODE_REVERSE_CONTROLS 64
52 #define IS_TEXT_UNICODE_SIGNATURE 8
53 #define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128
54 #define IS_TEXT_UNICODE_ILLEGAL_CHARS 256
55 #define IS_TEXT_UNICODE_ODD_LENGTH 512
56 #define IS_TEXT_UNICODE_NULL_BYTES 4096
57 #define IS_TEXT_UNICODE_UNICODE_MASK 15
58 #define IS_TEXT_UNICODE_REVERSE_MASK 240
59 #define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840
60 #define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440
61
62 #else /* ! defined(INFLIB_HOST) */
63
64 /* ReactOS definitions */
65
66 #define UNICODE
67 #define _UNICODE
68 #define WIN32_NO_STATUS
69 #include <windows.h>
70 #define NTOS_MODE_USER
71 #include <ndk/ntndk.h>
72 #include <tchar.h>
73
74 extern PVOID InfpHeap;
75
76 #define FREE(Area) RtlFreeHeap(InfpHeap, 0, (Area))
77 #define MALLOC(Size) RtlAllocateHeap(InfpHeap, 0, (Size))
78 #define ZEROMEMORY(Area, Size) RtlZeroMemory((Area), (Size))
79 #define MEMCPY(Dest, Src, Size) RtlCopyMemory((Dest), (Src), (Size))
80
81 #define INF_STATUS_SUCCESS STATUS_SUCCESS
82 #define INF_STATUS_NO_MEMORY STATUS_NO_MEMORY
83 #define INF_STATUS_INVALID_PARAMETER STATUS_INVALID_PARAMETER
84 #define INF_STATUS_NOT_FOUND STATUS_NOT_FOUND
85 #define INF_STATUS_BUFFER_OVERFLOW STATUS_BUFFER_OVERFLOW
86 #define INF_SUCCESS(x) (0 <= (x))
87
88 #define STRFMT "%S"
89
90 #endif /* INFLIB_HOST */
91
92 /* EOF */