1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4//
5
6//
7// ===========================================================================
8// File: windows.h
9//
10// ===========================================================================
11// dummy winapifamily.h for PAL
12
13#ifndef _INC_WINAPIFAMILY
14#define _INC_WINAPIFAMILY
15
16//
17// Windows APIs can be placed in a partition represented by one of the below bits. The
18// WINAPI_FAMILY value determines which partitions are available to the client code.
19//
20
21#define WINAPI_PARTITION_DESKTOP 0x00000001
22#define WINAPI_PARTITION_APP 0x00000002
23
24// A family may be defined as the union of multiple families. WINAPI_FAMILY should be set
25// to one of these values.
26#define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
27#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP)
28
29// Provide a default for WINAPI_FAMILY if needed.
30#ifndef WINAPI_FAMILY
31#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
32#endif
33
34// Macro to determine if a partition is enabled
35#define WINAPI_FAMILY_PARTITION(Partition) ((WINAPI_FAMILY & Partition) == Partition)
36
37// Macro to determine if only one partition is enabled from a set
38#define WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition) ((WINAPI_FAMILY & PartitionSet) == Partition)
39
40#endif
41