d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina/*
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina Authors:
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina Pavel Březina <pbrezina@redhat.com>
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina Copyright (C) 2016 Red Hat
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina This program is free software; you can redistribute it and/or modify
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina it under the terms of the GNU General Public License as published by
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina the Free Software Foundation; either version 3 of the License, or
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina (at your option) any later version.
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina This program is distributed in the hope that it will be useful,
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina but WITHOUT ANY WARRANTY; without even the implied warranty of
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina GNU General Public License for more details.
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina You should have received a copy of the GNU General Public License
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina along with this program. If not, see <http://www.gnu.org/licenses/>.
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina*/
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina#ifndef _DP_CUSTOM_DATA_H_
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina#define _DP_CUSTOM_DATA_H_
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina#include "providers/data_provider/dp.h"
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina/* Request handler private data. */
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastruct dp_sudo_data {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina uint32_t type;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina char **rules;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastruct dp_hostid_data {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *name;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *alias;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastruct dp_autofs_data {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *mapname;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastruct dp_subdomains_data {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *domain_hint;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozekstruct dp_get_acct_domain_data {
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozek uint32_t entry_type;
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozek uint32_t filter_type;
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozek const char *filter_value;
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozek};
c0f9f5a0f6d71a1596ee3cef549b4b02295313c3Jakub Hrozek
3d29430867cf92b2d71afa95abb679711231117cPavel Březinastruct dp_id_data {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina uint32_t entry_type;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina uint32_t filter_type;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *filter_value;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *extra_value;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina const char *domain;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina/* Reply private data. */
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březinastruct dp_reply_std {
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina int dp_error;
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina int error;
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina const char *message;
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina};
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březinavoid dp_reply_std_set(struct dp_reply_std *reply,
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina int dp_error,
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina int error,
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina const char *msg);
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina/* Reply callbacks. */
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březinavoid dp_req_reply_std(const char *request_name,
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina struct sbus_request *sbus_req,
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina struct dp_reply_std *reply);
a1bf79449204ce9a5392b9d09b953a6bdf53a122Pavel Březina
d3dee2a07f1a8ee9ae6f94e149ced754ef76c248Pavel Březina#endif /* _DP_CUSTOM_DATA_H_ */