slapcommon.h 2.65 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* slapcommon.h - common definitions for the slap tools */
/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
 *
 * Copyright 1998-2004 The OpenLDAP Foundation.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted only as authorized by the OpenLDAP
 * Public License.
 *
 * A copy of this license is available in the file LICENSE in the
 * top-level directory of the distribution or, alternatively, at
 * <http://www.OpenLDAP.org/license.html>.
 */

#ifndef SLAPCOMMON_H_
#define SLAPCOMMON_H_ 1

#define SLAPD_TOOLS 1
#include "slap.h"

enum slaptool {
	SLAPADD=1,	/* LDIF -> database tool */
	SLAPCAT,	/* database -> LDIF tool */
26
	SLAPDN,		/* DN check w/ syntax tool */
27
	SLAPINDEX,	/* database index tool */
28
29
	SLAPPASSWD,	/* password generation tool */
	SLAPTEST,	/* slapd.conf test tool */
Kurt Zeilenga's avatar
Kurt Zeilenga committed
30
	SLAPAUTH,	/* test authz-regexp and authc/authz stuff */
Pierangelo Masarati's avatar
Pierangelo Masarati committed
31
	SLAPACL,	/* test acl */
32
	SLAPLAST
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
};

#define SLAP_TOOL_CTXCSN_KEEP	0
#define SLAP_TOOL_CTXCSN_ENTRY	1
#define SLAP_TOOL_CTXCSN_BATCH	2

typedef struct tool_vars {
	Backend *tv_be;
	int tv_verbose;
	int tv_update_ctxcsn;
	int tv_retrieve_ctxcsn;
	int tv_retrieve_synccookie;
	int tv_replica_promotion;
	int tv_replica_demotion;
	char    *tv_replica_id_string;
	char    **tv_replica_id_strlist;
	int     *tv_replica_id_list;
	int tv_continuemode;
	int tv_nosubordinates;
	int tv_dryrun;
	struct berval tv_sub_ndn;
	FILE	*tv_ldiffp;
Pierangelo Masarati's avatar
Pierangelo Masarati committed
55
56
	struct berval tv_authcDN;
	struct berval tv_baseDN;
57
58
	struct berval tv_authcID;
	struct berval tv_authzID;
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
} tool_vars;

extern tool_vars tool_globals;

#define	be tool_globals.tv_be
#define verbose tool_globals.tv_verbose
#define update_ctxcsn tool_globals.tv_update_ctxcsn
#define retrieve_ctxcsn tool_globals.tv_retrieve_ctxcsn
#define retrieve_synccookie tool_globals.tv_retrieve_synccookie
#define replica_promotion tool_globals.tv_replica_promotion
#define replica_demotion tool_globals.tv_replica_demotion
#define replica_id_string tool_globals.tv_replica_id_string
#define replica_id_strlist tool_globals.tv_replica_id_strlist
#define replica_id_list tool_globals.tv_replica_id_list
#define continuemode tool_globals.tv_continuemode
#define nosubordinates tool_globals.tv_nosubordinates
#define dryrun tool_globals.tv_dryrun
#define sub_ndn tool_globals.tv_sub_ndn
#define ldiffp tool_globals.tv_ldiffp
Pierangelo Masarati's avatar
Pierangelo Masarati committed
78
79
#define authcDN tool_globals.tv_authcDN
#define baseDN tool_globals.tv_baseDN
80
81
#define authcID tool_globals.tv_authcID
#define authzID tool_globals.tv_authzID
82
83
84
85
86
87
88
89
90

void slap_tool_init LDAP_P((
	const char* name,
	int tool,
	int argc, char **argv ));

void slap_tool_destroy LDAP_P((void));

#endif /* SLAPCOMMON_H_ */