[PSDK] Replace the wine version of lmjoin.h by an extended version that includes...
authorEric Kohl <eric.kohl@reactos.org>
Sun, 8 Dec 2019 01:03:26 +0000 (02:03 +0100)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 8 Dec 2019 01:03:26 +0000 (02:03 +0100)
sdk/include/psdk/lmjoin.h

index c1e7810..b5da9a8 100644 (file)
@@ -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
 }