]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
fix arbitrary precision number display when no big number library is available
[openldap] / servers / slapd / proto-slap.h
index ee12a59ec38358731c2a21258efdd3b08b1e72c4..c632c6145cbbea68ba17dcee37345d682a8517e1 100644 (file)
@@ -74,6 +74,8 @@ LDAP_SLAPD_F (int) acl_init LDAP_P(( void ));
 /*
  * aclparse.c
  */
+LDAP_SLAPD_V (char *) style_strings[];
+
 LDAP_SLAPD_F (void) parse_acl LDAP_P(( Backend *be,
        const char *fname, int lineno,
        int argc, char **argv, int pos ));
@@ -204,6 +206,10 @@ LDAP_SLAPD_F (void) at_unparse LDAP_P((
 LDAP_SLAPD_F (void) attr_free LDAP_P(( Attribute *a ));
 LDAP_SLAPD_F (Attribute *) attr_dup LDAP_P(( Attribute *a ));
 
+#ifdef LDAP_COMP_MATCH
+LDAP_SLAPD_F (void) comp_tree_free LDAP_P(( Attribute *a ));
+#endif
+
 #define attr_mergeit( e, d, v ) attr_merge( e, d, v, NULL /* FIXME */ )
 #define attr_mergeit_one( e, d, v ) attr_merge_one( e, d, v, NULL /* FIXME */ )
 
@@ -379,17 +385,48 @@ LDAP_SLAPD_F (void) ch_free LDAP_P(( void * ));
  * component.c
  */
 #ifdef LDAP_COMP_MATCH
+struct comp_attribute_aliasing;
+
 LDAP_SLAPD_F (int) test_comp_filter_entry LDAP_P((
        Operation* op,
        Entry* e,
        MatchingRuleAssertion* mr));
 
+LDAP_SLAPD_F (int) dup_comp_filter LDAP_P((
+       Operation* op,
+       struct berval *bv,
+       ComponentFilter *in_f,
+       ComponentFilter **out_f ));
+
+LDAP_SLAPD_F (int) get_aliased_filter_aa LDAP_P((
+       Operation* op,
+       AttributeAssertion* a_assert,
+       struct comp_attribute_aliasing* aa,
+       const char** text ));
+
+LDAP_SLAPD_F (int) get_aliased_filter LDAP_P((
+       Operation* op,
+       MatchingRuleAssertion* ma,
+       struct comp_attribute_aliasing* aa,
+       const char** text ));
+
 LDAP_SLAPD_F (int) get_comp_filter LDAP_P((
        Operation* op,
        BerValue* bv,
        ComponentFilter** filt,
        const char **text ));
 
+LDAP_SLAPD_F (int) insert_component_reference LDAP_P((
+       ComponentReference *cr,
+       ComponentReference** cr_list ));
+
+LDAP_SLAPD_F (int) is_component_reference LDAP_P((
+       char *attr ));
+
+LDAP_SLAPD_F (int) extract_component_reference LDAP_P((
+       char* attr,
+       ComponentReference** cr ));
+
 LDAP_SLAPD_F (int) componentFilterMatch LDAP_P(( 
        int *matchp, 
        slap_mask_t flags, 
@@ -413,6 +450,10 @@ LDAP_SLAPD_F (int) allComponentsMatch LDAP_P((
         MatchingRule *mr,
         struct berval *value,
         void *assertedValue ));
+
+LDAP_SLAPD_F (ComponentReference*) dup_comp_ref LDAP_P((
+       Operation *op,
+       ComponentReference *cr ));
                                                                           
 LDAP_SLAPD_F (int) componentFilterValidate LDAP_P(( 
        Syntax *syntax,
@@ -422,6 +463,12 @@ LDAP_SLAPD_F (int) allComponentsValidate LDAP_P((
         Syntax *syntax,
         struct berval* bv ));
 
+LDAP_SLAPD_F (void) component_free LDAP_P((
+       ComponentFilter *f ));
+
+LDAP_SLAPD_F (void) free_ComponentData LDAP_P((
+       Attribute *a ));
+
 LDAP_SLAPD_V (test_membership_func*) is_aliased_attribute;
 
 LDAP_SLAPD_V (free_component_func*) component_destructor;
@@ -444,6 +491,11 @@ LDAP_SLAPD_V( struct slap_control_ids ) slap_cids;
 LDAP_SLAPD_F (void) slap_free_ctrls LDAP_P((
        Operation *op,
        LDAPControl **ctrls ));
+LDAP_SLAPD_F (int) slap_parse_ctrl LDAP_P((
+       Operation *op,
+       SlapReply *rs,
+       LDAPControl *control,
+       const char **text ));
 LDAP_SLAPD_F (int) get_ctrls LDAP_P((
        Operation *op,
        SlapReply *rs,
@@ -1620,15 +1672,20 @@ LDAP_SLAPD_F (int) fe_extended LDAP_P((Operation *op, SlapReply *rs));
                (bv)->bv_len = len; \
        } while ( 0 )
 #else /* ! HAVE_BIGNUM && ! HAVE_GMP */
+#ifdef HAVE_LONG_LONG
+#define UI2BV_FORMAT   "%llu"
+#else /* ! HAVE_LONG_LONG */
+#define UI2BV_FORMAT   "%lu"
+#endif /* ! HAVE_LONG_LONG */
 #define UI2BVX(bv,ui,ctx) \
        do { \
                char            buf[] = "+9223372036854775807L"; \
                ber_len_t       len; \
-               snprintf( buf, sizeof( buf ), "%lu", (ui) ); \
-               len = strlen( buf ); \
+               len = snprintf( buf, sizeof( buf ), UI2BV_FORMAT, (ui) ); \
                if ( len > (bv)->bv_len ) { \
                        (bv)->bv_val = ber_memrealloc_x( (bv)->bv_val, len + 1, (ctx) ); \
                } \
+               (bv)->bv_len = len; \
                AC_MEMCPY( (bv)->bv_val, buf, len + 1 ); \
        } while ( 0 )
 #endif /* ! HAVE_GMP */