d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina/*
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina Authors:
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina Pavel Březina <pbrezina@redhat.com>
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina Copyright (C) 2015 Red Hat
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina This program is free software; you can redistribute it and/or modify
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina it under the terms of the GNU General Public License as published by
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina the Free Software Foundation; either version 3 of the License, or
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina (at your option) any later version.
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina This program is distributed in the hope that it will be useful,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina GNU General Public License for more details.
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina You should have received a copy of the GNU General Public License
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina*/
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#ifndef _SDAP_OPS_H_
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#define _SDAP_OPS_H_
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#include <talloc.h>
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#include <tevent.h>
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#include "providers/ldap/ldap_common.h"
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březinastruct tevent_req *sdap_search_bases_send(TALLOC_CTX *mem_ctx,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct tevent_context *ev,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct sdap_options *opts,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct sdap_handle *sh,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct sdap_search_base **bases,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct sdap_attr_map *map,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina bool allow_paging,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina int timeout,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina const char *filter,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina const char **attrs);
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březinaint sdap_search_bases_recv(struct tevent_req *req,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina TALLOC_CTX *mem_ctx,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina size_t *reply_count,
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina struct sysdb_attrs ***reply);
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březinastruct tevent_req *
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březinasdap_search_bases_return_first_send(TALLOC_CTX *mem_ctx,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct tevent_context *ev,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct sdap_options *opts,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct sdap_handle *sh,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct sdap_search_base **bases,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct sdap_attr_map *map,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina bool allow_paging,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina int timeout,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina const char *filter,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina const char **attrs);
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březinaint sdap_search_bases_return_first_recv(struct tevent_req *req,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina TALLOC_CTX *mem_ctx,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina size_t *_reply_count,
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina struct sysdb_attrs ***_reply);
f48b1dda750511b57dce360fd18da2402adbcbb0Pavel Březina
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinastruct tevent_req *
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinasdap_deref_bases_send(TALLOC_CTX *mem_ctx,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct tevent_context *ev,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_options *opts,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_handle *sh,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_search_base **bases,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_attr_map_info *maps,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char *filter,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char **attrs,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char *deref_attr,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina unsigned int flags,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina int timeout);
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinaint sdap_deref_bases_recv(struct tevent_req *req,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina TALLOC_CTX *mem_ctx,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina size_t *_reply_count,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_deref_attrs ***_reply);
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinastruct tevent_req *
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinasdap_deref_bases_return_first_send(TALLOC_CTX *mem_ctx,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct tevent_context *ev,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_options *opts,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_handle *sh,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_search_base **bases,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_attr_map_info *maps,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char *filter,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char **attrs,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina const char *deref_attr,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina unsigned int flags,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina int timeout);
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březinaint sdap_deref_bases_return_first_recv(struct tevent_req *req,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina TALLOC_CTX *mem_ctx,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina size_t *_reply_count,
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina struct sdap_deref_attrs ***_reply);
565b9955cc439ade58cc24a98168060a60f33e7aPavel Březina
d0599eaa9369fd867953e3c58b8d7bb445525ff5Pavel Březina#endif /* _SDAP_OPS_H_ */