summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-sysdeps.h
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-04-17 23:17:04 +0000
committerHavoc Pennington <hp@redhat.com>2003-04-17 23:17:04 +0000
commit88cd5da3c0ec86fed29942b062c2f7bf0f8fda44 (patch)
tree9ca9236af208046ed5d6edae99cf62d13237f1d0 /dbus/dbus-sysdeps.h
parent4219b08bfa318443419c7a3acde28f0b237b05fe (diff)
2003-04-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd database usage so it all goes via the DBusUserDatabase cache.
Diffstat (limited to 'dbus/dbus-sysdeps.h')
-rw-r--r--dbus/dbus-sysdeps.h56
1 files changed, 36 insertions, 20 deletions
diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h
index 27f27b58..593496c0 100644
--- a/dbus/dbus-sysdeps.h
+++ b/dbus/dbus-sysdeps.h
@@ -124,34 +124,50 @@ dbus_bool_t _dbus_send_credentials_unix_socket (int server_fd,
void _dbus_credentials_clear (DBusCredentials *credentials);
-dbus_bool_t _dbus_credentials_from_username (const DBusString *username,
- DBusCredentials *credentials);
-dbus_bool_t _dbus_credentials_from_user_id (dbus_uid_t user_id,
- DBusCredentials *credentials);
-dbus_bool_t _dbus_credentials_from_uid_string (const DBusString *uid_str,
- DBusCredentials *credentials);
void _dbus_credentials_from_current_process (DBusCredentials *credentials);
dbus_bool_t _dbus_credentials_match (const DBusCredentials *expected_credentials,
const DBusCredentials *provided_credentials);
-dbus_bool_t _dbus_get_user_id (const DBusString *username,
- dbus_uid_t *uid);
-dbus_bool_t _dbus_string_append_our_uid (DBusString *str);
-dbus_bool_t _dbus_homedir_from_username (const DBusString *username,
- DBusString *homedir);
-dbus_bool_t _dbus_user_info_from_current_process (const DBusString **username,
- const DBusString **homedir,
- const DBusCredentials **credentials);
+typedef struct DBusUserInfo DBusUserInfo;
+typedef struct DBusGroupInfo DBusGroupInfo;
+
+struct DBusUserInfo
+{
+ dbus_uid_t uid; /**< UID */
+ dbus_gid_t primary_gid; /**< GID */
+ dbus_gid_t *group_ids; /**< Groups IDs, *including* above primary group */
+ int n_group_ids; /**< Size of group IDs array */
+ char *username; /**< Username */
+ char *homedir; /**< Home directory */
+};
+
+struct DBusGroupInfo
+{
+ dbus_gid_t gid; /**< GID */
+ char *groupname; /**< Group name */
+};
+
+dbus_bool_t _dbus_user_info_fill (DBusUserInfo *info,
+ const DBusString *username,
+ DBusError *error);
+dbus_bool_t _dbus_user_info_fill_uid (DBusUserInfo *info,
+ dbus_uid_t uid,
+ DBusError *error);
+void _dbus_user_info_free (DBusUserInfo *info);
+
+dbus_bool_t _dbus_group_info_fill (DBusGroupInfo *info,
+ const DBusString *groupname,
+ DBusError *error);
+dbus_bool_t _dbus_group_info_fill_gid (DBusGroupInfo *info,
+ dbus_gid_t gid,
+ DBusError *error);
+void _dbus_group_info_free (DBusGroupInfo *info);
-dbus_bool_t _dbus_get_group_id (const DBusString *group_name,
- dbus_gid_t *gid);
-dbus_bool_t _dbus_get_groups (dbus_uid_t uid,
- dbus_gid_t **group_ids,
- int *n_group_ids,
- DBusError *error);
unsigned long _dbus_getpid (void);
+dbus_uid_t _dbus_getuid (void);
+dbus_gid_t _dbus_getgid (void);
typedef int dbus_atomic_t;