[project] Rename winvblock__uint32 back to UINT32
[people/sha0/winvblock.git] / src / include / winvblock.h
1 /**
2  * Copyright (C) 2009-2011, Shao Miller <shao.miller@yrdsb.edu.on.ca>.
3  *
4  * This file is part of WinVBlock, derived from WinAoE.
5  * For WinAoE contact information, see http://winaoe.org/
6  *
7  * WinVBlock is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * WinVBlock is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with WinVBlock.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #ifndef WVL_M_WINVBLOCK_H_
21 #  define WVL_M_WINVBLOCK_H_
22
23 /**
24  * @file
25  *
26  * WinVBlock project common material.
27  *
28  */
29
30 #define WVL_M_LIT "WinVBlock"
31 #define WVL_M_WLIT L"WinVBlock"
32
33 /* A common way to define a type. */
34 #  define winvblock__def_type( old, new ) \
35 \
36 typedef old new, *new##_ptr
37
38 /* Set up type definitions for an enumated type. */
39 #  define winvblock__def_enum( x ) \
40 \
41 typedef enum _##x x, *x##_ptr
42
43 /* Common type definitions */
44 winvblock__def_type ( UINT16, winvblock__uint16 );
45 winvblock__def_type ( BOOLEAN, winvblock__bool );
46 typedef void *winvblock__any_ptr;
47
48 /* To export functions while serving as a library. */
49 #  ifdef PROJECT_BUS
50 #    define WVL_M_LIB __declspec(dllexport)
51 #  else
52 #    define WVL_M_LIB __declspec(dllimport)
53 #  endif
54
55 #endif  /* WVL_M_WINVBLOCK_H_ */