OSDN Git Service

* NEWS: Add and adjust release notes for 4.0.
[mingw/mingw-org-wsl.git] / include / ntdsapi.h
1 /**
2  * @file ntdsapi.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _NTDSAPI_H
25 #define _NTDSAPI_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /*--- Active Directory Reference - Active Directory Enumerations */
34 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
35 typedef enum {
36         DS_NAME_NO_ERROR = 0,
37         DS_NAME_ERROR_RESOLVING = 1,
38         DS_NAME_ERROR_NOT_FOUND = 2,
39         DS_NAME_ERROR_NOT_UNIQUE = 3,
40         DS_NAME_ERROR_NO_MAPPING = 4,
41         DS_NAME_ERROR_DOMAIN_ONLY = 5,
42         DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6,
43         DS_NAME_ERROR_TRUST_REFERRAL = 7
44 } DS_NAME_ERROR;
45 typedef enum {
46         DS_NAME_NO_FLAGS = 0x0,
47         DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
48         DS_NAME_FLAG_EVAL_AT_DC = 0x2,
49         DS_NAME_FLAG_GCVERIFY = 0x4,
50         DS_NAME_FLAG_TRUST_REFERRAL = 0x8
51 } DS_NAME_FLAGS;
52 typedef enum {
53         DS_UNKNOWN_NAME = 0,
54         DS_FQDN_1779_NAME = 1,
55         DS_NT4_ACCOUNT_NAME = 2,
56         DS_DISPLAY_NAME = 3,
57         DS_UNIQUE_ID_NAME = 6,
58         DS_CANONICAL_NAME = 7,
59         DS_USER_PRINCIPAL_NAME = 8,
60         DS_CANONICAL_NAME_EX = 9,
61         DS_SERVICE_PRINCIPAL_NAME = 10,
62         DS_SID_OR_SID_HISTORY_NAME = 11,
63         DS_DNS_DOMAIN_NAME = 12
64 } DS_NAME_FORMAT;
65 typedef enum _DS_REPL_INFO_TYPE {
66         DS_REPL_INFO_NEIGHBORS = 0,
67         DS_REPL_INFO_CURSORS_FOR_NC = 1,
68         DS_REPL_INFO_METADATA_FOR_OBJ = 2,
69         DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES = 3,
70         DS_REPL_INFO_KCC_DSA_LINK_FAILURES = 4,
71         DS_REPL_INFO_PENDING_OPS = 5,
72         DS_REPL_INFO_METADATA_FOR_ATTR_VALUE = 6,
73         DS_REPL_INFO_CURSORS_2_FOR_NC = 7,
74         DS_REPL_INFO_CURSORS_3_FOR_NC = 8,
75         DS_REPL_INFO_METADATA_2_FOR_OBJ = 9,
76         DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE = 10
77 } DS_REPL_INFO_TYPE;
78 typedef enum {
79         DS_REPL_OP_TYPE_SYNC = 0,
80         DS_REPL_OP_TYPE_ADD,
81         DS_REPL_OP_TYPE_DELETE,
82         DS_REPL_OP_TYPE_MODIFY,
83         DS_REPL_OP_TYPE_UPDATE_REFS
84 } DS_REPL_OP_TYPE;
85 typedef enum {
86         DS_REPSYNCALL_WIN32_ERROR_CONTACTING_SERVER = 0,
87         DS_REPSYNCALL_WIN32_ERROR_REPLICATING = 1,
88         DS_REPSYNCALL_SERVER_UNREACHABLE = 2
89 } DS_REPSYNCALL_ERROR;
90 typedef enum {
91         DS_REPSYNCALL_EVENT_ERROR = 0,
92         DS_REPSYNCALL_EVENT_SYNC_STARTED = 1,
93         DS_REPSYNCALL_EVENT_SYNC_COMPLETED = 2,
94         DS_REPSYNCALL_EVENT_FINISHED = 3
95 } DS_REPSYNCALL_EVENT;
96 typedef enum {
97         DS_SPN_DNS_HOST = 0,
98         DS_SPN_DN_HOST = 1,
99         DS_SPN_NB_HOST = 2,
100         DS_SPN_DOMAIN = 3,
101         DS_SPN_NB_DOMAIN = 4,
102         DS_SPN_SERVICE = 5
103 } DS_SPN_NAME_TYPE;
104 typedef enum {
105         DS_SPN_ADD_SPN_OP = 0,
106         DS_SPN_REPLACE_SPN_OP = 1,
107         DS_SPN_DELETE_SPN_OP = 2
108 } DS_SPN_WRITE_OP;
109 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
110
111 #if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
112 typedef enum _DS_MANGLE_FOR {
113         DS_MANGLE_UNKNOWN = 0,
114         DS_MANGLE_OBJECT_RDN_FOR_DELETION = 1,
115         DS_MANGLE_OBJECT_RDN_FOR_NAME_CONFLICT = 2
116 } DS_MANGLE_FOR;
117 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
118
119 #ifdef __cplusplus
120 }
121 #endif
122 #endif