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
14extern "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