dsapi.h
Go to the documentation of this file.
1/* Emacs mode: -*- C -*- */
2
3/*
4 * Copyright (c) 2004-2017, Isode Limited, London, England.
5 * All rights reserved.
6 *
7 * Acquisition and use of this software and related materials for any
8 * purpose requires a written licence agreement from Isode
9 * Limited, or a written licence from an organisation licenced by Isode
10 * Limited to grant such a licence.
11 *
12 */
13
14/*
15 * dsapi.h
16 *
17 * Simple directory API directory operations.
18 *
19 */
20
21/*
22 *
23 *
24 * @VERSION@
25 */
26
27#ifndef ISODE_DSAPI_H
28#define ISODE_DSAPI_H
29
30#include <isode/ds/dsapi/dsapi_cdecl.h>
38
359LIBDSAPI_CDECL
361 void
362);
363
377LIBDSAPI_CDECL
379 int
380);
381
402LIBDSAPI_CDECL
404 const char *path
405);
406
429LIBDSAPI_CDECL
431
450LIBDSAPI_CDECL
452 void
453);
454
501LIBDSAPI_CDECL
503 const char *address,
504 int force_tls,
505 DS_Session **session_p
506);
507
524LIBDSAPI_CDECL
526 DS_Session *session,
527 DS_CommonArgs *common_args,
528 DS_Indication **indication_p
529);
530
544LIBDSAPI_CDECL
546 const char *address,
547 DS_Session **session_p
548) DSAPI_DEPRECATED;
549
567LIBDSAPI_CDECL
569 DS_Session *session,
570 const DS_DN *dn,
571 const char *password,
572 DS_CommonArgs *common_args,
573 DS_Indication **indication_p
574);
575
592LIBDSAPI_CDECL
594 const char *address,
595 const DS_DN *dn,
596 const char *password,
597 DS_Session **session_p
598) DSAPI_DEPRECATED;
599
620LIBDSAPI_CDECL
622 DS_Session *session,
623 const DS_DN *dsa_dn,
624 const DS_DN *dn,
625 const char *password,
626 DS_CommonArgs *common_args,
627 DS_Indication **indication_p
628);
629
650LIBDSAPI_CDECL
652 const char *address,
653 const DS_DN *dsa_dn,
654 const DS_DN *dn,
655 const char *password,
656 DS_Session **session_p
657) DSAPI_DEPRECATED;
658
691LIBDSAPI_CDECL
692const char ** DS_SaslMechList(void);
693
694LIBDSAPI_CDECL
695DS_Status DS_BindSASLSync (
696 DS_Session *session,
697 const char *mechanism,
698 const char *userid,
699 const char *secret,
700 DS_CommonArgs *common_args,
701 DS_Indication **indication_p
702);
703
723LIBDSAPI_CDECL
725 const char *address,
726 const char *mechanism,
727 const char *userid,
728 const char *secret,
729 DS_Session **session_p
730) DSAPI_DEPRECATED;
731
747LIBDSAPI_CDECL
749 DS_Session *session,
750 const DS_BindParams *bind_params,
751 DS_CommonArgs *common_args,
752 DS_Indication **indication_p);
753
760LIBDSAPI_CDECL
762 DS_Session **session_p
763);
764
787LIBDSAPI_CDECL
789 const DS_Session *session_p,
790 DSSessionState *state_p
791);
792
854LIBDSAPI_CDECL
856 const DS_Session *session_p,
857 DS_AttrValList **av_list_p,
858 int *identity_check_result
859);
860
861
886LIBDSAPI_CDECL
888 DS_Session *session,
889 int allow_unknown
890);
891
892
902LIBDSAPI_CDECL
904 DS_Session *session,
905 int *allow_unknown_p
906);
907
908
961LIBDSAPI_CDECL
963 DS_Session *session,
964 const DS_DN *dn,
965 const char *attr_selection[],
966 DS_CommonArgs *common_args,
967 DS_Indication **indication_p
968);
969
1015LIBDSAPI_CDECL
1017 DS_Session *session,
1018 const DS_DN *base_dn,
1019 const char *filter,
1020 DSSearchScope search_scope,
1021 const char *attr_selection[],
1022 DS_CommonArgs *common_args,
1023 DS_Indication **indication_p
1024);
1025
1048LIBDSAPI_CDECL
1050 DS_Session *session,
1051 DS_Indication *di
1052);
1053
1064LIBDSAPI_CDECL
1066 DS_Session *session,
1067 const DS_Entry *entry,
1068 const DS_CommonArgs *common_args,
1069 DS_Indication **indication_p
1070);
1071
1083LIBDSAPI_CDECL
1085 DS_Session *session,
1086 const DS_DN *dn,
1087 const DS_AttrList *attrs,
1088 const DS_CommonArgs *common_args,
1089 DS_Indication **indication_p
1090);
1091
1102LIBDSAPI_CDECL
1104 DS_Session *session,
1105 const DS_DN *dn,
1106 const DS_CommonArgs *common_args,
1107 DS_Indication **indication_p
1108);
1109
1120LIBDSAPI_CDECL
1122 DS_Session *session,
1123 const DS_Entry *entry,
1124 const DS_CommonArgs *common_args,
1125 DS_Indication **indication_p
1126);
1127
1139LIBDSAPI_CDECL
1141 DS_Session *session,
1142 const DS_DN *dn,
1143 const DS_AttrList *changes,
1144 const DS_CommonArgs *common_args,
1145 DS_Indication **indication_p
1146);
1147
1160LIBDSAPI_CDECL
1162 DS_Session *session,
1163 const DS_DN *old_dn,
1164 const DS_DN *new_dn,
1165 int delete_old_rdn,
1166 const DS_CommonArgs *common_args,
1167 DS_Indication **indication_p
1168);
1169
1198LIBDSAPI_CDECL
1200 DS_Session *session,
1201 const DS_DN *dn,
1202 const DS_Attr *attr,
1203 const DS_CommonArgs *common_args,
1204 DS_Indication **indication_p
1205);
1206
1261LIBDSAPI_CDECL
1263 DS_Session *session,
1264 const DS_DN *dn,
1265 const char *attr_selection[],
1266 DS_CommonArgs *common_args,
1267 int *ret_op_id
1268);
1269
1278LIBDSAPI_CDECL
1280 DS_Session *session,
1281 DS_Indication **indication_p
1282);
1283
1295LIBDSAPI_CDECL
1297 DS_Session *session,
1298 unsigned char *txn_id,
1299 size_t txn_id_len,
1300 char commit,
1301 DS_Indication **indication_p
1302);
1303
1320LIBDSAPI_CDECL
1322 DS_Session *session,
1323 int op_id,
1324 DS_Indication **indication_p
1325);
1326
1340LIBDSAPI_CDECL
1342 DS_Session *session,
1343 int op_id
1344);
1345
1373LIBDSAPI_CDECL
1375 DS_Indication *indication,
1376 DS_ErrorType *type_p
1377);
1378
1395LIBDSAPI_CDECL
1397 DS_Indication *indication,
1398 DS_ErrorType *type_p,
1399 DS_ErrorValue *value_p
1400);
1401
1429LIBDSAPI_CDECL
1431 DS_Indication *indication,
1432 int *sign_error_p
1433);
1434
1435
1447LIBDSAPI_CDECL
1449 DS_Indication *indication,
1450 DSLimitProblem *limit_p
1451);
1452
1467LIBDSAPI_CDECL
1469 DS_Indication *indication,
1470 int *ret_num_p
1471);
1472
1488LIBDSAPI_CDECL
1490 DS_Indication *indication,
1491 const DS_EntryList **entry_list_p
1492);
1493
1527LIBDSAPI_CDECL
1529 DS_Indication *indication
1530);
1531
1532
1550LIBDSAPI_CDECL
1552 DS_Indication *indication,
1553 int *matched
1554);
1555
1573LIBDSAPI_CDECL
1575 DS_Indication *indication,
1576 unsigned char **txn_id,
1577 size_t *txn_id_len
1578);
1579
1595LIBDSAPI_CDECL
1597 DS_Indication *indication,
1598 int *fail_msg_id
1599);
1600
1630LIBDSAPI_CDECL
1632 const DS_Indication *indication,
1633 const DS_ReferralList **referral_list_p
1634);
1635
1660LIBDSAPI_CDECL
1662 const DS_Indication *indication,
1663 const DS_ReferralList **referral_list_p
1664);
1665
1685LIBDSAPI_CDECL
1687 const DS_Indication *indication,
1688 int *time_before_expiration_p
1689);
1690
1713LIBDSAPI_CDECL
1715 const DS_Indication *indication,
1716 int *grace_authentications_remaining_p
1717);
1718
1737LIBDSAPI_CDECL
1739 const DS_Indication *indication,
1740 DS_PasswordPolicyError *error_p
1741);
1742
1760LIBDSAPI_CDECL
1762 const DS_Indication *indication,
1763 const char **error_text_p
1764);
1765
1782LIBDSAPI_CDECL
1784 const DS_Indication *indication,
1785 int *more_pages
1786);
1787
1793LIBDSAPI_CDECL
1795 DS_Indication *indication
1796);
1797
1804#endif /* ISODE_DSAPI_H */
Simple directory API methods for handling entries, attributes and values.
Handling of the directory common arguments.
Symbolic constants used in the Directory Service API.
Directory client API methods for handling directory entries.
API methods for reading and writing LDIF files.
Directory client API methods for handling directory names.
Directory client API methods for handling referral and continuation reference information.
struct DS_Session DS_Session
Definition dsapi_types.h:44
struct DS_AttrVal DS_AttrValList
DSSessionState
DSSearchScope
struct DS_Attr DS_Attr
Definition dsapi_types.h:75
struct DS_Entry DS_Entry
Definition dsapi_types.h:81
DSLimitProblem
struct DS_Referral DS_ReferralList
struct DS_CommonArgs DS_CommonArgs
struct DS_DN DS_DN
struct DS_Entry DS_EntryList
struct DS_Attr DS_AttrList
struct DS_BindParams DS_BindParams
Definition dsapi_types.h:51
struct DS_Indication DS_Indication
DS_ErrorType
DS_ErrorValue
DS_Status DS_TxnStartSync(DS_Session *session, DS_Indication **indication_p)
Perform a synchronous directory transaction start operation.
DS_Status DS_ReadAsync(DS_Session *session, const DS_DN *dn, const char *attr_selection[], DS_CommonArgs *common_args, int *ret_op_id)
Invoke an asynchronous directory read entry operation.
DS_Status DS_TxnEndSync(DS_Session *session, unsigned char *txn_id, size_t txn_id_len, char commit, DS_Indication **indication_p)
Perform a synchronous directory transaction start (commit) operation.
DS_Status DS_Cancel(DS_Session *session, int op_id)
Cancel a previously issued asynchronous operation.
DS_Status DS_Poll(DS_Session *session, int op_id, DS_Indication **indication_p)
Poll for an asynchronous operation indication.
DS_Status
Definition dsapi_const.h:66
DS_PasswordPolicyError
DS_Status DS_Indication_GetReferrals(const DS_Indication *indication, const DS_ReferralList **referral_list_p)
Return information about an operation for which the directory returned a referral.
DS_Entry * DS_Indication_GetFirstEntry(DS_Indication *indication)
Return the first entry from an Indication.
DS_Status DS_Indication_GetPasswordPolicyErrorCode(const DS_Indication *indication, DS_PasswordPolicyError *error_p)
Return the error code relating to the current account's password.
DS_Status DS_Indication_HasMoreResults(const DS_Indication *indication, int *more_pages)
Check if there are more pages for a paged results search.
DS_Status DS_Indication_GetTxnEndResult(DS_Indication *indication, int *fail_msg_id)
Return the result of a transaction end request. On success error the message ID of the update request...
DS_Status DS_Indication_GetEntryCount(DS_Indication *indication, int *ret_num_p)
Return a count of the set of entries contained in the operation outcome.
void DS_Indication_Delete(DS_Indication *indication)
Free a DS_Indication structure.
DS_Status DS_Indication_GetContinuationReferences(const DS_Indication *indication, const DS_ReferralList **referral_list_p)
Return the set of continuation references resulting from a search operation.
DS_Status DS_Indication_GetPasswordPolicyExpiryWarning(const DS_Indication *indication, int *time_before_expiration_p)
Return the expiry time of the current account's password.
DS_Status DS_Indication_GetSignatureError(DS_Indication *indication, int *sign_error_p)
Determine whether signature verification failed for a signed operation.
DS_Status DS_Indication_GetErrorCodes(DS_Indication *indication, DS_ErrorType *type_p, DS_ErrorValue *value_p)
Get the directory (operation) error type and value codes.
DS_Status DS_Indication_GetLimitProblem(DS_Indication *indication, DSLimitProblem *limit_p)
Get any limit problem associated with a search result.
DS_Status DS_Indication_GetStatus(DS_Indication *indication, DS_ErrorType *type_p)
Get the directory (operation) error type.
DS_Status DS_Indication_GetPasswordPolicyGraceWarning(const DS_Indication *indication, int *grace_authentications_remaining_p)
Return the number of grace authentications left for the current account's password.
DS_Status DS_Indication_GetCompareResult(DS_Indication *indication, int *matched)
Return a flag indicating whether a compare operation found a match.
DS_Status DS_Indication_GetExtraErrorText(const DS_Indication *indication, const char **error_text_p)
Determine the supplementary text string returned by the directory.
DS_Status DS_Indication_GetTxnStartResult(DS_Indication *indication, unsigned char **txn_id, size_t *txn_id_len)
Return the result of a transaction start request. On success the result is an identifier in the form ...
DS_Status DS_Indication_GetEntryList(DS_Indication *indication, const DS_EntryList **entry_list_p)
Return the set of entries contained in the operation outcome.
DS_Status DS_BindAnonymousSync(DS_Session *session, DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform an anonymous synchronous directory bind.
const char ** DS_SaslMechList(void)
Perform a synchronous directory bind using SASL.
DS_Status DS_BindSync_SASL(const char *address, const char *mechanism, const char *userid, const char *secret, DS_Session **session_p) DSAPI_DEPRECATED
Perform a synchronous directory bind using SASL.
DS_Status DS_BindSync_Anonymous(const char *address, DS_Session **session_p) DSAPI_DEPRECATED
Perform an anonymous synchronous directory bind.
DS_Status DS_BindSimpleSync(DS_Session *session, const DS_DN *dn, const char *password, DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory bind using simple credentials.
DS_Status DS_GetAllowUnknownAttrs(DS_Session *session, int *allow_unknown_p)
Get the values of the flag that allows unknown attributes to be read over LDAP.
DS_Status DS_AllowUnknownAttrs(DS_Session *session, int allow_unknown)
Turn on or off the flag that allows unknown attributes to be read over LDAP.
DS_Status DS_Session_New(const char *address, int force_tls, DS_Session **session_p)
Create an unbound directory session, validating the specified address.
DS_Status DS_BindSync_Strong(const char *address, const DS_DN *dsa_dn, const DS_DN *dn, const char *password, DS_Session **session_p) DSAPI_DEPRECATED
Perform a synchronous directory bind using strong credentials.
DS_Status DS_BindStrongSync(DS_Session *session, const DS_DN *dsa_dn, const DS_DN *dn, const char *password, DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory bind using strong credentials.
DS_Status DS_BindWithParameters(DS_Session *session, const DS_BindParams *bind_params, DS_CommonArgs *common_args, DS_Indication **indication_p)
Bind using a set of bind parameters.
DS_Status DS_GetSessionState(const DS_Session *session_p, DSSessionState *state_p)
Get the current session state.
DS_Status DS_GetSessionCertificates(const DS_Session *session_p, DS_AttrValList **av_list_p, int *identity_check_result)
Get and/or verify certificates that were sent by a server during a strong bind operation.
DS_Status DS_BindSync_Simple(const char *address, const DS_DN *dn, const char *password, DS_Session **session_p) DSAPI_DEPRECATED
Perform a synchronous directory bind using simple credentials.
void DS_UnbindSync(DS_Session **session_p)
Perform a synchronous directory unbind.
DS_Status DS_RenameSync(DS_Session *session, const DS_DN *old_dn, const DS_DN *new_dn, int delete_old_rdn, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory rename operation.
DS_Status DS_CompareSync(DS_Session *session, const DS_DN *dn, const DS_Attr *attr, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory compare operation.
DS_Status DS_ModifySync(DS_Session *session, const DS_Entry *entry, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory modify operation.
DS_Status DS_AddSyncByDN(DS_Session *session, const DS_DN *dn, const DS_AttrList *attrs, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory add operation.
DS_Status DS_DeleteSync(DS_Session *session, const DS_DN *dn, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory delete operation.
DS_Status DS_NextPageSync(DS_Session *session, DS_Indication *di)
Request the next page of a paged results search.
DS_Status DS_ReadSync(DS_Session *session, const DS_DN *dn, const char *attr_selection[], DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory read entry operation.
DS_Status DS_SearchSync(DS_Session *session, const DS_DN *base_dn, const char *filter, DSSearchScope search_scope, const char *attr_selection[], DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory search operation.
DS_Status DS_AddSync(DS_Session *session, const DS_Entry *entry, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory add operation.
DS_Status DS_ModifySyncByDN(DS_Session *session, const DS_DN *dn, const DS_AttrList *changes, const DS_CommonArgs *common_args, DS_Indication **indication_p)
Perform a synchronous directory modify operation.
DS_Status DS_Initialize(void)
Initialize the Simple Directory API.
void DS_UninitializeSecurity(void)
Disable strong operations and release any resources associated with the security environment.
int DS_Version(void)
Return the DSAPI library version.
DS_Status DS_InitializeWithLog(int)
Initialize the Simple Directory API.
DS_Status DS_InitializeSecurity(const char *path)
Initialize the security environment.

All rights reserved © 2002 - 2024 Isode Ltd.