[PATCH v2] include: Add namespaceapi.h file.

Mohamad Al-Jaf mohamadaljaf at gmail.com
Tue Dec 7 01:42:34 CST 2021


Required by IE11.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf at 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




More information about the wine-devel mailing list