cache_req.h revision 6b159f14f69134bba8510a6b50ab62493a23a73f
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina/*
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina Authors:
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina Pavel Březina <pbrezina@redhat.com>
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina Copyright (C) 2016 Red Hat
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina This program is free software; you can redistribute it and/or modify
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina it under the terms of the GNU General Public License as published by
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina the Free Software Foundation; either version 3 of the License, or
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina (at your option) any later version.
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina This program is distributed in the hope that it will be useful,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina GNU General Public License for more details.
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina You should have received a copy of the GNU General Public License
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina*/
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#ifndef _CACHE_REQ_H_
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#define _CACHE_REQ_H_
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#include "util/util.h"
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#include "confdb/confdb.h"
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#include "responder/common/negcache.h"
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březinaenum cache_req_type {
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_USER_BY_NAME,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_USER_BY_UPN,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_USER_BY_ID,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_USER_BY_CERT,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_USER_BY_FILTER,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_GROUP_BY_NAME,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_GROUP_BY_ID,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_GROUP_BY_FILTER,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_INITGROUPS,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_INITGROUPS_BY_UPN,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CACHE_REQ_OBJECT_BY_SID,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina CACHE_REQ_ENUM_USERS,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina CACHE_REQ_ENUM_GROUPS,
0ae7e46a3990c47873fca879a9395e3ce00d9150Pavel Březina CACHE_REQ_ENUM_SVC,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina CACHE_REQ_SVC_BY_NAME,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina CACHE_REQ_SVC_BY_PORT,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina CACHE_REQ_NETGROUP_BY_NAME,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina CACHE_REQ_SENTINEL
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina};
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina/* Input data. */
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březinastruct cache_req_data;
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct cache_req_data *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_data_name(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina enum cache_req_type type,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *name);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct cache_req_data *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_data_id(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina enum cache_req_type type,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina uint32_t id);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct cache_req_data *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_data_cert(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina enum cache_req_type type,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *cert);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct cache_req_data *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_data_sid(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina enum cache_req_type type,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *sid,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char **attrs);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
a79acee185654d110c0e35ba351368d664e4e53dPavel Březinastruct cache_req_data *
a79acee185654d110c0e35ba351368d664e4e53dPavel Březinacache_req_data_enum(TALLOC_CTX *mem_ctx,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina enum cache_req_type type);
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březinastruct cache_req_data *
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březinacache_req_data_svc(TALLOC_CTX *mem_ctx,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina enum cache_req_type type,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina const char *name,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina const char *protocol,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina uint16_t port);
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina/* Output data. */
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březinastruct cache_req_result {
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina /**
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * SSSD domain where the result was obtained.
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina */
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct sss_domain_info *domain;
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina /**
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * Result from ldb lookup.
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina */
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct ldb_result *ldb_result;
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina /**
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * Shortcuts into ldb_result. This shortens the code a little since
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * callers usually don't don't need to work with ldb_result directly.
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina */
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina unsigned int count;
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct ldb_message **msgs;
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina /**
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * If name was used as a lookup parameter, @lookup_name contains name
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina * normalized to @domain rules.
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina */
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina const char *lookup_name;
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina};
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina/* Generic request. */
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březinastruct tevent_req *cache_req_send(TALLOC_CTX *mem_ctx,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina struct tevent_context *ev,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina struct resp_ctx *rctx,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina struct sss_nc_ctx *ncache,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina int midpoint,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina const char *domain,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina struct cache_req_data *data);
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březinaerrno_t cache_req_recv(TALLOC_CTX *mem_ctx,
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina struct tevent_req *req,
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct cache_req_result ***_results);
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březinaerrno_t cache_req_single_domain_recv(TALLOC_CTX *mem_ctx,
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct tevent_req *req,
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina struct cache_req_result **_result);
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina/* Plug-ins. */
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_user_by_name_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *name);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_user_by_name_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_user_by_id_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina uid_t uid);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_user_by_id_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_user_by_cert_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *pem_cert);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_user_by_cert_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_name_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *name);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_group_by_name_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_id_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina gid_t gid);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_group_by_id_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_initgr_by_name_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *name);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_initgr_by_name_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_user_by_filter_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *filter);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_user_by_filter_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_group_by_filter_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *filter);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_group_by_filter_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březinastruct tevent_req *
0db2f3402b37df221fbf55486769989f82df479aPavel Březinacache_req_object_by_sid_send(TALLOC_CTX *mem_ctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct tevent_context *ev,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct resp_ctx *rctx,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina struct sss_nc_ctx *ncache,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina int cache_refresh_percent,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *domain,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char *sid,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina const char **attrs);
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina#define cache_req_object_by_sid_recv(mem_ctx, req, _result) \
b206e1abb7f6ea373d12537b3338552aed6b656dPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
a79acee185654d110c0e35ba351368d664e4e53dPavel Březinastruct tevent_req *
a79acee185654d110c0e35ba351368d664e4e53dPavel Březinacache_req_enum_users_send(TALLOC_CTX *mem_ctx,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina struct tevent_context *ev,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina struct resp_ctx *rctx,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina struct sss_nc_ctx *ncache,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina int cache_refresh_percent,
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina const char *domain);
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina#define cache_req_enum_users_recv(mem_ctx, req, _result) \
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina cache_req_recv(mem_ctx, req, _result)
a79acee185654d110c0e35ba351368d664e4e53dPavel Březina
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březinastruct tevent_req *
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březinacache_req_enum_groups_send(TALLOC_CTX *mem_ctx,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina struct tevent_context *ev,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina struct resp_ctx *rctx,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina struct sss_nc_ctx *ncache,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina int cache_refresh_percent,
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina const char *domain);
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina#define cache_req_enum_groups_recv(mem_ctx, req, _result) \
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina cache_req_recv(mem_ctx, req, _result)
12d771585a84a7523a5b7d9cf502d4bcddecb9b9Pavel Březina
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březinastruct tevent_req *
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březinacache_req_svc_by_name_send(TALLOC_CTX *mem_ctx,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina struct tevent_context *ev,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina struct resp_ctx *rctx,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina struct sss_nc_ctx *ncache,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina int cache_refresh_percent,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina const char *domain,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina const char *name,
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina const char *protocol);
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina#define cache_req_svc_by_name_recv(mem_ctx, req, _result) \
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
2e13817e64ff1e0e47dc844be501f2d3ab299f34Pavel Březina
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březinastruct tevent_req *
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březinacache_req_svc_by_port_send(TALLOC_CTX *mem_ctx,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina struct tevent_context *ev,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina struct resp_ctx *rctx,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina struct sss_nc_ctx *ncache,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina int cache_refresh_percent,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina const char *domain,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina uint16_t port,
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina const char *protocol);
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina#define cache_req_svc_by_port_recv(mem_ctx, req, _result) \
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
c2fc9459c31cb1192ab3c15ce4df1c150e99bf95Pavel Březina
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březinastruct tevent_req *
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březinacache_req_netgroup_by_name_send(TALLOC_CTX *mem_ctx,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina struct tevent_context *ev,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina struct resp_ctx *rctx,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina struct sss_nc_ctx *ncache,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina int cache_refresh_percent,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina const char *domain,
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina const char *name);
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina#define cache_req_netgroup_by_name_recv(mem_ctx, req, _result) \
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina cache_req_single_domain_recv(mem_ctx, req, _result)
6b159f14f69134bba8510a6b50ab62493a23a73fPavel Březina
2749964664a69bbb99d09409c1110095cbfcc664Pavel Březina#endif /* _CACHE_REQ_H_ */