OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / dsrole.h
1 /*
2  * dsrole.h - Active Directory
3  *
4  * THIS SOFTWARE IS NOT COPYRIGHTED
5  *
6  * This source code is offered for use in the public domain.  You may use,
7  * modify or distribute it freely.
8  *
9  * This code is distributed in the hope that it will be useful but
10  * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
11  * DISCLAIMED.  This includes but is not limited to warranties of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  */
15 #ifndef _DSROLE_H
16 #define _DSROLE_H
17 #if __GNUC__ >= 3
18 #pragma GCC system_header
19 #endif
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 #if (_WIN32_WINNT >= 0x0500)
26 /*--- Active Directory Reference - Active Directory Enumerations */
27 typedef enum {
28         DsRole_RoleStandaloneWorkstation,
29         DsRole_RoleMemberWorkstation,
30         DsRole_RoleStandaloneServer,
31         DsRole_RoleMemberServer,
32         DsRole_RoleBackupDomainController,
33         DsRole_RolePrimaryDomainController
34 } DSROLE_MACHINE_ROLE;
35 typedef enum {
36         DsRoleOperationIdle,
37         DsRoleOperationActive,
38         DsRoleOperationNeedReboot
39 } DSROLE_OPERATION_STATE;
40 typedef enum {
41         DsRolePrimaryDomainInfoBasic,
42         DsRoleUpgradeStatus,
43         DsRoleOperationState
44 } DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
45 typedef enum {
46         DsRoleServerUnknown,
47         DsRoleServerPrimary,
48         DsRoleServerBackup
49 } DSROLE_SERVER_STATE;
50 /*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
51 typedef struct {
52         DSROLE_OPERATION_STATE OperationState;
53 } DSROLE_OPERATION_STATE_INFO;
54 typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC {
55         DSROLE_MACHINE_ROLE MachineRole;
56         ULONG Flags;
57         LPWSTR DomainNameFlat;
58         LPWSTR DomainNameDns;
59         LPWSTR DomainForestName;
60         GUID DomainGuid;
61 } DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
62 #define DSROLE_PRIMARY_DS_RUNNING 0x00000001
63 #define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002
64 #define DSROLE_UPGRADE_IN_PROGRESS 0x00000004
65 #define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000
66 typedef struct _DSROLE_UPGRADE_STATUS_INFO {
67         ULONG OperationState;
68         DSROLE_SERVER_STATE PreviousServerState;
69 } DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO;
70 #endif /* (_WIN32_WINNT >= 0x0500) */
71
72 #ifdef __cplusplus
73 }
74 #endif
75 #endif