(define-interface ldap-interface (export ldap-init current-ldap-session with-ldap-session ldap-simple-bind ldap-simple-bind-anonymous ldap-sasl-bind ldap-unbind ldap-search set-ldap-session-option! ldap-session-option ldap-first-message ldap-next-message ldap-count-messages ldap-message-type ldap-get-message-id ldap-first-attribute ldap-next-attribute ldap-all-attributes ldap-get-values ldap-compare ldap-entry-dn ldap-explode-dn ldap-explode-rdn ldap-make-dn-userfriendly ldap-count-entries ldap-first-entry ldap-next-entry ldap-count-references ldap-first-reference ldap-next-reference ldap-modify ldap-add)) (define-interface ldap-handle-types-interface (export ldap-session? ldap-session=? ldap-session-bound? ldap-message? ldap-message=? ber-element? ldap-modification? make-ldap-modification ldap-modification-operator ldap-modification-type ldap-modification-value-list ldap-api-info? ldap-api-info-info-version ldap-api-info-api-version ldap-api-info-protocol-version ldap-api-info-vendor-name ldap-api-info-vendor-version set-ldap-session-options! ldap-session-implicit-unbind-ok? ldap-session-auto-unbind? ldap-success?)) (define-interface ldap-handle-types-internal-functions-interface (export make-session-options ldap-session-options ldap-session-c-pointer set-ldap-session-bound?! ldap-message-c-pointer ldap-message-session set-ldap-message-session! ldap-message-result set-ldap-message-result! ldap-api-info-c-pointer ber-element-c-pointer convert-ldap-return-code convert-ldap-message-type)) (define-interface ldap-generated-types-interface (export ldap-return-object? ldap-return-elements ldap-return-name (ldap-return :syntax) ldap-option-version-object? ldap-option-version-elements ldap-option-version-name (ldap-option-version :syntax) ldap-scope-arguments-object? ldap-scope-arguments-elements ldap-scope-arguments-name (ldap-scope-arguments :syntax) ldap-session-option-value-object? ldap-session-option-value-elements ldap-session-option-value-name (ldap-session-option-value :syntax) ldap-message-types-object? ldap-message-types-elements ldap-message-types-name (ldap-message-types :syntax) ldap-operation-object? ldap-operation-elements ldap-operation-name (ldap-operation :syntax) ldap-attributes-no-attribute ldap-attributes-all-user-attributes)) (define-interface ldap-generated-types-internal-interface (compound-interface ldap-generated-types-interface (export ldap-scope-arguments-id ldap-session-option-value-id ldap-return-id ldap-message-types-id ldap-operation-id))) (define-interface ldap-types-interface (compound-interface ldap-handle-types-interface ldap-generated-types-interface)) (define-interface ldap-types-internals-interface (compound-interface ldap-types-interface ldap-handle-types-internal-functions-interface ldap-generated-types-internal-interface (export convert-ldap-return-code convert-ldap-message-type))) (define-interface ldap-conditions-interface (export raise-ldap-condition &ldap-error ldap-error? ldap-error-code ldap-error-session &ldap-security-error ldap-security-error? &ldap-service-error ldap-service-error? &ldap-data-error ldap-data-error? &ldap-bindings-internal-error ldap-bindings-internal-error? &ldap-bindings-not-implemented ldap-bindings-not-implemented? &ldap-implicit-unbind ldap-implicit-unbind? &ldap-session-option-error ldap-session-option-error? &ldap-operations-error ldap-operations-error? &ldap-protocol-error ldap-protocol-error? &ldap-timelimit-exceeded ldap-timelimit-exceeded? &ldap-sizelimit-exceeded ldap-sizelimit-exceeded? &ldap-strong-auth-not-supported ldap-strong-auth-not-supported? &ldap-strong-auth-required ldap-strong-auth-required? &ldap-adminlimit-exceeded ldap-adminlimit-exceeded? &ldap-critical-extension-unavailable ldap-critical-extension-unavailable? &ldap-confidentiality-required ldap-confidentiality-required? &ldap-sasl-bind-in-progress ldap-sasl-bind-in-progress? &ldap-no-such-attribute ldap-no-such-attribute? &ldap-undefined-type ldap-undefined-type? &ldap-inappropriate-type ldap-inappropriate-type? &ldap-insufficient-access ldap-insufficient-access? &ldap-busy ldap-busy? &ldap-unavailable ldap-unavailable? &ldap-unwilling-to-perform ldap-unwilling-to-perform? &ldap-loop-detect ldap-loop-detect? &ldap-invalid-syntax ldap-invalid-syntax? &ldap-invalid-dn-syntax ldap-invalid-dn-syntax? &ldap-naming-violation ldap-naming-violation? &ldap-constraint-violation ldap-constraint-violation? &ldap-type-or-value-exists ldap-type-or-value-exists? &ldap-objectclass-violation ldap-objectclass-violation? &ldap-not-allowed-on-leaf ldap-not-allowed-on-leaf? &ldap-not-allowed-on-rdn ldap-not-allowed-on-rdn? &ldap-already-exists ldap-already-exists? &ldap-no-such-object ldap-no-such-object? &ldap-alias-problem ldap-alias-problem? &ldap-alias-deref-problem ldap-alias-deref-problem? &ldap-referral-limit-exceeded ldap-referral-limit-exceeded? &ldap-no-objectclass-mods ldap-no-objectclass-mods? &ldap-results-too-large ldap-results-too-large? &ldap-affects-multiple-dsas ldap-affects-multiple-dsas? &ldap-server-down ldap-server-down? &ldap-local-error ldap-local-error? &ldap-encoding-error ldap-encoding-error? &ldap-decoding-error ldap-decoding-error? &ldap-timeout-error ldap-timeout-error? &ldap-auth-unknown ldap-auth-unknown? &ldap-filter-error ldap-filter-error? &ldap-param-error ldap-param-error? &ldap-no-memory ldap-no-memory? &ldap-connect-error ldap-connect-error? &ldap-not-supported ldap-not-supported? &ldap-control-not-found ldap-control-not-found? &ldap-referral-limit-exceeded ldap-referral-limit-exceeded? &ldap-filter-wrong-type ldap-filter-wrong-type? ldap-filter-wrong-type-expected ldap-filter-wrong-type-value &ldap-filter-internal-error ldap-filter-internal-error? ldap-filter-internal-error-what)) (define-interface value-weak-table-interface (export make-value-weak-table weak-table? add-to-weak-table! remove-from-weak-table! lookup-in-weak-table))