Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
p_defines.h
1 /* Libmacro - A multi-platform, extendable macro and hotkey C library
2  Copyright (C) 2013 Jonathan Pelletier, New Paradigm Software
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #ifndef MCR_WINDOWS_P_DEFINES_H_
20 #define MCR_WINDOWS_P_DEFINES_H_
21 
22 /* Windows Version */
23 /*# define _WIN32_WINNT _WIN32_WINNT_WINXP // 0x0501 */
24 #include <sdkddkver.h>
25 
26 /* Exclude rarely-used stuff from Windows headers,
27  * and we use min and max for naming. */
28 #ifndef WIN32_LEAN_AND_MEAN
29  #define WIN32_LEAN_AND_MEAN
30 #endif
31 #ifndef NOMINMAX
32  #define NOMINMAX
33 #endif
34 #include <Windows.h>
35 
36 #define mcr_snprintf _snprintf
37 #define mcr_casecmp _stricmp
38 #define mcr_ncasecmp _strnicmp
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /* timespec undefined before 2015 */
45 #if _MSC_VER < 1900
46 
47 #ifndef __timespec_defined
48 #define __timespec_defined 1
49 
50 #ifndef _TIMESPEC_DEFINED
51 #define _TIMESPEC_DEFINED
52 struct timespec {
53  int tv_sec;
54  int tv_nsec;
55 };
56 #endif
57 
58 #endif
59 
60 #endif
61 
62 /* For some reason hwheel is not always defined. */
63 #ifndef MOUSEEVENTF_HWHEEL
64 #define MOUSEEVENTF_HWHEEL 0x01000
65 #endif
66 
67 #ifndef WM_MOUSEHWHEEL
68  #define WM_MOUSEHWHEEL 0x020E
69 #endif
70 
71 
72 #ifndef MCR_INTERCEPT_WAIT_MILLIS
73  #define MCR_INTERCEPT_WAIT_MILLIS 5000
74 #endif
75 
76 #ifdef __cplusplus
77 }
78 #endif
79 
80 #endif