Required by IE11.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- v2: - Move CreateBoundaryDescriptorW flag to winnt.h (Thanks Jactry Zeng). - Add missing WINBASEAPI function type. --- include/Makefile.in | 1 + include/namespaceapi.h | 40 ++++++++++++++++++++++++++++++++++++++++ include/winbase.h | 2 ++ include/winnt.h | 3 +++ 4 files changed, 46 insertions(+) create mode 100644 include/namespaceapi.h
diff --git a/include/Makefile.in b/include/Makefile.in index de40421edcb..302e0bb2a73 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -526,6 +526,7 @@ SOURCES = \ mtxdm.h \ mulres.idl \ multimon.h \ + namespaceapi.h \ natupnp.idl \ nb30.h \ ncrypt.h \ diff --git a/include/namespaceapi.h b/include/namespaceapi.h new file mode 100644 index 00000000000..512e8d1d278 --- /dev/null +++ b/include/namespaceapi.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _NAMESPACEAPI_H_ +#define _NAMESPACEAPI_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ClosePrivateNamespace flags */ +#define PRIVATE_NAMESPACE_FLAG_DESTROY 0x00000001 + +WINBASEAPI BOOL WINAPI AddSIDToBoundaryDescriptor(HANDLE*,PSID); +WINBASEAPI BOOLEAN WINAPI ClosePrivateNamespace(HANDLE,ULONG); +WINBASEAPI HANDLE WINAPI CreateBoundaryDescriptorW(LPCWSTR,ULONG); +WINBASEAPI HANDLE WINAPI CreatePrivateNamespaceW(LPSECURITY_ATTRIBUTES,LPVOID,LPCWSTR); +WINBASEAPI void WINAPI DeleteBoundaryDescriptor(HANDLE); +WINBASEAPI HANDLE WINAPI OpenPrivateNamespaceW(LPVOID,LPCWSTR); + +#ifdef __cplusplus +} +#endif + +#endif /* _NAMESPACEAPI_H_ */ \ No newline at end of file diff --git a/include/winbase.h b/include/winbase.h index 2f7287f12b6..0a0bfde9d10 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -241,6 +241,8 @@ typedef struct _SECURITY_ATTRIBUTES BOOL bInheritHandle; } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
+#include <namespaceapi.h> + #ifndef _FILETIME_ #define _FILETIME_ /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */ diff --git a/include/winnt.h b/include/winnt.h index 2ab74ab123c..0e5aebe8be3 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -3748,6 +3748,9 @@ typedef struct _SID { } SID,*PISID; #endif /* !defined(SID_DEFINED) */
+/* CreateBoundaryDescriptorW flag */ +#define CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID 0x01 + #define SID_REVISION (1) /* Current revision */ #define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */ #define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths */ -- 2.34.1