mirror of
https://github.com/samba-team/samba.git
synced 2025-11-21 12:23:50 +03:00
command line to ldbsearch. Very rough work, no checks are done on the input yet (will segfault if you make it wrong). Controls are passed via the --controls switch an are comma separated (no escaping yet). General syntax is <ctrl_name>:<criticality> <ctrl_name> is a string <criticality> is 1 or 0 Current semi-parsed controls are: server_sort syntax: server_sort:1:0:attributename 1st parm: criticality 2nd parm: reversed 3rd parm: attribute name to be used for sorting todo: still missing suport for multiple sorting attributes and ordering rule no check on result code paged_results syntax: paged_results:1:100 1st parm: criticality 2nd parm: number of results to be returned todo: ldbsearch will return only the first batch (missing code to cycle over conditionally) no check on result code extended_dn syntax: extended_dn:1:0 1st parm: criticality 2nd parm: type, see MS docs on meaning Simo.
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/*
|
|
ldb database library - command line handling for ldb tools
|
|
|
|
Copyright (C) Andrew Tridgell 2005
|
|
|
|
** NOTE! The following LGPL license applies to the ldb
|
|
** library. This does NOT imply that all of Samba is released
|
|
** under the LGPL
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#include <popt.h>
|
|
|
|
struct ldb_cmdline {
|
|
const char *url;
|
|
enum ldb_scope scope;
|
|
const char *basedn;
|
|
int interactive;
|
|
int sorted;
|
|
const char *editor;
|
|
int verbose;
|
|
int recursive;
|
|
int all_records;
|
|
int nosync;
|
|
const char **options;
|
|
int argc;
|
|
const char **argv;
|
|
int num_records;
|
|
int num_searches;
|
|
const char *sasl_mechanism;
|
|
const char *input;
|
|
const char *output;
|
|
char **controls;
|
|
};
|
|
|
|
struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const char **argv,
|
|
void (*usage)(void));
|
|
|
|
|