1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
/*
SSSD
InfoPipe
Copyright (C) Stephen Gallagher <sgallagh@redhat.com> 2009
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef INFOPIPE_H_
#define INFOPIPE_H_
#include <dbus/dbus.h>
#include "sbus/sssd_dbus.h"
#define INFP_INTROSPECT_XML "infopipe/org.freedesktop.sssd.infopipe.Introspect.xml"
#define INFOPIPE_DBUS_NAME "org.freedesktop.sssd.infopipe1"
#define INFOPIPE_INTERFACE "org.freedesktop.sssd.infopipe1"
#define INFOPIPE_PATH "/org/freedesktop/sssd/infopipe1"
#define INFOPIPE_VERSION 0x0001
#define INFOPIPE_SERVICE_NAME "info"
/* InfoPipe Methods
* NOTE: Any changes to the method names and arguments for these calls
* must also be updated in the org.freedesktop.sssd.infopipe.Introspect.xml
* or clients may not behave properly.
*/
/**********************************************************
* Introspection Methods (from infopipe.c) *
**********************************************************/
/* This function must be exposed through the
* org.freedesktop.DBus.Introspectable interface
*/
#define INFP_INTROSPECT "Introspect"
int infp_introspect(DBusMessage *message, struct sbus_conn_ctx *sconn);
/**********************************************************
* Permission Methods (from infopipe.c) *
**********************************************************/
#define INFP_CHECK_PERMISSIONS "CheckPermissions1"
int infp_check_permissions(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_PERMISSION_METHODS \
{INFP_CHECK_PERMISSIONS,infp_check_permissions},
/**********************************************************
* User Methods (from infopipe_users.c) *
**********************************************************/
#define INFP_USERS_GET_CACHED "GetCachedUsers1"
int infp_users_get_cached(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USERS_CREATE "CreateUser1"
int infp_users_create(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USERS_DELETE "DeleteUser1"
int infp_users_delete(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USERS_GET_ATTR "GetUserAttributes1"
int infp_users_get_attr(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USERS_SET_ATTR "SetUserAttributes1"
int infp_users_set_attr(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USERS_SET_UID "Set_YouReallyDoNotWantToUseThisFunction_UserUID1"
int infp_users_set_uid(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_USER_METHODS \
{INFP_USERS_GET_CACHED, infp_users_get_cached}, \
{INFP_USERS_CREATE, infp_users_create}, \
{INFP_USERS_DELETE, infp_users_delete}, \
{INFP_USERS_GET_ATTR, infp_users_get_attr}, \
{INFP_USERS_SET_ATTR, infp_users_set_attr}, \
{INFP_USERS_SET_UID, infp_users_set_uid},
/**********************************************************
* Group Methods (from infopipe_groups.c) *
**********************************************************/
#define INFP_GROUPS_CREATE "CreateGroup1"
int infp_groups_create(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_GROUPS_DELETE "DeleteGroup1"
int infp_groups_delete(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_GROUPS_ADD_MEMBERS "AddGroupMembers1"
int infp_groups_add_members(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_GROUPS_REMOVE_MEMBERS "RemoveGroupMembers1"
int infp_groups_remove_members(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_GROUPS_SET_GID "Set_YouReallyDoNotWantToUseThisFunction_GroupGID1"
int infp_groups_set_gid(DBusMessage *message, struct sbus_conn_ctx *sconn);
#define INFP_GROUP_METHODS \
{INFP_GROUPS_CREATE, infp_groups_create}, \
{INFP_GROUPS_DELETE, infp_groups_delete}, \
{INFP_GROUPS_ADD_MEMBERS, infp_groups_add_members}, \
{INFP_GROUPS_REMOVE_MEMBERS, infp_groups_remove_members}, \
{INFP_GROUPS_SET_GID, infp_groups_set_gid},
#endif /* INFOPIPE_H_ */
|