]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapcommon.h
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
[openldap] / servers / slapd / slapcommon.h
index 30ae1567c5dcc3c5598566a0ed00f6dc92a4258b..098a2ae6b7b4bf795ad28ff22512cebfca470a5b 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2013 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,6 +26,7 @@ enum slaptool {
        SLAPDN,         /* DN check w/ syntax tool */
        SLAPINDEX,      /* database index tool */
        SLAPPASSWD,     /* password generation tool */
+       SLAPSCHEMA,     /* schema checking tool */
        SLAPTEST,       /* slapd.conf test tool */
        SLAPAUTH,       /* test authz-regexp and authc/authz stuff */
        SLAPACL,        /* test acl */
@@ -34,13 +35,17 @@ enum slaptool {
 
 typedef struct tool_vars {
        Backend *tv_be;
+       int tv_dbnum;
        int tv_verbose;
+       int tv_quiet;
        int tv_update_ctxcsn;
        int tv_continuemode;
        int tv_nosubordinates;
        int tv_dryrun;
-       Filter *tv_filter;
+       unsigned long tv_jumpline;
        struct berval tv_sub_ndn;
+       int tv_scope;
+       Filter *tv_filter;
        struct LDIFFP   *tv_ldiffp;
        struct berval tv_baseDN;
        struct berval tv_authcDN;
@@ -58,18 +63,26 @@ typedef struct tool_vars {
        slap_ssf_t tv_tls_ssf;
        slap_ssf_t tv_sasl_ssf;
        unsigned tv_dn_mode;
+       unsigned int tv_csnsid;
+       ber_len_t tv_ldif_wrap;
+       char tv_maxcsnbuf[ LDAP_PVT_CSNSTR_BUFSIZE * ( SLAP_SYNC_SID_MAX + 1 ) ];
+       struct berval tv_maxcsn[ SLAP_SYNC_SID_MAX + 1 ];
 } tool_vars;
 
 extern tool_vars tool_globals;
 
 #define        be tool_globals.tv_be
+#define        dbnum tool_globals.tv_dbnum
 #define verbose tool_globals.tv_verbose
+#define quiet tool_globals.tv_quiet
+#define jumpline tool_globals.tv_jumpline
 #define update_ctxcsn tool_globals.tv_update_ctxcsn
 #define continuemode tool_globals.tv_continuemode
 #define nosubordinates tool_globals.tv_nosubordinates
 #define dryrun tool_globals.tv_dryrun
-#define filter tool_globals.tv_filter
 #define sub_ndn tool_globals.tv_sub_ndn
+#define scope tool_globals.tv_scope
+#define filter tool_globals.tv_filter
 #define ldiffp tool_globals.tv_ldiffp
 #define baseDN tool_globals.tv_baseDN
 #define authcDN tool_globals.tv_authcDN
@@ -87,6 +100,11 @@ extern tool_vars tool_globals;
 #define tls_ssf tool_globals.tv_tls_ssf
 #define sasl_ssf tool_globals.tv_sasl_ssf
 #define dn_mode tool_globals.tv_dn_mode
+#define csnsid tool_globals.tv_csnsid
+#define ldif_wrap tool_globals.tv_ldif_wrap
+#define maxcsn tool_globals.tv_maxcsn
+#define maxcsnbuf tool_globals.tv_maxcsnbuf
+
 #define SLAP_TOOL_LDAPDN_PRETTY                SLAP_LDAPDN_PRETTY
 #define SLAP_TOOL_LDAPDN_NORMAL                (SLAP_LDAPDN_PRETTY << 1)
 
@@ -95,6 +113,26 @@ void slap_tool_init LDAP_P((
        int tool,
        int argc, char **argv ));
 
-void slap_tool_destroy LDAP_P((void));
+int slap_tool_destroy LDAP_P((void));
+
+int slap_tool_update_ctxcsn LDAP_P((
+       const char *progname,
+       unsigned long sid,
+       struct berval *bvtext ));
+
+unsigned long slap_tool_update_ctxcsn_check LDAP_P((
+       const char *progname,
+       Entry *e ));
+
+int slap_tool_update_ctxcsn_init LDAP_P((void));
+
+int slap_tool_entry_check LDAP_P((
+       const char *progname,
+       Operation *op,
+       Entry *e,
+       int lineno,
+       const char **text,
+       char *textbuf,
+       size_t textlen ));
 
 #endif /* SLAPCOMMON_H_ */