10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher Proxy provider, private header file
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher Sumit Bose <sbose@redhat.com>
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher Copyright (C) 2010 Red Hat
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher This program is free software; you can redistribute it and/or modify
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher it under the terms of the GNU General Public License as published by
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher the Free Software Foundation; either version 3 of the License, or
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher (at your option) any later version.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher This program is distributed in the hope that it will be useful,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher but WITHOUT ANY WARRANTY; without even the implied warranty of
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher GNU General Public License for more details.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher You should have received a copy of the GNU General Public License
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher along with this program. If not, see <http://www.gnu.org/licenses/>.
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina#define PROXY_CHILD_PATH "/org/freedesktop/sssd/proxychild"
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getpwnam_r)(const char *name, struct passwd *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getpwuid_r)(uid_t uid, struct passwd *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getpwent_r)(struct passwd *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getgrnam_r)(const char *name, struct group *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getgrgid_r)(gid_t gid, struct group *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*getgrent_r)(struct group *result,
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher char *buffer, size_t buflen, int *errnop);
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher enum nss_status (*initgroups_dyn)(const char *user, gid_t group,
d7dc57bcc2468bee756bcd568daee0644e5b888dSumit Bose enum nss_status (*setnetgrent)(const char *netgroup,
d7dc57bcc2468bee756bcd568daee0644e5b888dSumit Bose enum nss_status (*getnetgrent_r)(struct __netgrent *result, char *buffer,
d7dc57bcc2468bee756bcd568daee0644e5b888dSumit Bose enum nss_status (*endnetgrent)(struct __netgrent *result);
aec5785126354bd8b192f63fe04ea08dae9c0705Stephen Gallagher /* Services */
aec5785126354bd8b192f63fe04ea08dae9c0705Stephen Gallagher enum nss_status (*getservbyname_r)(const char *name,
aec5785126354bd8b192f63fe04ea08dae9c0705Stephen Gallagher enum nss_status (*getservbyport_r)(int port, const char *protocol,
627d83dff183219826489949cb55ef71945e94abStephen Gallagher enum nss_status (*getservent_r)(struct servent *result,
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina//int proxy_client_init(struct sbus_connection *conn, void *data);
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define PROXY_CHILD_PIPE "private/proxy_child"
2dd3faebcd3cfd00efda38ffd2585d675e696b12Stephen Gallagher#define MAX_BUF_SIZE 1024*1024 /* max 1MiB */
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaproxy_account_info_handler_send(TALLOC_CTX *mem_ctx,
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaerrno_t proxy_account_info_handler_recv(TALLOC_CTX *mem_ctx,
04feeade1f6259368a6b23c6b3ecbad261161659Sumit Bose const char *name);
aec5785126354bd8b192f63fe04ea08dae9c0705Stephen Gallaghererrno_t get_serv_byname(struct proxy_id_ctx *ctx,
627d83dff183219826489949cb55ef71945e94abStephen Gallaghererrno_t enum_services(struct proxy_id_ctx *ctx,
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaint proxy_client_init(struct sbus_connection *conn, void *data);
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif /* __PROXY_H__ */