Summary: Isode provides a number of APIs which allow integrators and product developers to build components that allow client programs to connect to, query and modify data in the directory.
dsapi_types.h File Reference

Directory API type definitions and forward declarations of private types. More...

Go to the source code of this file.

Typedefs

typedef struct DS_Session DS_Session
 
typedef struct DS_BindParams DS_BindParams
 
typedef struct DS_Identity DS_Identity
 
typedef struct DS_SASLProps DS_SASLProps
 
typedef struct DS_AttrVal DS_AttrVal
 
typedef struct DS_Attr DS_Attr
 
typedef struct DS_Entry DS_Entry
 
typedef struct DS_Referral DS_Referral
 
typedef struct DS_ReferralAddress DS_ReferralAddress
 
typedef struct DS_DN DS_DN
 
typedef struct DS_Result DS_Result
 
typedef struct DS_Error DS_Error
 
typedef struct DS_Indication DS_Indication
 
typedef struct DS_Attr DS_AttrList
 
typedef struct DS_AttrVal DS_AttrValList
 
typedef struct DS_DN DS_DNList
 
typedef struct DS_Entry DS_EntryList
 
typedef struct DS_Referral DS_ReferralList
 
typedef struct DS_CommonArgs DS_CommonArgs
 
typedef struct IF_Dn DS_InternalDN
 
typedef struct DS_LDIF DS_LDIF
 
typedef struct DS_RanLDIF DS_RanLDIF
 
typedef struct DS_DNIndex DS_DNIndex
 
typedef DSHookAction DS_ErrorHook(void *object, char *operation, DS_Status status, void *user)
 Error callback hook function type. More...
 

Enumerations

enum  DSSearchScope { DSScopeBaseObject = 0, DSScopeOneLevel = 1, DSScopeSubtree = 2 }
 
enum  DSLimitProblem { DSLimitNoProblem = 0, DSLimitTimeExceeded = 1, DSLimitSizeExceeded = 2, DSLimitAdminLimitExceeded = 3 }
 
enum  DSModType { DSModAdd = 0, DSModDelete = 1, DSModReplace = 2 }
 
enum  DSEntryType {
  DSEntryNormal = 0, DSEntryModify = 1, DSEntryAdd = 2, DSEntryDelete = 3,
  DSEntryRename = 4
}
 
enum  DSSessionState {
  DSNotYetConnected = 0, DSConnectionLost = 1, DSUnbound = 2, DSVerificationFailed = 3,
  DSConnectionBound = 0x100, DSConnectionAnonymous = (DSConnectionBound + 1), DSConnectionSimple = (DSConnectionBound + 2), DSConnectionStrong = (DSConnectionBound + 3),
  DSConnectionSasl = (DSConnectionBound + 4)
}
 
enum  DSHookAction { DSActionContinue = 0, DSActionAbort = 1 }
 

Detailed Description

Directory API type definitions and forward declarations of private types.

Definition in file dsapi_types.h.

Typedef Documentation

typedef struct DS_Session DS_Session

This represents a connection to a directory.

See Session Management

Definition at line 44 of file dsapi_types.h.

typedef struct DS_BindParams DS_BindParams

This represents a bind parameters.

See Bind parameters

Definition at line 51 of file dsapi_types.h.

typedef struct DS_Identity DS_Identity

This represents an identity.

See Identities

Definition at line 57 of file dsapi_types.h.

typedef struct DS_SASLProps DS_SASLProps

This represents a SASL Props.

See SASL security properties

Definition at line 63 of file dsapi_types.h.

typedef struct DS_AttrVal DS_AttrVal

This represents a value of an attribute.

See Attribute Values

Definition at line 69 of file dsapi_types.h.

typedef struct DS_Attr DS_Attr

This represents an attribute of an entry.

See Entry Attributes

Definition at line 75 of file dsapi_types.h.

typedef struct DS_Entry DS_Entry

This represents a directory entry.

See Directory Entries

Definition at line 81 of file dsapi_types.h.

typedef struct DS_Referral DS_Referral

This represents information about a referral returned from the directory.

See Directory Referrals

Since
DSAPI_VERSION 2016

Definition at line 89 of file dsapi_types.h.

This represents information about a particular location where a referral may be followed.

See Directory Referrals

Since
DSAPI_VERSION 2016

Definition at line 97 of file dsapi_types.h.

typedef struct DS_DN DS_DN

This represents a single Distinguished Name.

See Distinguished Names

Definition at line 103 of file dsapi_types.h.

typedef struct DS_Result DS_Result

This represents an operation result returned by the directory.

See Directory operation error types

Definition at line 109 of file dsapi_types.h.

typedef struct DS_Error DS_Error

This represents an operation error returned by the directory.

See Directory operation error types and Directory operation error values.

Definition at line 115 of file dsapi_types.h.

typedef struct DS_Indication DS_Indication

This represents the result (or error) returned by a directory operation.

See Handling Directory Operation Results

Definition at line 121 of file dsapi_types.h.

