https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a80b30ad2851a1159227…
commit 0a80b30ad2851a1159227f6cfa670059c51351a1
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Sun Dec 8 02:03:26 2019 +0100
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Sun Dec 8 02:03:26 2019 +0100
[PSDK] Replace the wine version of lmjoin.h by an extended version that includes
NetJoinDomain and NetUnjoinDomain.
---
sdk/include/psdk/lmjoin.h | 69 ++++++++++++++++++++++++++++++-----------------
1 file changed, 44 insertions(+), 25 deletions(-)
diff --git a/sdk/include/psdk/lmjoin.h b/sdk/include/psdk/lmjoin.h
index c1e7810f44f..b5da9a87e6c 100644
--- a/sdk/include/psdk/lmjoin.h
+++ b/sdk/include/psdk/lmjoin.h
@@ -1,29 +1,11 @@
-/*
- * Copyright 2005 Ulrich Czekalla (For CodeWeavers)
- *
- * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef __WINE_LMJOIN_H
-#define __WINE_LMJOIN_H
+#ifndef _LMJOIN_H
+#define _LMJOIN_H
#ifdef __cplusplus
extern "C" {
#endif
-typedef enum tagNETSETUP_JOIN_STATUS
+typedef enum _NETSETUP_JOIN_STATUS
{
NetSetupUnknownStatus = 0,
NetSetupUnjoined,
@@ -31,10 +13,47 @@ typedef enum tagNETSETUP_JOIN_STATUS
NetSetupDomainName
} NETSETUP_JOIN_STATUS, *PNETSETUP_JOIN_STATUS;
-NET_API_STATUS NET_API_FUNCTION NetGetJoinInformation(
- LPCWSTR Server,
- LPWSTR *Name,
- PNETSETUP_JOIN_STATUS type);
+#define NETSETUP_JOIN_DOMAIN 0x00000001
+#define NETSETUP_ACCT_CREATE 0x00000002
+#define NETSETUP_ACCT_DELETE 0x00000004
+#define NETSETUP_WIN9X_UPGRADE 0x00000010
+#define NETSETUP_DOMAIN_JOIN_IF_JOINED 0x00000020
+#define NETSETUP_JOIN_UNSECURE 0x00000040
+#define NETSETUP_MACHINE_PWD_PASSED 0x00000080
+#define NETSETUP_DEFER_SPN_SET 0x00000100
+#define NETSETUP_JOIN_DC_ACCOUNT 0x00000200
+#define NETSETUP_JOIN_WITH_NEW_NAME 0x00000400
+#define NETSETUP_INSTALL_INVOCATION 0x00040000
+#define NETSETUP_IGNORE_UNSUPPORTED_FLAGS 0x10000000
+
+#define NETSETUP_VALID_UNJOIN_FLAGS (NETSETUP_ACCT_DELETE | \
+ NETSETUP_JOIN_DC_ACCOUNT | \
+ NETSETUP_IGNORE_UNSUPPORTED_FLAGS)
+
+NET_API_STATUS
+NET_API_FUNCTION
+NetJoinDomain(
+ _In_opt_ LPCWSTR lpServer,
+ _In_ LPCWSTR lpDomain,
+ _In_opt_ LPCWSTR lpAccountOU,
+ _In_opt_ LPCWSTR lpAccount,
+ _In_opt_ LPCWSTR lpPassword,
+ _In_ DWORD fJoinOptions);
+
+NET_API_STATUS
+NET_API_FUNCTION
+NetUnjoinDomain(
+ _In_opt_ LPCWSTR lpServer,
+ _In_opt_ LPCWSTR lpAccount,
+ _In_opt_ LPCWSTR lpPassword,
+ _In_ DWORD fUnjoinOptions);
+
+NET_API_STATUS
+NET_API_FUNCTION
+NetGetJoinInformation(
+ _In_opt_ LPCWSTR lpServer,
+ _Out_opt_ LPWSTR *lpNameBuffer,
+ _Out_ PNETSETUP_JOIN_STATUS BufferType);
#ifdef __cplusplus
}