dsapi_types.h

Go to the documentation of this file.
00001 /* Emacs mode: -*- C -*- */
00002 
00003 /* 
00004  * Copyright (c) 2004-2007, Isode Limited, London, England.
00005  * All rights reserved.
00006  *
00007  * Acquisition and use of this software and related materials for any
00008  * purpose requires a written licence agreement from Isode
00009  * Limited, or a written licence from an organisation licenced by Isode
00010  * Limited to grant such a licence.
00011  *
00012  */
00013 
00014 /*
00015  * dsapi_types.h
00016  *
00017  * Public data types and forward declarations of private
00018  * data types.
00019  *
00020  */
00021 
00022 /* 
00023  * $RCSfile: dsapi_types.h,v $ $Revision: 1.11 $ $State: Exp $
00024  *
00025  * $Log: dsapi_types.h,v $
00026  * Revision 1.11  2007/07/18 10:41:04  nh
00027  * T070711F - Added support for referrals
00028  *
00029  * Revision 1.10  2007/07/06 11:03:43  jp
00030  * T070704A - New public entry-type enum: DSEntryType
00031  *
00032  * Revision 1.9  2007/05/15 13:18:31  dbw
00033  * T070515D - Update/Add copyright
00034  *
00035  * Revision 1.8  2006/11/20 15:16:17  jp
00036  * T061115G - New DSModType enum
00037  *
00038  * Revision 1.7  2006/10/30 15:21:03  jp
00039  * T061026D - DS_LDIF type
00040  *
00041  * Revision 1.6  2006/03/27 15:23:24  cjr
00042  * T060327D - Add DSLimitProblem.
00043  *
00044  * Revision 1.5  2005/07/04 12:23:47  cjr
00045  * T050704A - Replace references to the error groups, with a reference to
00046  *            ds_errs and ds_errvals.
00047  *
00048  * Revision 1.4  2005/05/25 16:06:51  dbw
00049  * T050525C - Add or update copyright for 2005
00050  *
00051  * Revision 1.3  2005/02/25 12:47:37  cjr
00052  * T050223E - Improve documentation
00053  *
00054  * Revision 1.2  2005/02/21 16:28:50  cjr
00055  * T050221D - Add DS_InternalDN.
00056  *
00057  * Revision 1.1  2005/01/24 17:19:59  dsm
00058  * T050124B - Initial revision.
00059  *
00060  *
00061  */
00062 
00067 /* Necessary to include dsapi_const.h to get DS_Status */
00068 #include <isode/ds/dsapi/dsapi_const.h>
00069 
00070 #ifndef ISODE_DSAPI_TYPES_H
00071 #define ISODE_DSAPI_TYPES_H
00072 
00073 /* Common structures. */
00079 typedef struct DS_Session DS_Session;
00085 typedef struct DS_AttrVal DS_AttrVal;
00091 typedef struct DS_Attr DS_Attr;
00097 typedef struct DS_Entry DS_Entry;
00105 typedef struct DS_Referral DS_Referral;
00113 typedef struct DS_ReferralAddress DS_ReferralAddress;
00119 typedef struct DS_DN DS_DN;
00125 typedef struct DS_Result DS_Result;
00131 typedef struct DS_Error DS_Error;
00137 typedef struct DS_Indication DS_Indication;
00143 typedef struct DS_Attr DS_AttrList;
00149 typedef struct DS_AttrVal DS_AttrValList;
00155 typedef struct DS_DN DS_DNList;
00161 typedef struct DS_Entry DS_EntryList;
00168 typedef struct DS_Referral DS_ReferralList;
00174 typedef struct DS_CommonArgs DS_CommonArgs;
00181 typedef struct IF_Dn DS_InternalDN;
00187 typedef struct DS_LDIF DS_LDIF;
00188 
00189 /* Unsupported interfaces (not for public use) */
00190 typedef struct DS_RanLDIF DS_RanLDIF;
00191 typedef struct DS_DNIndex DS_DNIndex;
00192 
00196 typedef enum {
00197     DSScopeBaseObject = 0, 
00198     DSScopeOneLevel = 1,   
00199     DSScopeSubtree = 2     
00200 } DSSearchScope;
00201 
00205 typedef enum {
00206     DSLimitNoProblem = 0,       
00207     DSLimitTimeExceeded = 1,    
00208     DSLimitSizeExceeded = 2,    
00209     DSLimitAdminLimitExceeded = 3 
00210 } DSLimitProblem;
00211 
00215 typedef enum {
00216     DSModAdd = 0,       
00217     DSModDelete = 1,    
00218     DSModReplace = 2    
00219 } DSModType;
00220 
00224 typedef enum {
00225     DSEntryNormal = 0,  
00226     DSEntryModify = 1,  
00227     DSEntryAdd = 2,     
00228     DSEntryDelete = 3,  
00229     DSEntryRename = 4   
00230 } DSEntryType;
00231 
00235 typedef enum {
00236     DSActionContinue = 0,       
00237     DSActionAbort = 1,          
00238 } DSHookAction;
00239 
00254 typedef DSHookAction DS_ErrorHook(void *object, char *operation, DS_Status status, void *user);
00255 
00256 #endif /* ISODE_DSAPI_TYPES_H */
Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed