Sync to Wine-0_9_3:
authorGé van Geldorp <ge@gse.nl>
Mon, 12 Dec 2005 23:04:15 +0000 (23:04 +0000)
committerGé van Geldorp <ge@gse.nl>
Mon, 12 Dec 2005 23:04:15 +0000 (23:04 +0000)
Francois Gouget <fgouget@free.fr>
- Better stick to the PSDK types and to the dsrole.h prototype.
  Update win32.api.
Paul Vriens <Paul.Vriens@xs4all.nl>
- Added some stubbed Ds-calls
  Start of conformance tests for these Ds-calls.
Ge van Geldorp <gvg@reactos.org>
- Match PSDK STATUS_* definitions.
Vincent Béron <vberon@mecano.gme.usherb.ca>
- Add a few missing #includes.
- Add some prototypes to include/ for already existing functions in
  netapi32.

svn path=/trunk/; revision=20134

reactos/lib/netapi32/browsr.c
reactos/lib/netapi32/ds.c [new file with mode: 0644]
reactos/lib/netapi32/netapi32.c
reactos/lib/netapi32/netapi32.spec
reactos/lib/netapi32/netapi32.xml
reactos/lib/netapi32/wksta.c
reactos/w32api/include/dsrole.h [new file with mode: 0644]

index 3cda17e..b0ed893 100644 (file)
@@ -25,6 +25,7 @@
 #include "winerror.h"
 #include "lmcons.h"
 #include "lmbrowsr.h"
+#include "lmshare.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(netapi32);
diff --git a/reactos/lib/netapi32/ds.c b/reactos/lib/netapi32/ds.c
new file mode 100644 (file)
index 0000000..1558277
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2005 Paul Vriens
+ *
+ * netapi32 directory service functions
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "wine/debug.h"
+#include "dsrole.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(ds);
+
+/************************************************************
+ *  DsRoleFreeMemory (NETAPI32.@)
+ *
+ * PARAMS
+ *  Buffer [I] Pointer to the to-be-freed buffer.
+ *
+ * RETURNS
+ *  Nothing
+ */
+VOID WINAPI DsRoleFreeMemory(PVOID Buffer)
+{
+    FIXME("(%p) stub\n", Buffer);
+}
+
+/************************************************************
+ *  DsRoleGetPrimaryDomainInformation  (NETAPI32.@)
+ *
+ * PARAMS
+ *  lpServer  [I] Pointer to UNICODE string with Computername
+ *  InfoLevel [I] Type of data to retrieve     
+ *  Buffer    [O] Pointer to to the requested data
+ *
+ * RETURNS
+ *
+ * NOTES
+ *  When lpServer is NULL, use the local computer
+ */
+DWORD WINAPI DsRoleGetPrimaryDomainInformation(
+    LPCWSTR lpServer, DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel,
+    PBYTE* Buffer)
+{
+    FIXME("(%p, %d, %p) stub\n", lpServer, InfoLevel, Buffer);
+
+    /* Check some input parameters */
+
+    if (!Buffer) return ERROR_INVALID_PARAMETER;
+    if ((InfoLevel < DsRolePrimaryDomainInfoBasic) || (InfoLevel > DsRoleOperationState)) return ERROR_INVALID_PARAMETER;
+
+    return E_NOTIMPL;
+}
index 320109b..e01b929 100644 (file)
@@ -19,6 +19,7 @@
 #include "config.h"
 
 #include "wine/debug.h"
+#include "lm.h"
 #include "netbios.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(netbios);
index 412ac72..dbb42c4 100644 (file)
@@ -1,3 +1,18 @@
+@ stub DsAddressToSiteNames
+@ stub DsAddressToSiteNamesEx
+@ stub DsDeregisterDnsHostRecords
+@ stub DsEnumerateDomainTrusts
+@ stub DsGetDcClose
+@ stub DsGetDcName
+@ stub DsGetDcNext
+@ stub DsGetDcOpen
+@ stub DsGetDcSiteCoverage
+@ stub DsGetForestTrustInformationW
+@ stub DsGetSiteName
+@ stub DsMergeForestTrustInformationW
+@ stdcall DsRoleFreeMemory(ptr)
+@ stdcall DsRoleGetPrimaryDomainInformation(wstr long ptr)
+@ stub DsValidateSubnetName
 @ stub I_BrowserDebugCall
 @ stub I_BrowserDebugTrace
 @ stdcall I_BrowserQueryEmulatedDomains(wstr ptr ptr)
