]> git.sur5r.net Git - openldap/blob - servers/slapd/slapcommon.h
ff29921cd1c54dcc9c2499bdf8fcc616e88ddd3d
[openldap] / servers / slapd / slapcommon.h
1 /* slapcommon.h - common definitions for the slap tools */
2 /* $OpenLDAP$ */
3 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4  *
5  * Copyright 1998-2004 The OpenLDAP Foundation.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted only as authorized by the OpenLDAP
10  * Public License.
11  *
12  * A copy of this license is available in the file LICENSE in the
13  * top-level directory of the distribution or, alternatively, at
14  * <http://www.OpenLDAP.org/license.html>.
15  */
16
17 #ifndef SLAPCOMMON_H_
18 #define SLAPCOMMON_H_ 1
19
20 #define SLAPD_TOOLS 1
21 #include "slap.h"
22
23 enum slaptool {
24         SLAPADD=1,      /* LDIF -> database tool */
25         SLAPCAT,        /* database -> LDIF tool */
26         SLAPDN,         /* DN check w/ syntax tool */
27         SLAPINDEX,      /* database index tool */
28         SLAPPASSWD,     /* password generation tool */
29         SLAPTEST,       /* slapd.conf test tool */
30         SLAPAUTH,       /* test authz-regexp and authc/authz stuff */
31         SLAPLAST
32 };
33
34 #define SLAP_TOOL_CTXCSN_KEEP   0
35 #define SLAP_TOOL_CTXCSN_ENTRY  1
36 #define SLAP_TOOL_CTXCSN_BATCH  2
37
38 typedef struct tool_vars {
39         Backend *tv_be;
40         int tv_verbose;
41         int tv_update_ctxcsn;
42         int tv_retrieve_ctxcsn;
43         int tv_retrieve_synccookie;
44         int tv_replica_promotion;
45         int tv_replica_demotion;
46         char    *tv_replica_id_string;
47         char    **tv_replica_id_strlist;
48         int     *tv_replica_id_list;
49         int tv_continuemode;
50         int tv_nosubordinates;
51         int tv_dryrun;
52         struct berval tv_sub_ndn;
53         FILE    *tv_ldiffp;
54         struct berval tv_authcID;
55         struct berval tv_authzID;
56 } tool_vars;
57
58 extern tool_vars tool_globals;
59
60 #define be tool_globals.tv_be
61 #define verbose tool_globals.tv_verbose
62 #define update_ctxcsn tool_globals.tv_update_ctxcsn
63 #define retrieve_ctxcsn tool_globals.tv_retrieve_ctxcsn
64 #define retrieve_synccookie tool_globals.tv_retrieve_synccookie
65 #define replica_promotion tool_globals.tv_replica_promotion
66 #define replica_demotion tool_globals.tv_replica_demotion
67 #define replica_id_string tool_globals.tv_replica_id_string
68 #define replica_id_strlist tool_globals.tv_replica_id_strlist
69 #define replica_id_list tool_globals.tv_replica_id_list
70 #define continuemode tool_globals.tv_continuemode
71 #define nosubordinates tool_globals.tv_nosubordinates
72 #define dryrun tool_globals.tv_dryrun
73 #define sub_ndn tool_globals.tv_sub_ndn
74 #define ldiffp tool_globals.tv_ldiffp
75 #define authcID tool_globals.tv_authcID
76 #define authzID tool_globals.tv_authzID
77
78 void slap_tool_init LDAP_P((
79         const char* name,
80         int tool,
81         int argc, char **argv ));
82
83 void slap_tool_destroy LDAP_P((void));
84
85 #endif /* SLAPCOMMON_H_ */