{******************************************************************************} { } { NT LDAP API interface Unit for Object Pascal } { } { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft } { Corporation. All Rights Reserved. } { } { The original file is: ntldap.h, released June 2000. The original Pascal } { code is: NtLDAP.pas, released December 2000. The initial developer of the } { Pascal code is Marcel van Brakel (brakelm att chello dott nl). } { } { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 } { Marcel van Brakel. All Rights Reserved. } { } { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) } { } { You may retrieve the latest version of this file at the Project JEDI } { APILIB home page, located at http://jedi-apilib.sourceforge.net } { } { The contents of this file are used with permission, subject to the Mozilla } { Public License Version 1.1 (the "License"); you may not use this file except } { in compliance with the License. You may obtain a copy of the License at } { http://www.mozilla.org/MPL/MPL-1.1.html } { } { Software distributed under the License is distributed on an "AS IS" basis, } { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for } { the specific language governing rights and limitations under the License. } { } { Alternatively, the contents of this file may be used under the terms of the } { GNU Lesser General Public License (the "LGPL License"), in which case the } { provisions of the LGPL License are applicable instead of those above. } { If you wish to allow use of your version of this file only under the terms } { of the LGPL License and not to allow others to use your version of this file } { under the MPL, indicate your decision by deleting the provisions above and } { replace them with the notice and other provisions required by the LGPL } { License. If you do not delete the provisions above, a recipient may use } { your version of this file under either the MPL or the LGPL License. } { } { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html } { } {******************************************************************************} // $Id: JwaNtLDAP.pas,v 1.6 2007/09/05 11:58:51 dezipaitor Exp $ {$IFNDEF JWA_OMIT_SECTIONS} unit JwaNtLDAP; {$WEAKPACKAGEUNIT} {$ENDIF JWA_OMIT_SECTIONS} {$HPPEMIT ''} {$HPPEMIT '#include "ntldap.h"'} {$HPPEMIT ''} {$IFNDEF JWA_OMIT_SECTIONS} {$I jediapilib.inc} interface {$ENDIF JWA_OMIT_SECTIONS} {$IFNDEF JWA_IMPLEMENTATIONSECTION} // // // Server controls section // // // Permissive Modify Control. No Data. // const LDAP_SERVER_PERMISSIVE_MODIFY_OID = '1.2.840.113556.1.4.1413'; {$EXTERNALSYM LDAP_SERVER_PERMISSIVE_MODIFY_OID} LDAP_SERVER_PERMISSIVE_MODIFY_OID_W = '1.2.840.113556.1.4.1413'; {$EXTERNALSYM LDAP_SERVER_PERMISSIVE_MODIFY_OID_W} // // Show Deleted Control. No Data. // LDAP_SERVER_SHOW_DELETED_OID = '1.2.840.113556.1.4.417'; {$EXTERNALSYM LDAP_SERVER_SHOW_DELETED_OID} LDAP_SERVER_SHOW_DELETED_OID_W = '1.2.840.113556.1.4.417'; {$EXTERNALSYM LDAP_SERVER_SHOW_DELETED_OID_W} // // Cross Domain Move Control. Data as follows // SEQUENCE { // Name OCTET STRING // } // LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID = '1.2.840.113556.1.4.521'; {$EXTERNALSYM LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID} LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID_W = '1.2.840.113556.1.4.521'; {$EXTERNALSYM LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID_W} // // Notification. No Data. // LDAP_SERVER_NOTIFICATION_OID = '1.2.840.113556.1.4.528'; {$EXTERNALSYM LDAP_SERVER_NOTIFICATION_OID} LDAP_SERVER_NOTIFICATION_OID_W = '1.2.840.113556.1.4.528'; {$EXTERNALSYM LDAP_SERVER_NOTIFICATION_OID_W} // // Lazy Commit. No Data. // LDAP_SERVER_LAZY_COMMIT_OID = '1.2.840.113556.1.4.619'; {$EXTERNALSYM LDAP_SERVER_LAZY_COMMIT_OID} LDAP_SERVER_LAZY_COMMIT_OID_W = '1.2.840.113556.1.4.619'; {$EXTERNALSYM LDAP_SERVER_LAZY_COMMIT_OID_W} // // Security Descriptor Flag. Data as follows // SEQUENCE { // Flags INTEGER // } // LDAP_SERVER_SD_FLAGS_OID = '1.2.840.113556.1.4.801'; {$EXTERNALSYM LDAP_SERVER_SD_FLAGS_OID} LDAP_SERVER_SD_FLAGS_OID_W = '1.2.840.113556.1.4.801'; {$EXTERNALSYM LDAP_SERVER_SD_FLAGS_OID_W} // // Tree Delete. No Data. // LDAP_SERVER_TREE_DELETE_OID = '1.2.840.113556.1.4.805'; {$EXTERNALSYM LDAP_SERVER_TREE_DELETE_OID} LDAP_SERVER_TREE_DELETE_OID_W = '1.2.840.113556.1.4.805'; {$EXTERNALSYM LDAP_SERVER_TREE_DELETE_OID_W} // // DirSync operation. Data as follows // SEQUENCE { // Flags INTEGER // Size INTEGER // Cookie OCTET STRING // } // LDAP_SERVER_DIRSYNC_OID = '1.2.840.113556.1.4.841'; {$EXTERNALSYM LDAP_SERVER_DIRSYNC_OID} LDAP_SERVER_DIRSYNC_OID_W = '1.2.840.113556.1.4.841'; {$EXTERNALSYM LDAP_SERVER_DIRSYNC_OID_W} // // Return extended DNs. No Data. // LDAP_SERVER_EXTENDED_DN_OID = '1.2.840.113556.1.4.529'; {$EXTERNALSYM LDAP_SERVER_EXTENDED_DN_OID} LDAP_SERVER_EXTENDED_DN_OID_W = '1.2.840.113556.1.4.529'; {$EXTERNALSYM LDAP_SERVER_EXTENDED_DN_OID_W} // // Tell DC which server to verify with that a DN exist. Data as follows // SEQUENCE { // Flags INTEGER, // ServerName OCTET STRING // unicode server string // } // LDAP_SERVER_VERIFY_NAME_OID = '1.2.840.113556.1.4.1338'; {$EXTERNALSYM LDAP_SERVER_VERIFY_NAME_OID} LDAP_SERVER_VERIFY_NAME_OID_W = '1.2.840.113556.1.4.1338'; {$EXTERNALSYM LDAP_SERVER_VERIFY_NAME_OID_W} // // Tells server not to generate referrals // LDAP_SERVER_DOMAIN_SCOPE_OID = '1.2.840.113556.1.4.1339'; {$EXTERNALSYM LDAP_SERVER_DOMAIN_SCOPE_OID} LDAP_SERVER_DOMAIN_SCOPE_OID_W = '1.2.840.113556.1.4.1339'; {$EXTERNALSYM LDAP_SERVER_DOMAIN_SCOPE_OID_W} // // Server Search Options. Allows the client to pass in flags to control // various search behaviours. Data as follows // SEQUENCE { // Flags INTEGER // } // LDAP_SERVER_SEARCH_OPTIONS_OID = '1.2.840.113556.1.4.1340'; {$EXTERNALSYM LDAP_SERVER_SEARCH_OPTIONS_OID} LDAP_SERVER_SEARCH_OPTIONS_OID_W = '1.2.840.113556.1.4.1340'; {$EXTERNALSYM LDAP_SERVER_SEARCH_OPTIONS_OID_W} // // search option flags // SERVER_SEARCH_FLAG_DOMAIN_SCOPE = $1; // no referrals generated {$EXTERNALSYM SERVER_SEARCH_FLAG_DOMAIN_SCOPE} SERVER_SEARCH_FLAG_PHANTOM_ROOT = $2; // search all NCs subordinate to search base {$EXTERNALSYM SERVER_SEARCH_FLAG_PHANTOM_ROOT} // // End of Server controls // // // // Operational Attributes // LDAP_OPATT_BECOME_DOM_MASTER = 'becomeDomainMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_DOM_MASTER} LDAP_OPATT_BECOME_DOM_MASTER_W = 'becomeDomainMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_DOM_MASTER_W} LDAP_OPATT_BECOME_RID_MASTER = 'becomeRidMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_RID_MASTER} LDAP_OPATT_BECOME_RID_MASTER_W = 'becomeRidMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_RID_MASTER_W} LDAP_OPATT_BECOME_SCHEMA_MASTER = 'becomeSchemaMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_SCHEMA_MASTER} LDAP_OPATT_BECOME_SCHEMA_MASTER_W = 'becomeSchemaMaster'; {$EXTERNALSYM LDAP_OPATT_BECOME_SCHEMA_MASTER_W} LDAP_OPATT_RECALC_HIERARCHY = 'recalcHierarchy'; {$EXTERNALSYM LDAP_OPATT_RECALC_HIERARCHY} LDAP_OPATT_RECALC_HIERARCHY_W = 'recalcHierarchy'; {$EXTERNALSYM LDAP_OPATT_RECALC_HIERARCHY_W} LDAP_OPATT_SCHEMA_UPDATE_NOW = 'schemaUpdateNow'; {$EXTERNALSYM LDAP_OPATT_SCHEMA_UPDATE_NOW} LDAP_OPATT_SCHEMA_UPDATE_NOW_W = 'schemaUpdateNow'; {$EXTERNALSYM LDAP_OPATT_SCHEMA_UPDATE_NOW_W} LDAP_OPATT_BECOME_PDC = 'becomePdc'; {$EXTERNALSYM LDAP_OPATT_BECOME_PDC} LDAP_OPATT_BECOME_PDC_W = 'becomePdc'; {$EXTERNALSYM LDAP_OPATT_BECOME_PDC_W} LDAP_OPATT_FIXUP_INHERITANCE = 'fixupInheritance'; {$EXTERNALSYM LDAP_OPATT_FIXUP_INHERITANCE} LDAP_OPATT_FIXUP_INHERITANCE_W = 'fixupInheritance'; {$EXTERNALSYM LDAP_OPATT_FIXUP_INHERITANCE_W} LDAP_OPATT_INVALIDATE_RID_POOL = 'invalidateRidPool'; {$EXTERNALSYM LDAP_OPATT_INVALIDATE_RID_POOL} LDAP_OPATT_INVALIDATE_RID_POOL_W = 'invalidateRidPool'; {$EXTERNALSYM LDAP_OPATT_INVALIDATE_RID_POOL_W} LDAP_OPATT_ABANDON_REPL = 'abandonReplication'; {$EXTERNALSYM LDAP_OPATT_ABANDON_REPL} LDAP_OPATT_ABANDON_REPL_W = 'abandonReplication'; {$EXTERNALSYM LDAP_OPATT_ABANDON_REPL_W} LDAP_OPATT_DO_GARBAGE_COLLECTION = 'doGarbageCollection'; {$EXTERNALSYM LDAP_OPATT_DO_GARBAGE_COLLECTION} LDAP_OPATT_DO_GARBAGE_COLLECTION_W = 'doGarbageCollection'; {$EXTERNALSYM LDAP_OPATT_DO_GARBAGE_COLLECTION_W} // // Root DSE Attributes // LDAP_OPATT_SUBSCHEMA_SUBENTRY = 'subschemaSubentry'; {$EXTERNALSYM LDAP_OPATT_SUBSCHEMA_SUBENTRY} LDAP_OPATT_SUBSCHEMA_SUBENTRY_W = 'subschemaSubentry'; {$EXTERNALSYM LDAP_OPATT_SUBSCHEMA_SUBENTRY_W} LDAP_OPATT_CURRENT_TIME = 'currentTime'; {$EXTERNALSYM LDAP_OPATT_CURRENT_TIME} LDAP_OPATT_CURRENT_TIME_W = 'currentTime'; {$EXTERNALSYM LDAP_OPATT_CURRENT_TIME_W} LDAP_OPATT_SERVER_NAME = 'serverName'; {$EXTERNALSYM LDAP_OPATT_SERVER_NAME} LDAP_OPATT_SERVER_NAME_W = 'serverName'; {$EXTERNALSYM LDAP_OPATT_SERVER_NAME_W} LDAP_OPATT_NAMING_CONTEXTS = 'namingContexts'; {$EXTERNALSYM LDAP_OPATT_NAMING_CONTEXTS} LDAP_OPATT_NAMING_CONTEXTS_W = 'namingContexts'; {$EXTERNALSYM LDAP_OPATT_NAMING_CONTEXTS_W} LDAP_OPATT_DEFAULT_NAMING_CONTEXT = 'defaultNamingContext'; {$EXTERNALSYM LDAP_OPATT_DEFAULT_NAMING_CONTEXT} LDAP_OPATT_DEFAULT_NAMING_CONTEXT_W = 'defaultNamingContext'; {$EXTERNALSYM LDAP_OPATT_DEFAULT_NAMING_CONTEXT_W} LDAP_OPATT_SUPPORTED_CONTROL = 'supportedControl'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_CONTROL} LDAP_OPATT_SUPPORTED_CONTROL_W = 'supportedControl'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_CONTROL_W} LDAP_OPATT_HIGHEST_COMMITTED_USN = 'highestCommitedUSN'; {$EXTERNALSYM LDAP_OPATT_HIGHEST_COMMITTED_USN} LDAP_OPATT_HIGHEST_COMMITTED_USN_W = 'highestCommitedUSN'; {$EXTERNALSYM LDAP_OPATT_HIGHEST_COMMITTED_USN_W} LDAP_OPATT_SUPPORTED_LDAP_VERSION = 'supportedLDAPVersion'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_LDAP_VERSION} LDAP_OPATT_SUPPORTED_LDAP_VERSION_W = 'supportedLDAPVersion'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_LDAP_VERSION_W} LDAP_OPATT_SUPPORTED_LDAP_POLICIES = 'supportedLDAPPolicies'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_LDAP_POLICIES} LDAP_OPATT_SUPPORTED_LDAP_POLICIES_W = 'supportedLDAPPolicies'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_LDAP_POLICIES_W} LDAP_OPATT_SCHEMA_NAMING_CONTEXT = 'schemaNamingContext'; {$EXTERNALSYM LDAP_OPATT_SCHEMA_NAMING_CONTEXT} LDAP_OPATT_SCHEMA_NAMING_CONTEXT_W = 'schemaNamingContext'; {$EXTERNALSYM LDAP_OPATT_SCHEMA_NAMING_CONTEXT_W} LDAP_OPATT_CONFIG_NAMING_CONTEXT = 'configurationNamingContext'; {$EXTERNALSYM LDAP_OPATT_CONFIG_NAMING_CONTEXT} LDAP_OPATT_CONFIG_NAMING_CONTEXT_W = 'configurationNamingContext'; {$EXTERNALSYM LDAP_OPATT_CONFIG_NAMING_CONTEXT_W} LDAP_OPATT_ROOT_DOMAIN_NAMING_CONTEXT = 'rootDomainNamingContext'; {$EXTERNALSYM LDAP_OPATT_ROOT_DOMAIN_NAMING_CONTEXT} LDAP_OPATT_ROOT_DOMAIN_NAMING_CONTEXT_W = 'rootDomainNamingContext'; {$EXTERNALSYM LDAP_OPATT_ROOT_DOMAIN_NAMING_CONTEXT_W} LDAP_OPATT_SUPPORTED_SASL_MECHANISM = 'supportedSASLMechanisms'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_SASL_MECHANISM} LDAP_OPATT_SUPPORTED_SASL_MECHANISM_W = 'supportedSASLMechanisms'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_SASL_MECHANISM_W} LDAP_OPATT_DNS_HOST_NAME = 'dnsHostName'; {$EXTERNALSYM LDAP_OPATT_DNS_HOST_NAME} LDAP_OPATT_DNS_HOST_NAME_W = 'dnsHostName'; {$EXTERNALSYM LDAP_OPATT_DNS_HOST_NAME_W} LDAP_OPATT_LDAP_SERVICE_NAME = 'ldapServiceName'; {$EXTERNALSYM LDAP_OPATT_LDAP_SERVICE_NAME} LDAP_OPATT_LDAP_SERVICE_NAME_W = 'ldapServiceName'; {$EXTERNALSYM LDAP_OPATT_LDAP_SERVICE_NAME_W} LDAP_OPATT_DS_SERVICE_NAME = 'dsServiceName'; {$EXTERNALSYM LDAP_OPATT_DS_SERVICE_NAME} LDAP_OPATT_DS_SERVICE_NAME_W = 'dsServiceName'; {$EXTERNALSYM LDAP_OPATT_DS_SERVICE_NAME_W} LDAP_OPATT_SUPPORTED_CAPABILITIES = 'supportedCapabilities'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_CAPABILITIES} LDAP_OPATT_SUPPORTED_CAPABILITIES_W = 'supportedCapabilities'; {$EXTERNALSYM LDAP_OPATT_SUPPORTED_CAPABILITIES_W} // // End of Operational attributes // // // // Server Capabilities // // // NT5 Active Directory // LDAP_CAP_ACTIVE_DIRECTORY_OID = '1.2.840.113556.1.4.800'; {$EXTERNALSYM LDAP_CAP_ACTIVE_DIRECTORY_OID} LDAP_CAP_ACTIVE_DIRECTORY_OID_W = '1.2.840.113556.1.4.800'; {$EXTERNALSYM LDAP_CAP_ACTIVE_DIRECTORY_OID_W} // // End of capabilities // // // // Matching Rules // // // BIT AND // LDAP_MATCHING_RULE_BIT_AND = '1.2.840.113556.1.4.803'; {$EXTERNALSYM LDAP_MATCHING_RULE_BIT_AND} LDAP_MATCHING_RULE_BIT_AND_W = '1.2.840.113556.1.4.803'; {$EXTERNALSYM LDAP_MATCHING_RULE_BIT_AND_W} // // BIT OR // LDAP_MATCHING_RULE_BIT_OR = '1.2.840.113556.1.4.804'; {$EXTERNALSYM LDAP_MATCHING_RULE_BIT_OR} LDAP_MATCHING_RULE_BIT_OR_W = '1.2.840.113556.1.4.804'; {$EXTERNALSYM LDAP_MATCHING_RULE_BIT_OR_W} {$ENDIF JWA_IMPLEMENTATIONSECTION} {$IFNDEF JWA_OMIT_SECTIONS} implementation //uses ... {$ENDIF JWA_OMIT_SECTIONS} {$IFNDEF JWA_INTERFACESECTION} //your implementation here {$ENDIF JWA_INTERFACESECTION} {$IFNDEF JWA_OMIT_SECTIONS} end. {$ENDIF JWA_OMIT_SECTIONS}