1/* $NetBSD: slapcommon.h,v 1.1.1.3 2010/12/12 15:22:48 adam Exp $ */ 2 3/* slapcommon.h - common definitions for the slap tools */ 4/* OpenLDAP: pkg/ldap/servers/slapd/slapcommon.h,v 1.14.2.10 2010/04/14 22:59:10 quanah Exp */ 5/* This work is part of OpenLDAP Software <http://www.openldap.org/>. 6 * 7 * Copyright 1998-2010 The OpenLDAP Foundation. 8 * All rights reserved. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted only as authorized by the OpenLDAP 12 * Public License. 13 * 14 * A copy of this license is available in the file LICENSE in the 15 * top-level directory of the distribution or, alternatively, at 16 * <http://www.OpenLDAP.org/license.html>. 17 */ 18 19#ifndef SLAPCOMMON_H_ 20#define SLAPCOMMON_H_ 1 21 22#define SLAPD_TOOLS 1 23#include "slap.h" 24 25enum slaptool { 26 SLAPADD=1, /* LDIF -> database tool */ 27 SLAPCAT, /* database -> LDIF tool */ 28 SLAPDN, /* DN check w/ syntax tool */ 29 SLAPINDEX, /* database index tool */ 30 SLAPPASSWD, /* password generation tool */ 31 SLAPSCHEMA, /* schema checking tool */ 32 SLAPTEST, /* slapd.conf test tool */ 33 SLAPAUTH, /* test authz-regexp and authc/authz stuff */ 34 SLAPACL, /* test acl */ 35 SLAPLAST 36}; 37 38typedef struct tool_vars { 39 Backend *tv_be; 40 int tv_dbnum; 41 int tv_verbose; 42 int tv_quiet; 43 int tv_update_ctxcsn; 44 int tv_continuemode; 45 int tv_nosubordinates; 46 int tv_dryrun; 47 int tv_jumpline; 48 struct berval tv_sub_ndn; 49 int tv_scope; 50 Filter *tv_filter; 51 struct LDIFFP *tv_ldiffp; 52 struct berval tv_baseDN; 53 struct berval tv_authcDN; 54 struct berval tv_authzDN; 55 struct berval tv_authcID; 56 struct berval tv_authzID; 57 struct berval tv_mech; 58 char *tv_realm; 59 struct berval tv_listener_url; 60 struct berval tv_peer_domain; 61 struct berval tv_peer_name; 62 struct berval tv_sock_name; 63 slap_ssf_t tv_ssf; 64 slap_ssf_t tv_transport_ssf; 65 slap_ssf_t tv_tls_ssf; 66 slap_ssf_t tv_sasl_ssf; 67 unsigned tv_dn_mode; 68 unsigned int tv_csnsid; 69} tool_vars; 70 71extern tool_vars tool_globals; 72 73#define be tool_globals.tv_be 74#define dbnum tool_globals.tv_dbnum 75#define verbose tool_globals.tv_verbose 76#define quiet tool_globals.tv_quiet 77#define jumpline tool_globals.tv_jumpline 78#define update_ctxcsn tool_globals.tv_update_ctxcsn 79#define continuemode tool_globals.tv_continuemode 80#define nosubordinates tool_globals.tv_nosubordinates 81#define dryrun tool_globals.tv_dryrun 82#define sub_ndn tool_globals.tv_sub_ndn 83#define scope tool_globals.tv_scope 84#define filter tool_globals.tv_filter 85#define ldiffp tool_globals.tv_ldiffp 86#define baseDN tool_globals.tv_baseDN 87#define authcDN tool_globals.tv_authcDN 88#define authzDN tool_globals.tv_authzDN 89#define authcID tool_globals.tv_authcID 90#define authzID tool_globals.tv_authzID 91#define mech tool_globals.tv_mech 92#define realm tool_globals.tv_realm 93#define listener_url tool_globals.tv_listener_url 94#define peer_domain tool_globals.tv_peer_domain 95#define peer_name tool_globals.tv_peer_name 96#define sock_name tool_globals.tv_sock_name 97#define ssf tool_globals.tv_ssf 98#define transport_ssf tool_globals.tv_transport_ssf 99#define tls_ssf tool_globals.tv_tls_ssf 100#define sasl_ssf tool_globals.tv_sasl_ssf 101#define dn_mode tool_globals.tv_dn_mode 102#define csnsid tool_globals.tv_csnsid 103#define SLAP_TOOL_LDAPDN_PRETTY SLAP_LDAPDN_PRETTY 104#define SLAP_TOOL_LDAPDN_NORMAL (SLAP_LDAPDN_PRETTY << 1) 105 106void slap_tool_init LDAP_P(( 107 const char* name, 108 int tool, 109 int argc, char **argv )); 110 111int slap_tool_destroy LDAP_P((void)); 112 113#endif /* SLAPCOMMON_H_ */ 114