typedef struct DS_Attr DS_AttrList

This represents a list of attributes

See Entry Attributes

Definition at line 127 of file dsapi_types.h.

typedef struct DS_AttrVal DS_AttrValList

This represents a list of values of an attribute

See Attribute Values

Definition at line 133 of file dsapi_types.h.

typedef struct DS_DN DS_DNList

This represents a list of Distinguished Names.

See Distinguished Names

Definition at line 139 of file dsapi_types.h.

typedef struct DS_Entry DS_EntryList

This represents a list of entries

See Directory Entries

Definition at line 145 of file dsapi_types.h.

typedef struct DS_Referral DS_ReferralList

This represents a list of referrals

See Directory Referrals

Since
DSAPI_VERSION 2016

Definition at line 152 of file dsapi_types.h.

typedef struct DS_CommonArgs DS_CommonArgs

This represents a list of common arguments for directory operations.

See Common Arguments to Directory Operations

Definition at line 158 of file dsapi_types.h.

typedef struct IF_Dn DS_InternalDN

This is an internal representation of a Distinguished Name, which may be needed when interfacing to other code.

See Distinguished Names

Definition at line 165 of file dsapi_types.h.

typedef struct DS_LDIF DS_LDIF

This represents LDIF input and/or output streams.

See LDIF files

Definition at line 171 of file dsapi_types.h.

typedef DSHookAction DS_ErrorHook(void *object, char *operation, DS_Status status, void *user)

Error callback hook function type.

The exact values passed for 'object' and 'operation' will be documented in the function that accepts the callback function pointer.

Parameters
objectThe object that the original API call was made on.
operationA string name describing the operation attempted.
statusThe status returned by the problem operation
userThe callback function's own user data pointer.
Return values
DSActionContinueContinue the operation
DSActionAbortAbort the operation

Definition at line 289 of file dsapi_types.h.

Enumeration Type Documentation

Values of the 'scope' parameter of directory search operations.

Enumerator
DSScopeBaseObject 

Search the base object only.

DSScopeOneLevel 

Search one level below the base object.

DSScopeSubtree 

Search the entire subtree below the base object.

Definition at line 180 of file dsapi_types.h.

Indicates if a search operation was limited for some reason.

Enumerator
DSLimitNoProblem 

All results were received.

DSLimitTimeExceeded 

A time limit was reached.

DSLimitSizeExceeded 

Too many results.

DSLimitAdminLimitExceeded 

Administrative limit reached.

Definition at line 189 of file dsapi_types.h.

enum DSModType

Modification types for attributes in change-entries.

Enumerator
DSModAdd 

Add modification.

DSModDelete 

Delete modification.

DSModReplace 

Replace modification.

Definition at line 199 of file dsapi_types.h.

199  {
200  DSModAdd = 0,
201  DSModDelete = 1,
202  DSModReplace = 2
203 } DSModType;
DSModType
Definition: dsapi_types.h:199

Types for entries.

Enumerator
DSEntryNormal 

Normal (plain) entry.

DSEntryModify 

Modify entry.

DSEntryAdd 

Add entry.

DSEntryDelete 

Delete entry.

DSEntryRename 

Rename (modify-DN) entry.

Definition at line 208 of file dsapi_types.h.

States that DS_Session might be in. Normally, a session will progress from DSNotYetConnected to one of theDSConnectionXXXX states, and then (when DS_UnbindSync() is called) to DSUnbound.

A session will take on the state DSConnectionLost status when DSAPI detects that the underlying connection has been dropped for some reason (e.g. the remote DSA has been shut down, or a network error has occurred). Note that the error state will only be detected the first time an operation is attempted following the disconnection.

When a session becomes DSConnectionLost, the operation which was in progress will fail and return a DS_E_CONNECTIONLOST status.

Operations on sessions which have values < DSConnectionBound (including DSConnectionLost) will fail with a DS_E_NOTBOUND status.

Use DS_GetSessionState to determine the current state of a session.

Enumerator
DSNotYetConnected 

no connection has yet been made.

DSConnectionLost 

a previously connected session has been lost.

DSUnbound 

a previously connected session has been unbound.

DSVerificationFailed 

a connection was disallowed because verification of the server's certificate failed.

Since
DSAPI_VERSION 2036
DSConnectionBound 

values beyond this indicate connection that is still bound.

DSConnectionAnonymous 

an anonymous connection has been made.

DSConnectionSimple 

a connection has been made using SIMPLE authentication.

DSConnectionStrong 

a connection has been made using STRONG authentication.

DSConnectionSasl 

an connection has been made using SASL authentication.

Definition at line 237 of file dsapi_types.h.

Actions for hooks

Enumerator
DSActionContinue 

Continue with the operation.

DSActionAbort 

Abort the operation.

Definition at line 270 of file dsapi_types.h.

270  {
271  DSActionContinue = 0,
272  DSActionAbort = 1
273 } DSHookAction;
DSHookAction
Definition: dsapi_types.h:270