X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=198303d786f052c3e9c835e5b3c0fd1a7d6d63d4;hb=5fcc9285fb8c549a5264921a2b61cfc40803d720;hp=f55d870dcf6f633d911d707b5e9df593a441d54e;hpb=7f70a7aad6bd2264c7fc0118287f289d16511764;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index f55d870dcf..198303d786 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2010 The OpenLDAP Foundation. + * Copyright 1998-2012 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -129,6 +129,7 @@ LDAP_SLAPD_F (int) slap_bv2ad LDAP_P(( const char **text )); LDAP_SLAPD_F (void) ad_destroy LDAP_P(( AttributeDescription * )); +LDAP_SLAPD_F (int) ad_keystring LDAP_P(( struct berval *bv )); #define ad_cmp(l,r) (((l)->ad_cname.bv_len < (r)->ad_cname.bv_len) \ ? -1 : (((l)->ad_cname.bv_len > (r)->ad_cname.bv_len) \ @@ -482,7 +483,7 @@ LDAP_SLAPD_F (void) overlay_move LDAP_P(( BackendDB *be, slap_overinst *on, int idx )); #ifdef SLAP_CONFIG_DELETE LDAP_SLAPD_F (void) overlay_remove LDAP_P(( - BackendDB *be, slap_overinst *on )); + BackendDB *be, slap_overinst *on, Operation *op )); LDAP_SLAPD_F (void) overlay_unregister_control LDAP_P(( BackendDB *be, const char *oid )); @@ -518,6 +519,15 @@ LDAP_SLAPD_F (void) ch_free LDAP_P(( void * )); #define free ch_free #endif +/* + * compare.c + */ + +LDAP_SLAPD_F (int) slap_compare_entry LDAP_P(( + Operation *op, + Entry *e, + AttributeAssertion *ava )); + /* * component.c */ @@ -641,6 +651,11 @@ LDAP_SLAPD_F (int) get_ctrls LDAP_P(( Operation *op, SlapReply *rs, int senderrors )); +LDAP_SLAPD_F (int) get_ctrls2 LDAP_P(( + Operation *op, + SlapReply *rs, + int senderrors, + ber_tag_t ctag )); LDAP_SLAPD_F (int) register_supported_control2 LDAP_P(( const char *controloid, slap_mask_t controlmask, @@ -705,6 +720,10 @@ LDAP_SLAPD_F (int) verbs_to_mask LDAP_P(( int argc, char *argv[], slap_verbmasks *v, slap_mask_t *m )); LDAP_SLAPD_F (int) mask_to_verbs LDAP_P(( slap_verbmasks *v, slap_mask_t m, BerVarray *bva )); +LDAP_SLAPD_F (int) mask_to_verbstring LDAP_P(( + slap_verbmasks *v, slap_mask_t m, char delim, struct berval *bv )); +LDAP_SLAPD_F (int) verbstring_to_mask LDAP_P(( + slap_verbmasks *v, char *str, char delim, slap_mask_t *m )); LDAP_SLAPD_F (int) enum_to_verb LDAP_P(( slap_verbmasks *v, slap_mask_t m, struct berval *bv )); LDAP_SLAPD_F (int) slap_verbmasks_init LDAP_P(( slap_verbmasks **vp, slap_verbmasks *v )); @@ -741,6 +760,7 @@ LDAP_SLAPD_F (int) connections_init LDAP_P((void)); LDAP_SLAPD_F (int) connections_shutdown LDAP_P((void)); LDAP_SLAPD_F (int) connections_destroy LDAP_P((void)); LDAP_SLAPD_F (int) connections_timeout_idle LDAP_P((time_t)); +LDAP_SLAPD_F (void) connections_drop LDAP_P((void)); LDAP_SLAPD_F (Connection *) connection_client_setup LDAP_P(( ber_socket_t s, @@ -843,13 +863,14 @@ LDAP_SLAPD_F (int) slapd_daemon(void); LDAP_SLAPD_F (Listener **) slapd_get_listeners LDAP_P((void)); LDAP_SLAPD_F (void) slapd_remove LDAP_P((ber_socket_t s, Sockbuf *sb, int wasactive, int wake, int locked )); -LDAP_SLAPD_F (void) slapd_sd_lock LDAP_P((void)); -LDAP_SLAPD_F (void) slapd_sd_unlock LDAP_P((void)); LDAP_SLAPD_F (RETSIGTYPE) slap_sig_shutdown LDAP_P((int sig)); LDAP_SLAPD_F (RETSIGTYPE) slap_sig_wake LDAP_P((int sig)); LDAP_SLAPD_F (void) slap_wake_listener LDAP_P((void)); +LDAP_SLAPD_F (void) slap_suspend_listeners LDAP_P((void)); +LDAP_SLAPD_F (void) slap_resume_listeners LDAP_P((void)); + LDAP_SLAPD_F (void) slapd_set_write LDAP_P((ber_socket_t s, int wake)); LDAP_SLAPD_F (void) slapd_clr_write LDAP_P((ber_socket_t s, int wake)); LDAP_SLAPD_F (void) slapd_set_read LDAP_P((ber_socket_t s, int wake)); @@ -863,6 +884,8 @@ LDAP_SLAPD_V (int) slapd_register_slp; LDAP_SLAPD_V (const char *) slapd_slp_attrs; LDAP_SLAPD_V (slap_ssf_t) local_ssf; LDAP_SLAPD_V (struct runqueue_s) slapd_rq; +LDAP_SLAPD_V (int) slapd_daemon_threads; +LDAP_SLAPD_V (int) slapd_daemon_mask; #ifdef LDAP_TCP_BUFFER LDAP_SLAPD_V (int) slapd_tcp_rmem; LDAP_SLAPD_V (int) slapd_tcp_wmem; @@ -986,6 +1009,7 @@ LDAP_SLAPD_F (int) entry_destroy LDAP_P((void)); LDAP_SLAPD_F (Entry *) str2entry LDAP_P(( char *s )); LDAP_SLAPD_F (Entry *) str2entry2 LDAP_P(( char *s, int checkvals )); LDAP_SLAPD_F (char *) entry2str LDAP_P(( Entry *e, int *len )); +LDAP_SLAPD_F (char *) entry2str_wrap LDAP_P(( Entry *e, int *len, ber_len_t wrap )); LDAP_SLAPD_F (ber_len_t) entry_flatsize LDAP_P(( Entry *e, int norm )); LDAP_SLAPD_F (void) entry_partsize LDAP_P(( Entry *e, ber_len_t *len, @@ -1080,6 +1104,8 @@ LDAP_SLAPD_F (void) filter_free LDAP_P(( Filter *f )); LDAP_SLAPD_F (void) filter_free_x LDAP_P(( Operation *op, Filter *f, int freeme )); LDAP_SLAPD_F (void) filter2bv LDAP_P(( Filter *f, struct berval *bv )); LDAP_SLAPD_F (void) filter2bv_x LDAP_P(( Operation *op, Filter *f, struct berval *bv )); +LDAP_SLAPD_F (void) filter2bv_undef LDAP_P(( Filter *f, int noundef, struct berval *bv )); +LDAP_SLAPD_F (void) filter2bv_undef_x LDAP_P(( Operation *op, Filter *f, int noundef, struct berval *bv )); LDAP_SLAPD_F (Filter *) filter_dup LDAP_P(( Filter *f, void *memctx )); LDAP_SLAPD_F (int) get_vrFilter LDAP_P(( Operation *op, BerElement *ber, @@ -1151,6 +1177,10 @@ LDAP_SLAPD_F (int) slap_parse_csn_sid LDAP_P(( struct berval * )); LDAP_SLAPD_F (int *) slap_parse_csn_sids LDAP_P(( BerVarray, int, void *memctx )); +LDAP_SLAPD_F (int) slap_sort_csn_sids LDAP_P(( + BerVarray, int *, int, void *memctx )); +LDAP_SLAPD_F (void) slap_insert_csn_sids LDAP_P(( + struct sync_cookie *ck, int, int, struct berval * )); LDAP_SLAPD_F (int) slap_parse_sync_cookie LDAP_P(( struct sync_cookie *, void *memctx )); LDAP_SLAPD_F (int) slap_init_sync_cookie_ctxcsn LDAP_P(( @@ -1527,10 +1557,45 @@ LDAP_SLAPD_F (int) get_alias_dn LDAP_P(( /* * result.c */ +#if USE_RS_ASSERT /*defined(USE_RS_ASSERT)?(USE_RS_ASSERT):defined(LDAP_TEST)*/ +#ifdef __GNUC__ +# define RS_FUNC_ __FUNCTION__ +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__) >= 199901L +# define RS_FUNC_ __func__ +#else +# define rs_assert_(file, line, func, cond) rs_assert__(file, line, cond) +#endif +LDAP_SLAPD_V(int) rs_suppress_assert; +LDAP_SLAPD_F(void) rs_assert_(const char*, unsigned, const char*, const char*); +# define RS_ASSERT(cond) ((rs_suppress_assert > 0 || (cond)) \ + ? (void) 0 : rs_assert_(__FILE__, __LINE__, RS_FUNC_, #cond)) +#else +# define RS_ASSERT(cond) ((void) 0) +# define rs_assert_ok(rs) ((void) (rs)) +# define rs_assert_ready(rs) ((void) (rs)) +# define rs_assert_done(rs) ((void) (rs)) +#endif +LDAP_SLAPD_F (void) (rs_assert_ok) LDAP_P(( const SlapReply *rs )); +LDAP_SLAPD_F (void) (rs_assert_ready) LDAP_P(( const SlapReply *rs )); +LDAP_SLAPD_F (void) (rs_assert_done) LDAP_P(( const SlapReply *rs )); + +#define rs_reinit(rs, type) do { \ + SlapReply *const rsRI = (rs); \ + rs_assert_done( rsRI ); \ + rsRI->sr_type = (type); \ + /* Got type before memset in case of rs_reinit(rs, rs->sr_type) */ \ + assert( !offsetof( SlapReply, sr_type ) ); \ + memset( (slap_reply_t *) rsRI + 1, 0, \ + sizeof(*rsRI) - sizeof(slap_reply_t) ); \ + } while ( 0 ) +LDAP_SLAPD_F (void) (rs_reinit) LDAP_P(( SlapReply *rs, slap_reply_t type )); +LDAP_SLAPD_F (void) rs_flush_entry LDAP_P(( Operation *op, + SlapReply *rs, slap_overinst *on )); LDAP_SLAPD_F (void) rs_replace_entry LDAP_P(( Operation *op, SlapReply *rs, slap_overinst *on, Entry *e )); -LDAP_SLAPD_F (int) rs_ensure_entry_modifiable LDAP_P(( Operation *op, +LDAP_SLAPD_F (int) rs_entry2modifiable LDAP_P(( Operation *op, SlapReply *rs, slap_overinst *on )); +#define rs_ensure_entry_modifiable rs_entry2modifiable /* older name */ LDAP_SLAPD_F (void) slap_send_ldap_result LDAP_P(( Operation *op, SlapReply *rs )); LDAP_SLAPD_F (void) send_ldap_sasl LDAP_P(( Operation *op, SlapReply *rs )); LDAP_SLAPD_F (void) send_ldap_disconnect LDAP_P(( Operation *op, SlapReply *rs )); @@ -2006,6 +2071,7 @@ LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) entry2str_mutex; #define gmtime_mutex ldap_int_gmtime_mutex #endif /* ! LDAP_DEVEL */ +LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) ad_index_mutex; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) ad_undef_mutex; LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) oc_undef_mutex; @@ -2136,4 +2202,3 @@ LDAP_SLAPD_F (int) fe_access_allowed LDAP_P(( LDAP_END_DECL #endif /* PROTO_SLAP_H */ -