]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
Implemented the open, init functions correctly
[openldap] / servers / slapd / proto-slap.h
index 3b08579d76e04813c2294fbc80225463607703db..8fb59e21398f6a0431a07c65f5077976aa0f1514 100644 (file)
@@ -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,9 +227,82 @@ 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 ));
 
+/*
+ * suffixAlias.c
+ */
+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 */
+