Merge branch 'master' of git://git.samba.org/samba
[sfrench/samba-autobuild/.git] / source4 / lib / ldb / tools / cmdline.h
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         const char *modules_path;
31         int interactive;
32         int sorted;
33         const char *editor;
34         int verbose;
35         int recursive;
36         int all_records;
37         int nosync;
38         const char **options;
39         int argc;
40         const char **argv;
41         int num_records;
42         int num_searches;
43         const char *sasl_mechanism;
44         const char *input;
45         const char *output;
46         char **controls;
47         int show_binary;
48         int tracing;
49 };
50
51 struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const char **argv,
52                                         void (*usage)(void));
53
54
55 int handle_controls_reply(struct ldb_control **reply, struct ldb_control **request);
56 void ldb_cmdline_help(const char *cmdname, FILE *f);
57