d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina/*
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina Authors:
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina Pavel Březina <pbrezina@redhat.com>
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina Copyright (C) 2015 Red Hat
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina This program is free software; you can redistribute it and/or modify
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina it under the terms of the GNU General Public License as published by
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina the Free Software Foundation; either version 3 of the License, or
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina (at your option) any later version.
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina This program is distributed in the hope that it will be useful,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina GNU General Public License for more details.
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina You should have received a copy of the GNU General Public License
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina*/
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina#ifndef IFP_CACHE_H_
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina#define IFP_CACHE_H_
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina#include "responder/common/responder.h"
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina#include "responder/ifp/ifp_iface_generated.h"
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březinaenum ifp_cache_type {
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina IFP_CACHE_USER,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina IFP_CACHE_GROUP
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina};
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březinaerrno_t ifp_cache_list_domains(TALLOC_CTX *mem_ctx,
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina struct sss_domain_info *domains,
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina enum ifp_cache_type type,
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina const char ***_paths,
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina int *_num_paths);
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina/* org.freedesktop-sssd-infopipe.Cache */
2b7ef850846029641cc59560c2d8d4ab7254dda5Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březinaint ifp_cache_list(struct sbus_request *sbus_req,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina void *data,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina enum ifp_cache_type type);
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březinaint ifp_cache_list_by_domain(struct sbus_request *sbus_req,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina void *data,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina const char *domain,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina enum ifp_cache_type type);
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina/* org.freedesktop-sssd-infopipe.Cache.Object */
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březinaint ifp_cache_object_store(struct sbus_request *sbus_req,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina struct sss_domain_info *domain,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina struct ldb_dn *dn);
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březinaint ifp_cache_object_remove(struct sbus_request *sbus_req,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina struct sss_domain_info *domain,
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina struct ldb_dn *dn);
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina
d3c82d0170d6d7407549afdadd08aa7e11aeb9a2Pavel Březina#endif /* IFP_CACHE_H_ */