úÎXóNķĪ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢ  John Goerzen, Safe-InferedĪĨĪĨĪĨ John Goerzen, Safe-Inferedi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ͧĻĐŠŦŽ­ŪŊ°ą]  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!       >\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! ͧĻĐŠŦŽ­ŪŊ°ą John Goerzen, Safe-Infered]BER length type ^BER int type _BER type tag `CConvenience type so we use the correct ints for the LDAP library. aMain LDAP object type. HLDAP objects are automatically unbound (and memory freed) when they are garbage-collected by Haskell. ]^_`a]^_`aa`^_]]^_`a John Goerzen, Safe-InferedbGThe basic type of LDAP exceptions. These are raised when an operation does not indicate success. dNumeric error code eDescription of error fCalling function gExecute the given IO action. If it raises a b/, then execute the supplied handler and return 2its return value. Otherwise, process as normal. hLike g), with the order of arguments reversed. i@Catches LDAP errors, and re-raises them as IO errors with fail. Useful if you don'4t care to catch LDAP errors, but want to see a sane Herror message if one happens. One would often use this as a high-level wrapper around LDAP calls. jA utility function to throw an b. The mechanics of throwing Jsuch a thing differ between GHC 6.8.x, Hugs, and GHC 6.10. This function 4takes care of the special cases to make it simpler. OWith GHC 6.10, it is a type-restricted alias for throw. On all other systems, -it is a type-restricted alias for throwDyn. bcdefghijēģīĩķ bcdefghij bcdefghij bcdefghijēģīĩķ John Goerzen, Safe-Infered"klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ"klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ"klmn|o}p~qrs€t‚uƒv„w…x†y‡zˆ{‰Š‹Œ"klmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ  John Goerzen, Safe-Infered·Value coming in from C ļCheck the return value. If it's something other than  , raise an LDAP exception. đ>Raise an IOError based on errno if getting a NULL. Identical &to Foreign.C.Error.throwErrnoIfNull. š4Convert a LDAPPtr into a LDAP type. Checks it with đ automatically. ŧUse a a in a function that needs ·. žSame as ŧ-, but uses nullPtr if the input is Nothing. ―(Must be freed later with freeHSBerval! ū'Free a berval allocated from Haskell. ·ŋļĀÁđšŧžÂÃÄ1Function that transforms input data into pointer #Function that frees generated data List of input data Action to run with the C array Å―ū·ŋļĀÁđšŧžÂÃÄÅ―ū·ŋļĀÁđšŧžÂÃÄÅ―ū John Goerzen, Safe-Infered0Preferred way to initialize a LDAP connection. The default port is given in  . !Could throw IOError on failure. ŽLike 1, but establish network connection immediately. Like ", but accepts a URI (or whitespace/comma separated Flist of URIs) which can contain a schema, a host and a port. Besides Fldap, valid schemas are ldaps (LDAP over TLS), ldapi (LDAP over IPC), "and cldap (connectionless LDAP). Bind to the remote server. Host Port  New LDAP Obj ŽHost Port  New LDAP Obj URI  New LDAP Obj  LDAP Object DN (Distinguished Name)  Password ŽŽŽ  John Goerzen, Safe-InferedÆ!Get 1 result from an operation. ĮČÆĮČÆĮČÆ John Goerzen, Safe-Infered“"Distinguished Name of this object ”&Mapping from attribute name to values •;Defines what attributes to return with the search result. –User-specified list —User attributes only ˜No attributes ‘’“”•–—˜™LDAP connection object Base DN for search, if any Scope of the search $Filter to be used (none if Nothing) !Desired attributes in result set 6If True, exclude attribute values (return types only)  ‘’“”•–—˜™•˜—–‘’“” ™‘’“”•˜—–™ John Goerzen, Safe-InferedœType of operation to perform Name of attribute to edit ž New values ĄDelete the specified DN ĒTakes a list of name/*value points and converts them to LDAPMod ,entries. Each item will have the specified . Ģ=Similar to list2ldm, but handles pairs with only one value. š›œžŸLDAP connection object  DN to modify Changes to make  LDAP connection object  DN to add  Items to add ĄĒĢš›œžŸ ĄĒĢš›œž ŸĄĒĢš›œžŸ ĄĒĢ  John Goerzen, Safe-InferedĪ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢÉ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn oopqrstuv wxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œœžŸ ĄĒĢĪĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋ Ā Á Â Ã Ä Å Æ Į Č É Ę Ë Ė Í Î Ï Ð ŅŌ LDAP-0.6.7 LDAP.Data LDAP.TypesLDAP.ExceptionsLDAP.Constants LDAP.Init LDAP.Search LDAP.Modify LDAP.TypesLL LDAP.Utils ldapSuccessldapPort LDAP.ResultLDAP LDAPModOpUnknownLDAPModOpLdapModReplace LdapModDelete LdapModAdd LDAPScopeUnknownLDAPScopeLdapScopeSubtreeLdapScopeOnelevel LdapScopeBaseLdapScopeDefaultLDAPOptionCodeUnknownLDAPOptionCode LdapOptErrorLdapOptSuccessLdapOptMatchedDnLdapOptErrorStringLdapOptErrorNumberLdapOptHostNameLdapOptApiFeatureInfoLdapOptClientControlsLdapOptServerControlsLdapOptProtocolVersionLdapOptRestartLdapOptReferralsLdapOptTimelimitLdapOptSizelimit LdapOptDeref LdapOptDescLdapOptApiInfoLDAPReturnCodeUnknownLDAPReturnCodeLdapReferralLimitExceededLdapClientLoopLdapMoreResultsToReturnLdapNoResultsReturnedLdapControlNotFoundLdapNotSupportedLdapConnectError LdapNoMemoryLdapParamErrorLdapUserCancelledLdapFilterErrorLdapAuthUnknown LdapTimeoutLdapDecodingErrorLdapEncodingErrorLdapLocalErrorLdapServerDown LdapOtherLdapAffectsMultipleDsasLdapResultsTooLargeLdapNoObjectClassModsLdapAlreadyExistsLdapNotAllowedOnRdnLdapNotAllowedOnNonleafLdapObjectClassViolationLdapNamingViolationLdapLoopDetectLdapUnwillingToPerformLdapUnavailableLdapBusyLdapInsufficientAccessLdapInvalidCredentialsLdapInappropriateAuthLdapProxyAuthzFailureLdapAliasDerefProblem LdapIsLeafLdapInvalidDnSyntaxLdapAliasProblemLdapNoSuchObjectLdapInvalidSyntaxLdapTypeOrValueExistsLdapConstraintViolationLdapInappropriateMatchingLdapUndefinedTypeLdapNoSuchAttributeLdapSaslBindInProgressLdapConfidentialityRequired LdapUnavailableCriticalExtensionLdapAdminlimitExceeded LdapReferralLdapPartialResultsLdapStrongAuthRequiredLdapStrongAuthNotSupportedLdapAuthMethodNotSupportedLdapCompareTrueLdapCompareFalseLdapSizelimitExceededLdapTimelimitExceededLdapProtocolErrorLdapOperationsError LdapSuccessBERLenBERIntBERTagLDAPInt LDAPExceptioncode descriptioncaller catchLDAP handleLDAPfailLDAP throwLDAP ldapsPortldapApiVersionldapVendorNameldapApiInfoVersionldapFeatureInfoVersionldapControlValuesreturnfilterldapControlSubentriesldapControlNoopldapControlManagedsaitldapControlProxyAuthzldapControlSortrequestldapControlSortresponseldapControlVlvrequestldapControlVlvresponseldapNoticeOfDisconnectionldapNoticeDisconnect ldapFilterAnd ldapFilterOr ldapFilterNotldapFilterEqualityldapFilterSubstrings ldapFilterGe ldapFilterLeldapFilterPresentldapFilterApprox ldapFilterExtldapFilterExtOidldapFilterExtTypeldapFilterExtValueldapFilterExtDnattrsldapSubstringAnyldapSubstringFinalldapSubstringInitialldapInitldapOpenldapInitializeldapSimpleBind LDAPEntrylednleattrsSearchAttributes LDAPAttrListLDAPAllUserAttrs LDAPNoAttrs ldapSearchLDAPModmodOpmodTypemodVals ldapModifyldapAdd ldapDeletelist2ldm pairs2ldmBervalCLDAP $fEqLDAPModOp$fOrdLDAPModOp$fEnumLDAPModOp $fEqLDAPScope$fOrdLDAPScope$fEnumLDAPScope$fEqLDAPOptionCode$fOrdLDAPOptionCode$fEnumLDAPOptionCode$fEqLDAPReturnCode$fOrdLDAPReturnCode$fEnumLDAPReturnCode$fExceptionLDAPException$fTypeableLDAPException$fOrdLDAPException$fEqLDAPException$fShowLDAPExceptionLDAPPtrcheckLE checkNULL fromLDAPPtr withLDAPPtrmaybeWithLDAPPtr newBerval freeHSBerval ldap_memfree checkLEn1checkLEe withMStringwithCStringArr0 withAnyArr0bv2str ldap_1result LDAPMessage CLDAPMessage