]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/component.h
Don't bother setting up threads if there are no indexed attrs
[openldap] / servers / slapd / component.h
index e7ce72e957fa12ecd1d8fa40be76c33ed4903dab..9b0ffca402657413c26011a9020cb4373541104d 100644 (file)
@@ -1,15 +1,33 @@
+/* component.h */
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 2004-2006 The OpenLDAP Foundation.
+ * Portions Copyright 2004 by IBM Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+
 #ifndef _H_SLAPD_COMPONENT
 #define _H_SLAPD_COMPONENT
 
 #include "portable.h"
+
 #include <ac/string.h>
 #include <ac/socket.h>
-#include "ldap_pvt.h"
+#include <ldap_pvt.h>
 #include "lutil.h"
 #include <ldap.h>
 #include "slap.h"
 
-typedef enum {ASN_BASIC, ASN_COMPOSITE } AsnType;
+typedef enum { ASN_BASIC, ASN_COMPOSITE } AsnType;
 /*
  * Decoder Modes
  * Different operation is required to handle Decoding(2), Extracted Component
@@ -34,5 +52,25 @@ typedef enum {ASN_BASIC, ASN_COMPOSITE } AsnType;
 #define DEC_ALLOC_MODE_2        0x04
 #define CALL_TAG_DECODER        0x08
 #define CALL_CONTENT_DECODER    ~0x08
+/*
+ * For Attribute Aliasing
+ */
+#define MAX_ALIASING_ENTRY 128
+typedef struct comp_attribute_aliasing {
+       AttributeDescription*   aa_aliasing_ad;
+       AttributeDescription*   aa_aliased_ad;
+       ComponentFilter*        aa_cf;
+       MatchingRule*           aa_mr;
+       char*                   aa_cf_str;
+} AttributeAliasing;
+                                                                                 
+typedef struct comp_matchingrule_aliasing {
+       MatchingRule*   mra_aliasing_attr;
+       MatchingRule*   mra_aliased_attr;
+       AttributeDescription*   mra_attr;
+       ComponentFilter*        mra_cf;
+       MatchingRule*           mra_mr;
+       char*                   mra_cf_str;
+} MatchingRuleAliasing;
 
 #endif