1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#ifndef _INC_WINAPIFAMILY
7#define _INC_WINAPIFAMILY
8
9#define WINAPI_FAMILY_PC_APP 2
10#define WINAPI_FAMILY_PHONE_APP 3
11#define WINAPI_FAMILY_SYSTEM 4
12#define WINAPI_FAMILY_SERVER 5
13#define WINAPI_FAMILY_DESKTOP_APP 100
14
15#define WINAPI_FAMILY_APP WINAPI_FAMILY_PC_APP
16
17#ifndef WINAPI_FAMILY
18#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
19#endif
20
21#ifndef WINAPI_PARTITION_DESKTOP
22#define WINAPI_PARTITION_DESKTOP (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
23#endif
24
25#ifndef WINAPI_PARTITION_APP
26#define WINAPI_PARTITION_APP (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP || \
27 WINAPI_FAMILY == WINAPI_FAMILY_PC_APP || \
28 WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
29#endif
30
31#ifndef WINAPI_PARTITION_PC_APP
32#define WINAPI_PARTITION_PC_APP (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP || \
33 WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
34#endif
35
36#ifndef WINAPI_PARTITION_PHONE_APP
37#define WINAPI_PARTITION_PHONE_APP (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
38#endif
39
40#ifndef WINAPI_PARTITION_SYSTEM
41#define WINAPI_PARTITION_SYSTEM (WINAPI_FAMILY == WINAPI_FAMILY_SYSTEM || \
42 WINAPI_FAMILY == WINAPI_FAMILY_SERVER)
43#endif
44
45#define WINAPI_PARTITION_PHONE WINAPI_PARTITION_PHONE_APP
46
47#define WINAPI_FAMILY_PARTITION(x) x
48
49#endif /* _INC_WINAPIFAMILY */