data_provider_be.c revision 2faf73eef14d66aeb345ffa38d0f53670fa8a9a1
51cbc45fc1ac5dde29bc2adbb175945df1b4f7d4Timo Sirainen Data Provider Process
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen Copyright (C) Simo Sorce <ssorce@redhat.com> 2008
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen This program is free software; you can redistribute it and/or modify
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen it under the terms of the GNU General Public License as published by
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen the Free Software Foundation; either version 3 of the License, or
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen (at your option) any later version.
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen This program is distributed in the hope that it will be useful,
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen but WITHOUT ANY WARRANTY; without even the implied warranty of
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
51cbc45fc1ac5dde29bc2adbb175945df1b4f7d4Timo Sirainen GNU General Public License for more details.
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen You should have received a copy of the GNU General Public License
3dd0679b6f24be0287cc42d7a60bbf59cdf8b637Timo Sirainen along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "monitor/monitor_interfaces.h"
struct be_async_req {
if (!areq) {
return ENOMEM;
return EIO;
return EOK;
struct be_conn_online_cb {
void *pvt;
void *pvt,
return EINVAL;
if (!on_cb) {
return ENOMEM;
if (online_cb) {
return EOK;
struct be_online_cb_ctx {
void *pvt);
if (!cb_ctx) {
cb_ctx);
if (!te) {
void *pvt)
cb_ctx);
if (!te) {
goto final;
void *user_data;
if (!dbret) {
return EIO;
return EOK;
switch (dp_err_type) {
case DP_ERR_OK:
case DP_ERR_OFFLINE:
case DP_ERR_TIMEOUT:
case DP_ERR_FATAL:
return NULL;
int dp_err_type,
int errnum,
const char *errstr)
if (reply) {
if (errstr) {
if (!err_msg) {
if (!dbret) {
void *user_data;
char *filter;
int filter_type;
char *filter_val;
int ret;
const char *err_msg;
if (!ret) {
return EIO;
goto done;
if (filter) {
goto done;
goto done;
if (!be_req) {
goto done;
if (!req) {
goto done;
be_req);
goto done;
return EOK;
done:
if (be_req) {
if (reply) {
return EOK;
int dp_err_type,
int errnum,
const char *errstr)
if (!dbret) {
void *user_data;
if (!reply) {
return ENOMEM;
if (!be_req) {
goto done;
if (!ret) {
return EIO;
return ENOMEM;
case SSS_PAM_AUTHENTICATE:
case SSS_PAM_ACCT_MGMT:
case SSS_PAM_CHAUTHTOK:
case SSS_PAM_CHAUTHTOK_PRELIM:
case SSS_PAM_SETCRED:
case SSS_PAM_OPEN_SESSION:
case SSS_PAM_CLOSE_SESSION:
goto done;
goto done;
sizeof(MSG_TARGET_NO_CONFIGURED),
goto done;
be_req);
goto done;
return EOK;
done:
if (!ret) {
return EIO;
return EOK;
char *cli_name;
void *data;
if (!becli) {
return EINVAL;
if (!dbret) {
return EIO;
if (!reply) {
return ENOMEM;
if (!dbret) {
return EIO;
return EOK;
if (!becli) {
return ENOMEM;
return ENOMEM;
return EOK;
char *sbus_address;
int ret;
return ret;
return ret;
return EOK;
char *sbus_address;
int ret;
return ret;
return ret;
return ret;
return EOK;
const char *default_mod_name)
bool already_loaded = false;
int lb=0;
void *handle;
return EINVAL;
if (!tmp_ctx) {
return ENOMEM;
&mod_name);
goto done;
if (!mod_name) {
goto done;
goto done;
goto done;
goto done;
mod_name);
goto done;
lb = 0;
already_loaded = true;
++lb;
goto done;
if (!already_loaded) {
if (!path) {
goto done;
if (!handle) {
goto done;
goto done;
goto done;
done:
return ret;
int signum,
int count,
void *siginfo,
void *private_data)
const char *be_domain,
int ret;
if (!ctx) {
return ENOMEM;
return ENOMEM;
return ret;
return ret;
return ret;
return ret;
return ret;
return ret;
return ret;
be_domain));
return ret;
return ret;
be_domain));
return EIO;
return EOK;
int opt;
int ret;
switch(opt) {