]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
Change slapd/delete stats message for consistency.
[openldap] / servers / slapd / proto-slap.h
index 61c9f45aae4ec3e62a466fd28510c2ea3ec35bf2..f0f671b1b43d7eb8880024db6588cb9a1e4ce2ee 100644 (file)
@@ -7,11 +7,14 @@
  * acl.c
  */
 
-int access_allowed LDAP_P(( Backend *be, Connection *conn, Operation *op, Entry *e,
-       char *attr, struct berval *val, char *dn, int  access ));
+int access_allowed LDAP_P(( Backend *be, Connection *conn,
+       Operation *op, Entry *e,
+       char *attr, struct berval *val, int access ));
+
+struct acl * acl_get_applicable LDAP_P(( Backend *be,
+       Operation *op, Entry *e,
+       char *attr, int nmatches, regmatch_t *matches ));
 
-struct acl * acl_get_applicable LDAP_P(( Backend *be, Operation *op, Entry *e,
-       char *attr, char *edn, int nmatches, regmatch_t *matches ));
 int acl_access_allowed LDAP_P(( struct acl *a, Backend *be, Connection *conn, Entry *e,
        struct berval *val, Operation *op, int  access, char *edn,
        regmatch_t *matches ));
@@ -32,6 +35,7 @@ int str2access LDAP_P(( char *str ));
  */
 
 void attr_free LDAP_P(( Attribute *a ));
+Attribute *attr_dup LDAP_P(( Attribute *a ));
 char * attr_normalize LDAP_P(( char *s ));
 int attr_merge_fast LDAP_P(( Entry *e, char *type, struct berval **vals, int  nvals,
        int  naddvals, int  *maxvals, Attribute ***a ));
@@ -41,6 +45,9 @@ int attr_delete LDAP_P(( Attribute **attrs, char *type ));
 int attr_syntax LDAP_P(( char *type ));
 void attr_syntax_config LDAP_P(( char *fname, int lineno, int argc, char **argv ));
 
+void attrs_free LDAP_P(( Attribute *a ));
+Attribute *attrs_dup LDAP_P(( Attribute *a ));
+
 /*
  * ava.c
  */
@@ -55,8 +62,9 @@ void ava_free LDAP_P(( Ava *ava, int freeit ));
 Backend * new_backend LDAP_P(( char *type ));
 Backend * select_backend LDAP_P(( char * dn ));
 int be_issuffix LDAP_P(( Backend *be, char *suffix ));
-int be_isroot LDAP_P(( Backend *be, char *dn ));
-int be_isroot_pw LDAP_P(( Backend *be, char *dn, struct berval *cred ));
+int be_isroot LDAP_P(( Backend *be, char *ndn ));
+int be_isroot_pw LDAP_P(( Backend *be, char *ndn, struct berval *cred ));
+char* be_root_dn LDAP_P(( Backend *be ));
 void be_close LDAP_P(( void ));
 
 /*
@@ -98,10 +106,14 @@ void connection_activity LDAP_P(( Connection *conn ));
 char * dn_normalize LDAP_P(( char *dn ));
 char * dn_normalize_case LDAP_P(( char *dn ));
 char * dn_parent LDAP_P(( Backend *be, char *dn ));
+char * dn_rdn LDAP_P(( Backend *be, char *dn ));
 int dn_issuffix LDAP_P(( char *dn, char *suffix ));
 int dn_type LDAP_P(( char *dn ));
 char * dn_upcase LDAP_P(( char *dn ));
-
+char * rdn_attr_value LDAP_P(( char * rdn ));
+char * rdn_attr_type LDAP_P(( char * rdn ));
+void build_new_dn LDAP_P(( char ** new_dn, char *e_dn, char * p_dn,
+                          char * newrdn ));
 /*
  * entry.c
  */
@@ -144,16 +156,19 @@ int lock_fclose LDAP_P(( FILE *fp, FILE *lfp ));
  * monitor.c
  */
 
-void monitor_info LDAP_P(( Connection *conn, Operation *op ));
+void monitor_info LDAP_P((
+       Connection *conn, Operation *op, 
+       char ** attrs, int attrsonly ));
 
 /*
  * operation.c
  */
 
