/* [<][>][^][v][top][bottom][index][help] */
1 /*
2 ldb database library - command line handling for ldb tools
3
4 Copyright (C) Andrew Tridgell 2005
5
6 ** NOTE! The following LGPL license applies to the ldb
7 ** library. This does NOT imply that all of Samba is released
8 ** under the LGPL
9
10 This library is free software; you can redistribute it and/or
11 modify it under the terms of the GNU Lesser General Public
12 License as published by the Free Software Foundation; either
13 version 3 of the License, or (at your option) any later version.
14
15 This library is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public
21 License along with this library; if not, see <http://www.gnu.org/licenses/>.
22 */
23
24 #include <popt.h>
25
26 struct ldb_cmdline {
27 const char *url;
28 enum ldb_scope scope;
29 const char *basedn;
30 int interactive;
31 int sorted;
32 const char *editor;
33 int verbose;
34 int recursive;
35 int all_records;
36 int nosync;
37 const char **options;
38 int argc;
39 const char **argv;
40 int num_records;
41 int num_searches;
42 const char *sasl_mechanism;
43 const char *input;
44 const char *output;
45 char **controls;
46 };
47
48 struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const char **argv,
49 void (*usage)(void));
50
51
52 struct ldb_control **parse_controls(void *mem_ctx, char **control_strings);
53 int handle_controls_reply(struct ldb_control **reply, struct ldb_control **request);