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 #ifndef _APISETNAMESPACE_
6 #define _APISETNAMESPACE_
7 
8 #include <apiset.h>
9 #include <apisetcconv.h>
10 #include <minwindef.h>
11 #include <minwinbase.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
18 #define PRIVATE_NAMESPACE_FLAG_DESTROY 0x1
19 
20   WINBASEAPI HANDLE WINAPI CreatePrivateNamespaceW (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix);
21   WINBASEAPI HANDLE WINAPI OpenPrivateNamespaceW (LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix);
22 #ifdef UNICODE
23 #define CreatePrivateNamespace CreatePrivateNamespaceW
24 #endif
25 
26   WINBASEAPI BOOLEAN WINAPI ClosePrivateNamespace (HANDLE Handle, ULONG Flags);
27   WINBASEAPI HANDLE WINAPI CreateBoundaryDescriptorW (LPCWSTR Name, ULONG Flags);
28 #ifdef UNICODE
29 #define CreateBoundaryDescriptor CreateBoundaryDescriptorW
30 #endif
31 
32   WINBASEAPI WINBOOL WINAPI AddSIDToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID RequiredSid);
33   WINBASEAPI VOID WINAPI DeleteBoundaryDescriptor (HANDLE BoundaryDescriptor);
34 #endif
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 #endif
40