-void op_free LDAP_P(( Operation *op ));
-Operation * op_add LDAP_P(( Operation **olist, BerElement *ber, unsigned long msgid,
+void slap_op_free LDAP_P(( Operation *op ));
+Operation * slap_op_add LDAP_P(( Operation **olist,
+       BerElement *ber, unsigned long msgid,
        unsigned long tag, char *dn, int id, int connid ));
-void op_delete LDAP_P(( Operation **olist, Operation *op ));
+void slap_op_delete LDAP_P(( Operation **olist, Operation *op ));
 
 /*
  * phonetic.c
@@ -239,26 +254,40 @@ extern long               num_bytes_sent;
 extern long            num_entries_sent;
 extern long            ops_completed;
 extern long            ops_initiated;
-extern pthread_mutex_t active_threads_mutex;
-extern pthread_mutex_t currenttime_mutex;
-extern pthread_mutex_t entry2str_mutex;
-extern pthread_mutex_t new_conn_mutex;
-extern pthread_mutex_t num_sent_mutex;
-extern pthread_mutex_t ops_mutex;
-extern pthread_mutex_t replog_mutex;
+
+extern ldap_pvt_thread_mutex_t active_threads_mutex;
+extern ldap_pvt_thread_cond_t  active_threads_cond;
+
+extern ldap_pvt_thread_mutex_t currenttime_mutex;
+extern ldap_pvt_thread_mutex_t entry2str_mutex;
+extern ldap_pvt_thread_mutex_t new_conn_mutex;
+extern ldap_pvt_thread_mutex_t num_sent_mutex;
+extern ldap_pvt_thread_mutex_t ops_mutex;
+extern ldap_pvt_thread_mutex_t replog_mutex;
 #ifdef SLAPD_CRYPT
-extern pthread_mutex_t crypt_mutex;
+extern ldap_pvt_thread_mutex_t crypt_mutex;
 #endif
-extern pthread_t       listener_tid;
+extern ldap_pvt_thread_mutex_t strtok_mutex;
+
+extern ldap_pvt_thread_t       listener_tid;
 extern struct acl      *global_acl;
 extern struct objclass *global_oc;
 extern time_t          currenttime;
 
-extern int     be_group LDAP_P((Backend *be, Entry *e,
-       char *bdn, char *edn, char *objectclassValue, char *groupattrName));
+extern int     be_group LDAP_P((Backend *be, Entry *target,
+       char *gr_ndn, char *op_ndn,
+       char *objectclassValue, char *groupattrName));
 extern void    init LDAP_P((void));
 extern void    be_unbind LDAP_P((Connection *conn, Operation *op));
-extern void    config_info LDAP_P((Connection *conn, Operation *op));
+
+extern void * slapd_daemon LDAP_P((void *port));
+extern void    slap_set_shutdown LDAP_P((int sig));
+extern void    slap_do_nothing   LDAP_P((int sig));
+
+extern void    config_info LDAP_P((
+       Connection *conn, Operation *op,
+       char ** attrs, int attrsonly ));
+
 extern void    do_abandon LDAP_P((Connection *conn, Operation *op));
 extern void    do_add LDAP_P((Connection *conn, Operation *op));
 extern void    do_bind LDAP_P((Connection *conn, Operation *op));
@@ -282,7 +311,9 @@ extern time_t               starttime;
 #endif
 
 #ifdef SLAPD_LDBM
-extern int  ldbm_back_bind   LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, int method, struct berval *cred ));
+extern int  ldbm_back_bind   LDAP_P((Backend *be,
+       Connection *c, Operation *o,
+       char *dn, int method, struct berval *cred, char** edn ));
 extern void ldbm_back_unbind LDAP_P((Backend *be, Connection *c, Operation *o ));
 extern int  ldbm_back_search LDAP_P((Backend *be, Connection *c, Operation *o, char *base, int scope, int deref, int slimit, int tlimit, Filter *f, char *filterstr, char **attrs, int attrsonly));
 extern int  ldbm_back_compare LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, Ava *ava));
@@ -295,7 +326,8 @@ extern void ldbm_back_config LDAP_P((Backend *be, char *fname, int lineno, int a
 extern void ldbm_back_init   LDAP_P((Backend *be));
 extern void ldbm_back_close  LDAP_P((Backend *be));
 extern int  ldbm_back_group  LDAP_P((Backend *be, Entry *target,
-       char *bdn, char *edn, char *objectclassValue, char *groupattrName ));
+       char *gr_ndn, char *op_ndn,
+       char *objectclassValue, char *groupattrName ));
 #endif
 
 #ifdef SLAPD_PASSWD
@@ -304,7 +336,9 @@ extern void passwd_back_config LDAP_P((Backend *be, char *fname, int lineno, int
 #endif
 
 #ifdef SLAPD_SHELL
-extern int  shell_back_bind   LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, int method, struct berval *cred ));
+extern int  shell_back_bind   LDAP_P((Backend *be,
+       Connection *c, Operation *o,
+       char *dn, int method, struct berval *cred, char** edn ));
 extern void shell_back_unbind LDAP_P((Backend *be, Connection *c, Operation *o ));
 extern int  shell_back_search LDAP_P((Backend *be, Connection *c, Operation *o, char *base, int scope, int deref, int slimit, int tlimit, Filter *f, char *filterstr, char **attrs, int attrsonly));
 extern int  shell_back_compare LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, Ava *ava));
@@ -318,3 +352,4 @@ extern void shell_back_init   LDAP_P((Backend *be));
 #endif
 
 #endif /* _proto_slap */
+