D-Bus
1.12.16
Main Page
Related Pages
Modules
Data Structures
Files
File List
dbus
dbus-userdb.h
1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2
/* dbus-userdb.h User database abstraction
3
*
4
* Copyright (C) 2003 Red Hat, Inc.
5
*
6
* Licensed under the Academic Free License version 2.1
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
*/
23
24
#ifndef DBUS_USERDB_H
25
#define DBUS_USERDB_H
26
27
#include <dbus/dbus-sysdeps-unix.h>
28
29
#ifdef DBUS_WIN
30
#error "Don't include this on Windows"
31
#endif
32
33
DBUS_BEGIN_DECLS
34
35
typedef
struct
DBusUserDatabase DBusUserDatabase;
36
37
#ifdef DBUS_USERDB_INCLUDES_PRIVATE
38
#include <dbus/dbus-hash.h>
39
43
struct
DBusUserDatabase
44
{
45
int
refcount;
47
DBusHashTable
*users;
48
DBusHashTable
*groups;
49
DBusHashTable
*users_by_name;
50
DBusHashTable
*groups_by_name;
52
};
53
54
55
DBusUserDatabase*
_dbus_user_database_new
(
void
);
56
DBusUserDatabase* _dbus_user_database_ref (DBusUserDatabase *db);
57
void
_dbus_user_database_flush
(DBusUserDatabase *db);
58
void
_dbus_user_database_unref
(DBusUserDatabase *db);
59
DBUS_PRIVATE_EXPORT
60
dbus_bool_t
_dbus_user_database_get_uid
(DBusUserDatabase *db,
61
dbus_uid_t
uid,
62
const
DBusUserInfo
**info,
63
DBusError
*error);
64
dbus_bool_t
_dbus_user_database_get_gid
(DBusUserDatabase *db,
65
dbus_gid_t
gid,
66
const
DBusGroupInfo
**info,
67
DBusError
*error);
68
DBUS_PRIVATE_EXPORT
69
dbus_bool_t
_dbus_user_database_get_username
(DBusUserDatabase *db,
70
const
DBusString
*username,
71
const
DBusUserInfo
**info,
72
DBusError
*error);
73
dbus_bool_t
_dbus_user_database_get_groupname
(DBusUserDatabase *db,
74
const
DBusString
*groupname,
75
const
DBusGroupInfo
**info,
76
DBusError
*error);
77
78
DBUS_PRIVATE_EXPORT
79
DBusUserInfo
*
_dbus_user_database_lookup
(DBusUserDatabase *db,
80
dbus_uid_t
uid,
81
const
DBusString
*username,
82
DBusError
*error);
83
DBUS_PRIVATE_EXPORT
84
DBusGroupInfo
*
_dbus_user_database_lookup_group
(DBusUserDatabase *db,
85
dbus_gid_t
gid,
86
const
DBusString
*groupname,
87
DBusError
*error);
88
DBUS_PRIVATE_EXPORT
89
void
_dbus_user_info_free_allocated
(
DBusUserInfo
*info);
90
DBUS_PRIVATE_EXPORT
91
void
_dbus_group_info_free_allocated
(
DBusGroupInfo
*info);
92
#endif
/* DBUS_USERDB_INCLUDES_PRIVATE */
93
94
DBUS_PRIVATE_EXPORT
95
DBusUserDatabase*
_dbus_user_database_get_system
(
void
);
96
DBUS_PRIVATE_EXPORT
97
dbus_bool_t
_dbus_user_database_lock_system
(
void
) _DBUS_GNUC_WARN_UNUSED_RESULT;
98
DBUS_PRIVATE_EXPORT
99
void
_dbus_user_database_unlock_system
(
void
);
100
void
_dbus_user_database_flush_system
(
void
);
101
102
dbus_bool_t
_dbus_get_user_id
(const
DBusString
*username,
103
dbus_uid_t
*uid);
104
dbus_bool_t
_dbus_get_group_id
(const
DBusString
*group_name,
105
dbus_gid_t
*gid);
106
DBUS_PRIVATE_EXPORT
107
dbus_bool_t
_dbus_get_user_id_and_primary_group
(const
DBusString
*username,
108
dbus_uid_t
*uid_p,
109
dbus_gid_t
*gid_p);
110
dbus_bool_t
_dbus_credentials_from_uid (
dbus_uid_t
user_id,
111
DBusCredentials
*credentials);
112
dbus_bool_t
_dbus_groups_from_uid
(
dbus_uid_t
uid,
113
dbus_gid_t
**group_ids,
114
int
*n_group_ids);
115
DBUS_PRIVATE_EXPORT
116
dbus_bool_t
_dbus_is_console_user
(
dbus_uid_t
uid,
117
DBusError
*error);
118
119
DBUS_PRIVATE_EXPORT
120
dbus_bool_t
_dbus_is_a_number
(const
DBusString
*str,
121
unsigned
long
*num);
122
123
DBUS_PRIVATE_EXPORT
124
dbus_bool_t
_dbus_username_from_current_process
(const
DBusString
**username);
125
DBUS_PRIVATE_EXPORT
126
dbus_bool_t
_dbus_homedir_from_current_process
(const
DBusString
**homedir);
127
dbus_bool_t
_dbus_homedir_from_username
(const
DBusString
*username,
128
DBusString
*homedir);
129
130
dbus_bool_t
_dbus_homedir_from_uid
(
dbus_uid_t
uid,
131
DBusString
*homedir);
132
133
DBUS_END_DECLS
134
135
#endif
/* DBUS_USERDB_H */
Generated by
1.8.3.1