X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=8fb59e21398f6a0431a07c65f5077976aa0f1514;hb=749404b83fa8dac94c75dc39dce8e5d80cda9a7f;hp=be300243c098c124d22f02f2e5129592265d6d66;hpb=b7beec16639919fa80f76f0e72db9afde77d32be;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index be300243c0..8fb59e2139 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -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 )); @@ -55,12 +58,27 @@ void ava_free LDAP_P(( Ava *ava, int freeit )); * backend.c */ -Backend * new_backend LDAP_P(( char *type )); -Backend * select_backend LDAP_P(( char * dn )); +int backend_init LDAP_P((void)); +int backend_startup LDAP_P((int dbnum)); +int backend_shutdown LDAP_P((int dbnum)); +int backend_destroy LDAP_P((void)); + +BackendInfo * backend_info LDAP_P(( char *type )); +BackendDB * backend_db_init LDAP_P(( char *type )); + +BackendDB * 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 )); -void be_close LDAP_P(( void )); +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 )); + +extern int backend_unbind LDAP_P((Connection *conn, Operation *op)); + +extern int backend_group LDAP_P((Backend *be, + Entry *target, + char *gr_ndn, char *op_ndn, + char *objectclassValue, char *groupattrName)); /* * ch_malloc.c @@ -86,7 +104,7 @@ char ** str2charray LDAP_P(( char *str, char *brkstr )); * config.c */ -void read_config LDAP_P(( char *fname, Backend **bep, FILE *pfp )); +int read_config LDAP_P(( char *fname )); /* * connection.c @@ -101,6 +119,7 @@ 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 )); @@ -113,13 +132,9 @@ Entry * str2entry LDAP_P(( char *s )); char * entry2str LDAP_P(( Entry *e, int *len, int printid )); void entry_free LDAP_P(( Entry *e )); -int entry_rdwr_lock LDAP_P(( Entry *e, int rw )); -int entry_rdwr_rlock LDAP_P(( Entry *e )); -int entry_rdwr_wlock LDAP_P(( Entry *e )); -int entry_rdwr_unlock LDAP_P(( Entry *e, int rw )); -int entry_rdwr_runlock LDAP_P(( Entry *e )); -int entry_rdwr_wunlock LDAP_P(( Entry *e )); -int entry_rdwr_init LDAP_P(( Entry *e )); +int entry_cmp LDAP_P(( Entry *a, Entry *b )); +int entry_dn_cmp LDAP_P(( Entry *a, Entry *b )); +int entry_id_cmp LDAP_P(( Entry *a, Entry *b )); /* * filter.c @@ -243,28 +258,32 @@ extern long num_entries_sent; extern long ops_completed; extern long ops_initiated; -extern pthread_mutex_t active_threads_mutex; -extern pthread_cond_t active_threads_cond; +extern ldap_pvt_thread_mutex_t active_threads_mutex; +extern ldap_pvt_thread_cond_t active_threads_cond; -extern pthread_mutex_t currenttime_mutex; -extern pthread_mutex_t strtok_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 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_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 void init LDAP_P((void)); -extern void be_unbind LDAP_P((Connection *conn, Operation *op)); +extern int slap_init LDAP_P((int mode, char* name)); +extern int slap_startup LDAP_P((int dbnum)); +extern int slap_shutdown LDAP_P((int dbnum)); +extern int slap_destroy LDAP_P((void)); + +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)); extern void do_abandon LDAP_P((Connection *conn, Operation *op)); extern void do_add LDAP_P((Connection *conn, Operation *op)); @@ -275,10 +294,7 @@ extern void do_modify LDAP_P((Connection *conn, Operation *op)); extern void do_modrdn LDAP_P((Connection *conn, Operation *op)); extern void do_search LDAP_P((Connection *conn, Operation *op)); extern void do_unbind LDAP_P((Connection *conn, Operation *op)); -extern void * slapd_daemon LDAP_P((void *port)); -extern int nbackends; -extern Backend *backends; extern int send_search_entry LDAP_P((Backend *be, Connection *conn, Operation *op, Entry *e, char **attrs, int attrsonly)); extern int str2result LDAP_P(( char *s, int *code, char **matched, char **info )); @@ -288,57 +304,5 @@ extern int dtblsize; 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 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)); -extern int ldbm_back_modify LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, LDAPModList *ml)); -extern int ldbm_back_modrdn LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, char *newrdn, int deleteoldrdn )); -extern int ldbm_back_add LDAP_P((Backend *be, Connection *c, Operation *o, Entry *e)); -extern int ldbm_back_delete LDAP_P((Backend *be, Connection *c, Operation *o, char *dn)); -extern void ldbm_back_abandon LDAP_P((Backend *be, Connection *c, Operation *o, int msgid)); -extern void ldbm_back_config LDAP_P((Backend *be, char *fname, int lineno, int argc, char **argv )); -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 )); -#endif - -#ifdef SLAPD_PASSWD -extern int passwd_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 void passwd_back_config LDAP_P((Backend *be, char *fname, int lineno, int argc, char **argv )); -#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 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)); -extern int shell_back_modify LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, LDAPModList *m)); -extern int shell_back_modrdn LDAP_P((Backend *be, Connection *c, Operation *o, char *dn, char *newrdn, int deleteoldrdn )); -extern int shell_back_add LDAP_P((Backend *be, Connection *c, Operation *o, Entry *e)); -extern int shell_back_delete LDAP_P((Backend *be, Connection *c, Operation *o, char *dn)); -extern void shell_back_abandon LDAP_P((Backend *be, Connection *c, Operation *o, int msgid)); -extern void shell_back_config LDAP_P((Backend *be, char *fname, int lineno, int argc, char **argv )); -extern void shell_back_init LDAP_P((Backend *be)); -#endif - -#ifdef SLAPD_PERL -extern int perl_back_bind LDAP_P(( Backend *be, Connection *conn, Operation *op, char *dn, int method, struct berval *crede )); -extern void perl_back_unbind LDAP_P(( Backend *be, Connection *conn, Operation *op )); -extern int perl_back_search LDAP_P(( Backend *be, Connection *conn, Operation *op, char *base, int scope, int deref, int sizelimit, int timelimit, Filter *filter, char *filterstr, char **attrs, int attrsonly )); -extern int perl_back_compare LDAP_P((Backend *be, Connection *conn, Operation *op, char *dn, Ava *ava )); -extern int perl_back_modify LDAP_P(( Backend *be, Connection *conn, Operation *op, char *dn, LDAPModList *ml )); -extern int perl_back_modrdn LDAP_P(( Backend *be, Connection *conn, Operation *op, char *dn, char*newrdn, int deleteoldrdn )); -extern int perl_back_add LDAP_P(( Backend *be, Connection *conn, Operation *op, Entry *e )); -extern int perl_back_delete LDAP_P(( Backend *be, Connection *conn, Operation *op, char *dn )); -/* extern int perl_back_abandon(); */ -extern void perl_back_config LDAP_P(( Backend *be, char *fname, int lineno, int argc, char **argv )); -extern void perl_back_init LDAP_P(( Backend *be )); -extern void perl_back_close LDAP_P(( Backend *be )); -/* extern int perl_back_group(); */ -#endif - #endif /* _proto_slap */