summaryrefslogtreecommitdiffstats
path: root/ldb/examples/ldbreader.c
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-02-25 16:43:57 -0500
committerSimo Sorce <ssorce@redhat.com>2009-02-26 09:13:32 -0500
commit77454c07ba109a3ea6af0da86ba954b28b1fd02f (patch)
tree5e5be00f9b77c42e697617acb9fd695f7c6a0e58 /ldb/examples/ldbreader.c
parentc9f6d2795fde2f9bf80277d425df2b44bc860226 (diff)
downloadsssd-77454c07ba109a3ea6af0da86ba954b28b1fd02f.tar.gz
sssd-77454c07ba109a3ea6af0da86ba954b28b1fd02f.tar.xz
sssd-77454c07ba109a3ea6af0da86ba954b28b1fd02f.zip
Remove our copies of the samba libraries.
Packages are already available in debian unstable and will soon land in Fedora. See BUILD.TXT for details. We still keep libreplace as we still use its configure macros, until we find time to extract only waht we need and have our own macros.
Diffstat (limited to 'ldb/examples/ldbreader.c')
-rw-r--r--ldb/examples/ldbreader.c124
1 files changed, 0 insertions, 124 deletions
diff --git a/ldb/examples/ldbreader.c b/ldb/examples/ldbreader.c
deleted file mode 100644
index e48b3d338..000000000
--- a/ldb/examples/ldbreader.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- example code for the ldb database library
-
- Copyright (C) Brad Hards (bradh@frogmouth.net) 2005-2006
-
- ** 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 3 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, see <http://www.gnu.org/licenses/>.
-*/
-
-/** \example ldbreader.c
-
-The code below shows a simple LDB application.
-
-It lists / dumps the records in a LDB database to standard output.
-
-*/
-
-#include "ldb_includes.h"
-#include "ldb.h"
-#include "ldb_errors.h"
-
-/*
- ldb_ldif_write takes a function pointer to a custom output
- function. This version is about as simple as the output function can
- be. In a more complex example, you'd likely be doing something with
- the private data function (e.g. holding a file handle).
-*/
-static int vprintf_fn(void *private_data, const char *fmt, ...)
-{
- int retval;
- va_list ap;
-
- va_start(ap, fmt);
- /* We just write to standard output */
- retval = vprintf(fmt, ap);
- va_end(ap);
- /* Note that the function should return the number of
- bytes written, or a negative error code */
- return retval;
-}
-
-int main(int argc, const char **argv)
-{
- struct ldb_context *ldb;
- const char *expression = "(dn=*)";
- struct ldb_result *resultMsg;
- int i;
-
- /*
- This is the always the first thing you want to do in an LDB
- application - initialise up the context structure.
-
- Note that you can use the context structure as a parent
- for talloc allocations as well
- */
- ldb = ldb_init(NULL, NULL);
-
- /*
- We now open the database. In this example we just hard code the connection path.
-
- Also note that the database is being opened read-only. This means that the
- call will fail unless the database already exists.
- */
- if (LDB_SUCCESS != ldb_connect(ldb, "tdb://tdbtest.ldb", LDB_FLG_RDONLY, NULL) ){
- printf("Problem on connection\n");
- exit(-1);
- }
-
- /*
- At this stage we have an open database, and can start using it. It is opened
- read-only, so a query is possible.
-
- We construct a search that just returns all the (sensible) contents. You can do
- quite fine grained results with the LDAP search syntax, however it is a bit
- confusing to start with. See RFC2254.
- */
- if (LDB_SUCCESS != ldb_search(ldb, ldb, &resultMsg,
- NULL, LDB_SCOPE_DEFAULT, NULL,
- "%s", expression)) {
- printf("Problem in search\n");
- exit(-1);
- }
-
- printf("%i records returned\n", resultMsg->count);
-
- /*
- We can now iterate through the results, writing them out
- (to standard output) with our custom output routine as defined
- at the top of this file
- */
- for (i = 0; i < resultMsg->count; ++i) {
- struct ldb_ldif ldifMsg;
-
- printf("Message: %i\n", i+1);
-
- ldifMsg.changetype = LDB_CHANGETYPE_NONE;
- ldifMsg.msg = resultMsg->msgs[i];
- ldb_ldif_write(ldb, vprintf_fn, NULL, &ldifMsg);
- }
-
- /*
- There are two objects to clean up - the result from the
- ldb_search() query, and the original ldb context.
- */
- talloc_free(resultMsg);
-
- talloc_free(ldb);
-
- return 0;
-}