Fix some registry structures to match the Windows format.
[reactos.git] / reactos / tools / mkhive / mkhive.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2003 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19 /* $Id$
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS hive maker
22 * FILE: tools/mkhive/mkhive.h
23 * PURPOSE: Hive maker
24 * PROGRAMMER: Eric Kohl
25 */
26
27 #ifndef __MKHIVE_H__
28 #define __MKHIVE_H__
29
30
31 #define VOID void
32 typedef void *PVOID;
33 typedef char CHAR, *PCHAR;
34 typedef short WCHAR, *PWCHAR;
35 typedef unsigned char UCHAR, *PUCHAR;
36 typedef short SHORT, *PSHORT;
37 typedef unsigned short USHORT, *PUSHORT;
38 typedef long LONG, *PLONG;
39 typedef unsigned long ULONG, *PULONG;
40
41 typedef unsigned long ULONG_PTR;
42
43 typedef int BOOL, *PBOOL;
44
45 #ifndef FALSE
46 #define FALSE 0
47 #endif
48 #ifndef TRUE
49 #define TRUE 1
50 #endif
51
52 #ifndef NULL
53 #define NULL ((void*)0)
54 #endif
55
56
57 #ifndef max
58 #define max(a, b) (((a) > (b)) ? (a) : (b))
59 #endif
60
61 #ifndef min
62 #define min(a, b) (((a) < (b)) ? (a) : (b))
63 #endif
64
65
66 /* Debugging macros */
67
68 #ifdef _MSC_VER
69 #include <stdio.h>
70 #include <stdarg.h>
71 static void DPRINT1(const char* fmt, ... )
72 {
73 va_list args;
74 va_start ( args, fmt );
75 vprintf ( fmt, args );
76 va_end ( args );
77 }
78 static void DPRINT ( const char* fmt, ... )
79 {
80 }
81 #else
82 #define DPRINT1(args...) do { printf("(%s:%d) ",__FILE__,__LINE__); printf(args); } while(0);
83 #define DPRINT(args...)
84 #endif//_MSC_VER
85 #define CHECKPOINT1 do { printf("%s:%d\n",__FILE__,__LINE__); } while(0);
86
87 #define CHECKPOINT
88
89 #ifdef WIN32
90 #define strncasecmp strnicmp
91 #define strcasecmp stricmp
92 #endif//WIN32
93
94 #ifdef _MSC_VER
95 #define GCC_PACKED
96 #define inline
97 #else//_MSC_VER
98 #define GCC_PACKED __attribute__((packed))
99 #endif//_MSC_VER
100
101 #endif /* __MKHIVE_H__ */
102
103 /* EOF */