]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
Commit of the Proxy Cache contribution (ITS#2062)
[openldap] / servers / slapd / slap.h
index d9871e0ed107c5df4e0fd52183897b6416ff17fc..2c712bb977b93f710b12056b851063f634fbe10c 100644 (file)
@@ -730,6 +730,11 @@ struct slap_internal_schema {
        AttributeDescription *si_ad_entryCSN;
        AttributeDescription *si_ad_superiorUUID;
 
+#ifdef LDAP_CACHING
+       /* LDAP cache specific operational attribute */
+       AttributeDescription *si_ad_queryid;
+#endif /* LDAP_CACHING */
+
        /* root DSE attribute descriptions */
        AttributeDescription *si_ad_altServer;
        AttributeDescription *si_ad_namingContexts;
@@ -1334,6 +1339,10 @@ struct slap_backend_db {
 #define SLAP_BFLAG_DYNAMIC             0x2000U
        slap_mask_t     be_flags;
 #define SLAP_LASTMOD(be)       (!((be)->be_flags & SLAP_BFLAG_NOLASTMOD))
+#define        SLAP_GLUE_INSTANCE(be)  ((be)->be_flags & SLAP_BFLAG_GLUE_INSTANCE)
+#define        SLAP_GLUE_SUBORDINATE(be) \
+       ((be)->be_flags & SLAP_BFLAG_GLUE_SUBORDINATE)
+#define        SLAP_GLUE_LINKED(be)    ((be)->be_flags & SLAP_BFLAG_GLUE_LINKED)
 #define SLAP_ALIASES(be)       ((be)->be_flags & SLAP_BFLAG_ALIASES)
 #define SLAP_REFERRALS(be)     ((be)->be_flags & SLAP_BFLAG_REFERRALS)
 #define SLAP_SUBENTRIES(be)    ((be)->be_flags & SLAP_BFLAG_SUBENTRIES)
@@ -1822,6 +1831,10 @@ typedef struct slap_op {
        LDAP_STAILQ_ENTRY(slap_op)      o_next; /* next operation in list         */
        ValuesReturnFilter *vrFilter; /* Structure represents ValuesReturnFilter */
 
+#ifdef LDAP_CACHING 
+       char            o_caching_on; 
+#endif /*LDAP_CACHING */ 
+
 #ifdef LDAP_SLAPI
        void    *o_pb;                  /* NS-SLAPI plugin */
 #endif
@@ -2032,14 +2045,6 @@ typedef struct slap_conn {
                        fprintf( stderr, (fmt), (connid), (opid), (arg1), (arg2), (arg3) );\
        } while (0)
 #define StatslogTest( level ) (ldap_debug & (level))
-#elif defined(LDAP_SYSLOG)
-#define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 ) \
-       do { \
-               if ( ldap_syslog & (level) ) \
-                       syslog( ldap_syslog_level, (fmt), (connid), (opid), (arg1), \
-                               (arg2), (arg3) ); \
-       } while (0)
-#define StatslogTest( level ) (ldap_syslog & (level))
 #else
 #define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 )
 #define StatslogTest( level ) (0)
@@ -2102,6 +2107,31 @@ enum {
 #define SLAP_SEARCH_MAX_CTRLS   10
 #endif
 
+#define SLAP_CTRL_FRONTEND                     0x80000000U
+#define SLAP_CTRL_FRONTEND_SEARCH      0x01000000U     /* for NOOP */
+
+#define SLAP_CTRL_OPFLAGS                      0x0000FFFFU
+#define SLAP_CTRL_ABANDON                      0x00000001U
+#define SLAP_CTRL_ADD                          0x00002002U
+#define SLAP_CTRL_BIND                         0x00000004U
+#define SLAP_CTRL_COMPARE                      0x00001008U
+#define SLAP_CTRL_DELETE                       0x00002010U
+#define SLAP_CTRL_MODIFY                       0x00002020U
+#define SLAP_CTRL_RENAME                       0x00002040U
+#define SLAP_CTRL_SEARCH                       0x00001080U
+#define SLAP_CTRL_UNBIND                       0x00000100U
+
+#define SLAP_CTRL_INTROGATE    (SLAP_CTRL_COMPARE|SLAP_CTRL_SEARCH)
+#define SLAP_CTRL_UPDATE \
+       (SLAP_CTRL_ADD|SLAP_CTRL_DELETE|SLAP_CTRL_MODIFY|SLAP_CTRL_RENAME)
+#define SLAP_CTRL_ACCESS       (SLAP_CTRL_INTROGATE|SLAP_CTRL_UPDATE)
+
+typedef int (SLAP_CTRL_PARSE_FN) LDAP_P((
+       Connection *conn,
+       Operation *op,
+       LDAPControl *ctrl,
+       const char **text ));
+
 LDAP_END_DECL
 
 #include "proto-slap.h"