X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fproto-slap.h;h=8fb59e21398f6a0431a07c65f5077976aa0f1514;hb=6e63b58a3e3f8421d6d988a3a57749a0bece83d4;hp=a1f32ac54e23b26c74ec1d8afbb555e65fa3928b;hpb=2a869f5a99f537b246ba8640502e2a86117cb6e8;p=openldap diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index a1f32ac54e..8fb59e2139 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -7,17 +7,23 @@ * 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 )); -int acl_check_mods LDAP_P(( Backend *be, Connection *conn, Operation *op, Entry *e, - LDAPMod *mods )); +int acl_check_modlist LDAP_P(( Backend *be, + Connection *conn, + Operation *op, + Entry *e, + LDAPModList *ml )); /* * aclparse.c @@ -52,20 +58,36 @@ 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(()); +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 */ -char * ch_malloc LDAP_P(( unsigned long size )); -char * ch_realloc LDAP_P(( char *block, unsigned long size )); -char * ch_calloc LDAP_P(( unsigned long nelem, unsigned long size )); +void * ch_malloc LDAP_P(( unsigned long size )); +void * ch_realloc LDAP_P(( void *block, unsigned long size )); +void * ch_calloc LDAP_P(( unsigned long nelem, unsigned long size )); +char * ch_strdup LDAP_P(( const char *string )); /* * charray.c @@ -82,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 @@ -97,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 )); @@ -109,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 @@ -149,10 +168,11 @@ void monitor_info LDAP_P(( Connection *conn, Operation *op )); * 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 @@ -207,8 +227,6 @@ int value_add LDAP_P(( struct berval ***vals, struct berval **addvals )); void value_normalize LDAP_P(( char *s, int syntax )); int value_cmp LDAP_P(( struct berval *v1, struct berval *v2, int syntax, int normalize )); -int value_ncmp LDAP_P(( struct berval *v1, struct berval *v2, int syntax, int len, - int normalize )); int value_find LDAP_P(( struct berval **vals, struct berval *v, int syntax, int normalize )); @@ -217,4 +235,74 @@ int value_find LDAP_P(( struct berval **vals, struct berval *v, int syntax, */ char *suffixAlias LDAP_P(( char *dn, Operation *op, Backend *be )); +/* + * Other... + */ + +extern char **g_argv; +extern char *default_referral; +extern char *replogfile; +extern char Versionstr[]; +extern int active_threads; +extern int defsize; +extern int deftime; +extern int g_argc; +extern int global_default_access; +extern int global_lastmod; +extern int global_schemacheck; +extern int lber_debug; +extern int ldap_syslog; +extern int num_conns; +extern long num_bytes_sent; +extern long num_entries_sent; +extern long ops_completed; +extern long ops_initiated; + +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 ldap_pvt_thread_mutex_t crypt_mutex; +#endif +extern ldap_pvt_thread_t listener_tid; +extern struct acl *global_acl; +extern struct objclass *global_oc; +extern time_t currenttime; + +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)); +extern void do_bind LDAP_P((Connection *conn, Operation *op)); +extern void do_compare LDAP_P((Connection *conn, Operation *op)); +extern void do_delete LDAP_P((Connection *conn, Operation *op)); +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 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 )); + +#if defined( SLAPD_MONITOR_DN ) +extern Connection *c; +extern int dtblsize; +extern time_t starttime; +#endif + #endif /* _proto_slap */ +