index b5db33d..04796c2 100644 (file)
@@ -17,6 +17,7 @@
        <file>access.c</file>
        <file>apibuf.c</file>
        <file>browsr.c</file>
+       <file>ds.c</file>
        <file>nbcmdqueue.c</file>
        <file>nbnamecache.c</file>
        <file>nbt.c</file>
index 9b2da32..425a989 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <stdarg.h>
 #include <stdlib.h>
+#include "ntstatus.h"
 #define WIN32_NO_STATUS
 #include "windef.h"
 #include "winbase.h"
@@ -34,8 +35,6 @@
 #include "lmwksta.h"
 #include "iphlpapi.h"
 #include "winerror.h"
-#undef WIN32_NO_STATUS
-#include "ntstatus.h"
 #include "winreg.h"
 #include "ntsecapi.h"
 #include "netbios.h"
diff --git a/reactos/w32api/include/dsrole.h b/reactos/w32api/include/dsrole.h
new file mode 100644 (file)
index 0000000..7364ace
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Directory Services definitions
+ *
+ * Copyright 2005 Paul Vriens
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_DSROLE_H
+#define __WINE_DSROLE_H
+
+#define DSROLE_PRIMARY_DS_RUNNING           0x00000001
+#define DSROLE_PRIMARY_DS_MIXED_MODE        0x00000002
+#define DSROLE_UPGRADE_IN_PROGRESS          0x00000004
+#define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT  0x01000000
+
+typedef enum _DSROLE_PRIMARY_DOMAIN_INFO_LEVEL
+{
+    DsRolePrimaryDomainInfoBasic = 1,
+    DsRoleUpgradeStatus,
+    DsRoleOperationState
+} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
+
+typedef enum _DSROLE_MACHINE_ROLE
+{
+  DsRole_RoleStandaloneWorkstation = 0,
+  DsRole_RoleMemberWorkstation,
+  DsRole_RoleStandaloneServer,
+  DsRole_RoleMemberServer,
+  DsRole_RoleBackupDomainController,
+  DsRole_RolePrimaryDomainController
+} DSROLE_MACHINE_ROLE;
+
+typedef enum _DSROLE_SERVER_STATE
+{
+  DsRoleServerUnknown = 0,
+  DsRoleServerPrimary,
+  DsRoleServerBackup
+} DSROLE_SERVER_STATE;
+
+typedef enum _DSROLE_OPERATION_STATE
+{
+  DsRoleOperationIdle = 0,
+  DsRoleOperationActive,
+  DsRoleOperationNeedReboot
+} DSROLE_OPERATION_STATE;
+
+typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC
+{
+    DSROLE_MACHINE_ROLE MachineRole;
+    ULONG Flags;
+    LPWSTR DomainNameFlat;
+    LPWSTR DomainNameDns;
+    LPWSTR DomainForestName;
+    GUID DomainGuid;
+} DSROLE_PRIMARY_DOMAIN_INFO_BASIC, *PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
+
+typedef struct _DSROLE_UPGRADE_STATUS_INFO
+{
+    ULONG OperationState;
+    DSROLE_SERVER_STATE PreviousServerState;
+} DSROLE_UPGRADE_STATUS_INFO, *PDSROLE_UPGRADE_STATUS_INFO;
+
+typedef struct _DSROLE_OPERATION_STATE_INFO
+{
+    DSROLE_OPERATION_STATE OperationState;
+} DSROLE_OPERATION_STATE_INFO, *PDSROLE_OPERATION_STATE_INFO;
+
+VOID WINAPI DsRoleFreeMemory(IN PVOID Buffer);
+DWORD WINAPI DsRoleGetPrimaryDomainInformation(IN LPCWSTR lpServer OPTIONAL, IN DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel, OUT PBYTE *Buffer);
+
+#endif /* __WINE_DSROLE_H */