af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Directory Services definitions
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2005 Paul Vriens
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync */
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef __WINE_DSROLE_H
af062818b47340eef15700d2f0211576ba3506eevboxsync#define __WINE_DSROLE_H
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DSROLE_PRIMARY_DS_RUNNING 0x00000001
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DSROLE_UPGRADE_IN_PROGRESS 0x00000004
af062818b47340eef15700d2f0211576ba3506eevboxsync#define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _DSROLE_PRIMARY_DOMAIN_INFO_LEVEL
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRolePrimaryDomainInfoBasic = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleUpgradeStatus,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleOperationState
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _DSROLE_MACHINE_ROLE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RoleStandaloneWorkstation = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RoleMemberWorkstation,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RoleStandaloneServer,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RoleMemberServer,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RoleBackupDomainController,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRole_RolePrimaryDomainController
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_MACHINE_ROLE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _DSROLE_SERVER_STATE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleServerUnknown = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleServerPrimary,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleServerBackup
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_SERVER_STATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _DSROLE_OPERATION_STATE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleOperationIdle = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleOperationActive,
af062818b47340eef15700d2f0211576ba3506eevboxsync DsRoleOperationNeedReboot
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_OPERATION_STATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DSROLE_MACHINE_ROLE MachineRole;
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG Flags;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR DomainNameFlat;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR DomainNameDns;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR DomainForestName;
af062818b47340eef15700d2f0211576ba3506eevboxsync GUID DomainGuid;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_PRIMARY_DOMAIN_INFO_BASIC, *PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _DSROLE_UPGRADE_STATUS_INFO
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG OperationState;
af062818b47340eef15700d2f0211576ba3506eevboxsync DSROLE_SERVER_STATE PreviousServerState;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_UPGRADE_STATUS_INFO, *PDSROLE_UPGRADE_STATUS_INFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct _DSROLE_OPERATION_STATE_INFO
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DSROLE_OPERATION_STATE OperationState;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DSROLE_OPERATION_STATE_INFO, *PDSROLE_OPERATION_STATE_INFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncVOID WINAPI DsRoleFreeMemory(IN PVOID Buffer);
af062818b47340eef15700d2f0211576ba3506eevboxsyncDWORD WINAPI DsRoleGetPrimaryDomainInformation(IN LPCWSTR lpServer OPTIONAL, IN DSROLE_PRIMARY_DOMAIN_INFO_LEVEL InfoLevel, OUT PBYTE *Buffer);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* __WINE_DSROLE_H */