| 1 | /* | 
 
 
 
 
 | 2 | * ntdsapi.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 _NTDSAPI_H | 
 
 
 
 
 | 16 | #define _NTDSAPI_H | 
 
 
 
 
 | 17 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 18 | #pragma GCC system_header | 
 
 
 
 
 | 19 | #endif | 
 
 
 
 
 | 20 |  | 
 
 
 
 
 | 21 | #ifdef __cplusplus | 
 
 
 
 
 | 22 | extern "C" { | 
 
 
 
 
 | 23 | #endif | 
 
 
 
 
 | 24 |  | 
 
 
 
 
 | 25 | /*--- Active Directory Reference - Active Directory Enumerations */ | 
 
 
 
 
 | 26 | #if (_WIN32_WINNT >= 0x0501) | 
 
 
 
 
 | 27 | typedef enum _DS_MANGLE_FOR { | 
 
 
 
 
 | 28 | DS_MANGLE_UNKNOWN = 0, | 
 
 
 
 
 | 29 | DS_MANGLE_OBJECT_RDN_FOR_DELETION = 1, | 
 
 
 
 
 | 30 | DS_MANGLE_OBJECT_RDN_FOR_NAME_CONFLICT = 2 | 
 
 
 
 
 | 31 | } DS_MANGLE_FOR; | 
 
 
 
 
 | 32 | #endif /* (_WIN32_WINNT >= 0x0501) */ | 
 
 
 
 
 | 33 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 34 | typedef enum { | 
 
 
 
 
 | 35 | DS_NAME_NO_ERROR = 0, | 
 
 
 
 
 | 36 | DS_NAME_ERROR_RESOLVING = 1, | 
 
 
 
 
 | 37 | DS_NAME_ERROR_NOT_FOUND = 2, | 
 
 
 
 
 | 38 | DS_NAME_ERROR_NOT_UNIQUE = 3, | 
 
 
 
 
 | 39 | DS_NAME_ERROR_NO_MAPPING = 4, | 
 
 
 
 
 | 40 | DS_NAME_ERROR_DOMAIN_ONLY = 5, | 
 
 
 
 
 | 41 | DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6, | 
 
 
 
 
 | 42 | DS_NAME_ERROR_TRUST_REFERRAL = 7 | 
 
 
 
 
 | 43 | } DS_NAME_ERROR; | 
 
 
 
 
 | 44 | typedef enum { | 
 
 
 
 
 | 45 | DS_NAME_NO_FLAGS = 0x0, | 
 
 
 
 
 | 46 | DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1, | 
 
 
 
 
 | 47 | DS_NAME_FLAG_EVAL_AT_DC = 0x2, | 
 
 
 
 
 | 48 | DS_NAME_FLAG_GCVERIFY = 0x4, | 
 
 
 
 
 | 49 | DS_NAME_FLAG_TRUST_REFERRAL = 0x8 | 
 
 
 
 
 | 50 | } DS_NAME_FLAGS; | 
 
 
 
 
 | 51 | typedef enum { | 
 
 
 
 
 | 52 | DS_UNKNOWN_NAME = 0, | 
 
 
 
 
 | 53 | DS_FQDN_1779_NAME = 1, | 
 
 
 
 
 | 54 | DS_NT4_ACCOUNT_NAME = 2, | 
 
 
 
 
 | 55 | DS_DISPLAY_NAME = 3, | 
 
 
 
 
 | 56 | DS_UNIQUE_ID_NAME = 6, | 
 
 
 
 
 | 57 | DS_CANONICAL_NAME = 7, | 
 
 
 
 
 | 58 | DS_USER_PRINCIPAL_NAME = 8, | 
 
 
 
 
 | 59 | DS_CANONICAL_NAME_EX = 9, | 
 
 
 
 
 | 60 | DS_SERVICE_PRINCIPAL_NAME = 10, | 
 
 
 
 
 | 61 | DS_SID_OR_SID_HISTORY_NAME = 11, | 
 
 
 
 
 | 62 | DS_DNS_DOMAIN_NAME = 12 | 
 
 
 
 
 | 63 | } DS_NAME_FORMAT; | 
 
 
 
 
 | 64 | typedef enum _DS_REPL_INFO_TYPE { | 
 
 
 
 
 | 65 | DS_REPL_INFO_NEIGHBORS = 0, | 
 
 
 
 
 | 66 | DS_REPL_INFO_CURSORS_FOR_NC = 1, | 
 
 
 
 
 | 67 | DS_REPL_INFO_METADATA_FOR_OBJ = 2, | 
 
 
 
 
 | 68 | DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES = 3, | 
 
 
 
 
 | 69 | DS_REPL_INFO_KCC_DSA_LINK_FAILURES = 4, | 
 
 
 
 
 | 70 | DS_REPL_INFO_PENDING_OPS = 5, | 
 
 
 
 
 | 71 | DS_REPL_INFO_METADATA_FOR_ATTR_VALUE = 6, | 
 
 
 
 
 | 72 | DS_REPL_INFO_CURSORS_2_FOR_NC = 7, | 
 
 
 
 
 | 73 | DS_REPL_INFO_CURSORS_3_FOR_NC = 8, | 
 
 
 
 
 | 74 | DS_REPL_INFO_METADATA_2_FOR_OBJ = 9, | 
 
 
 
 
 | 75 | DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE = 10 | 
 
 
 
 
 | 76 | } DS_REPL_INFO_TYPE; | 
 
 
 
 
 | 77 | typedef enum { | 
 
 
 
 
 | 78 | DS_REPL_OP_TYPE_SYNC = 0, | 
 
 
 
 
 | 79 | DS_REPL_OP_TYPE_ADD, | 
 
 
 
 
 | 80 | DS_REPL_OP_TYPE_DELETE, | 
 
 
 
 
 | 81 | DS_REPL_OP_TYPE_MODIFY, | 
 
 
 
 
 | 82 | DS_REPL_OP_TYPE_UPDATE_REFS | 
 
 
 
 
 | 83 | } DS_REPL_OP_TYPE; | 
 
 
 
 
 | 84 | typedef enum { | 
 
 
 
 
 | 85 | DS_REPSYNCALL_WIN32_ERROR_CONTACTING_SERVER = 0, | 
 
 
 
 
 | 86 | DS_REPSYNCALL_WIN32_ERROR_REPLICATING = 1, | 
 
 
 
 
 | 87 | DS_REPSYNCALL_SERVER_UNREACHABLE = 2 | 
 
 
 
 
 | 88 | } DS_REPSYNCALL_ERROR; | 
 
 
 
 
 | 89 | typedef enum { | 
 
 
 
 
 | 90 | DS_REPSYNCALL_EVENT_ERROR = 0, | 
 
 
 
 
 | 91 | DS_REPSYNCALL_EVENT_SYNC_STARTED = 1, | 
 
 
 
 
 | 92 | DS_REPSYNCALL_EVENT_SYNC_COMPLETED = 2, | 
 
 
 
 
 | 93 | DS_REPSYNCALL_EVENT_FINISHED = 3 | 
 
 
 
 
 | 94 | } DS_REPSYNCALL_EVENT; | 
 
 
 
 
 | 95 | typedef enum { | 
 
 
 
 
 | 96 | DS_SPN_DNS_HOST = 0, | 
 
 
 
 
 | 97 | DS_SPN_DN_HOST = 1, | 
 
 
 
 
 | 98 | DS_SPN_NB_HOST = 2, | 
 
 
 
 
 | 99 | DS_SPN_DOMAIN = 3, | 
 
 
 
 
 | 100 | DS_SPN_NB_DOMAIN = 4, | 
 
 
 
 
 | 101 | DS_SPN_SERVICE = 5 | 
 
 
 
 
 | 102 | } DS_SPN_NAME_TYPE; | 
 
 
 
 
 | 103 | typedef enum { | 
 
 
 
 
 | 104 | DS_SPN_ADD_SPN_OP = 0, | 
 
 
 
 
 | 105 | DS_SPN_REPLACE_SPN_OP = 1, | 
 
 
 
 
 | 106 | DS_SPN_DELETE_SPN_OP = 2 | 
 
 
 
 
 | 107 | } DS_SPN_WRITE_OP; | 
 
 
 
 
 | 108 |  | 
 
 
 
 
 | 109 |  | 
 
 
 
 
 | 110 | #endif /* (_WIN32_WINNT >= 0x0500) */ | 
 
 
 
 
 | 111 |  | 
 
 
 
 
 | 112 | #ifdef __cplusplus | 
 
 
 
 
 | 113 | } | 
 
 
 
 
 | 114 | #endif | 
 
 
 
 
 | 115 | #endif |