D-Bus
1.12.16
Main Page
Related Pages
Modules
Data Structures
Files
File List
dbus
dbus-sysdeps-unix.h
1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2
/* dbus-sysdeps-unix.h UNIX-specific wrappers around system/libc features (internal to D-Bus implementation)
3
*
4
* Copyright (C) 2002, 2003, 2006 Red Hat, Inc.
5
* Copyright (C) 2003 CodeFactory AB
6
*
7
* Licensed under the Academic Free License version 2.1
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
*
23
*/
24
25
#ifndef DBUS_SYSDEPS_UNIX_H
26
#define DBUS_SYSDEPS_UNIX_H
27
28
#include <dbus/dbus-sysdeps.h>
29
30
#ifdef DBUS_WIN
31
#error "Don't include this on Windows"
32
#endif
33
34
DBUS_BEGIN_DECLS
35
43
DBUS_PRIVATE_EXPORT
44
dbus_bool_t
45
_dbus_close
(
int
fd,
46
DBusError
*error);
47
DBUS_PRIVATE_EXPORT
48
int
_dbus_dup
(
int
fd,
49
DBusError
*error);
50
DBUS_PRIVATE_EXPORT
51
int
52
_dbus_read
(
int
fd,
53
DBusString
*buffer,
54
int
count);
55
int
56
_dbus_write
(
int
fd,
57
const
DBusString
*buffer,
58
int
start,
59
int
len);
60
int
61
_dbus_write_two
(
int
fd,
62
const
DBusString
*buffer1,
63
int
start1,
64
int
len1,
65
const
DBusString
*buffer2,
66
int
start2,
67
int
len2);
68
69
int
_dbus_connect_unix_socket
(
const
char
*path,
70
dbus_bool_t
abstract
,
71
DBusError
*error);
72
int
_dbus_listen_unix_socket
(
const
char
*path,
73
dbus_bool_t
abstract
,
74
DBusError
*error);
75
76
int
_dbus_connect_exec
(
const
char
*path,
77
char
*
const
argv[],
78
DBusError
*error);
79
80
int
_dbus_listen_systemd_sockets
(
DBusSocket
**fd,
81
DBusError
*error);
82
83
dbus_bool_t
_dbus_read_credentials (
int
client_fd,
84
DBusCredentials
*credentials,
85
DBusError
*error);
86
dbus_bool_t
_dbus_send_credentials (
int
server_fd,
87
DBusError
*error);
88
89
dbus_bool_t
_dbus_lookup_launchd_socket
(
DBusString
*socket_path,
90
const
char
*launchd_env_var,
91
DBusError
*error);
92
93
DBUS_PRIVATE_EXPORT
94
dbus_bool_t
_dbus_lookup_user_bus (
dbus_bool_t
*supported,
95
DBusString
*address,
96
DBusError
*error);
97
99
typedef
struct
DBusUserInfo
DBusUserInfo
;
101
typedef
struct
DBusGroupInfo
DBusGroupInfo
;
102
106
struct
DBusUserInfo
107
{
108
dbus_uid_t
uid
;
109
dbus_gid_t
primary_gid
;
110
dbus_gid_t
*
group_ids
;
111
int
n_group_ids
;
112
char
*
username
;
113
char
*
homedir
;
114
};
115
119
struct
DBusGroupInfo
120
{
121
dbus_gid_t
gid
;
122
char
*
groupname
;
123
};
124
125
dbus_bool_t
_dbus_user_info_fill
(
DBusUserInfo
*info,
126
const
DBusString
*username,
127
DBusError
*error);
128
dbus_bool_t
_dbus_user_info_fill_uid
(
DBusUserInfo
*info,
129
dbus_uid_t
uid,
130
DBusError
*error);
131
void
_dbus_user_info_free
(
DBusUserInfo
*info);
132
133
dbus_bool_t
_dbus_group_info_fill
(
DBusGroupInfo
*info,
134
const
DBusString
*groupname,
135
DBusError
*error);
136
dbus_bool_t
_dbus_group_info_fill_gid
(
DBusGroupInfo
*info,
137
dbus_gid_t
gid,
138
DBusError
*error);
139
void
_dbus_group_info_free
(
DBusGroupInfo
*info);
140
141
DBUS_PRIVATE_EXPORT
142
dbus_uid_t
_dbus_geteuid
(
void
);
143
144
dbus_bool_t
_dbus_parse_uid
(
const
DBusString
*uid_str,
145
dbus_uid_t
*uid);
146
147
DBUS_PRIVATE_EXPORT
148
void
_dbus_close_all
(
void
);
149
150
dbus_bool_t
_dbus_append_address_from_socket
(
DBusSocket
fd,
151
DBusString
*address,
152
DBusError
*error);
153
154
DBUS_PRIVATE_EXPORT
155
void
_dbus_fd_set_close_on_exec
(
int
fd);
156
157
typedef
enum
158
{
159
DBUS_FORCE_STDIN_NULL = (1 << 0),
160
DBUS_FORCE_STDOUT_NULL = (1 << 1),
161
DBUS_FORCE_STDERR_NULL = (1 << 2)
162
} DBusEnsureStandardFdsFlags;
163
164
DBUS_PRIVATE_EXPORT
165
dbus_bool_t
_dbus_ensure_standard_fds
(DBusEnsureStandardFdsFlags flags,
166
const
char
**error_str_p);
167
169
typedef
void (*
DBusSignalHandler
) (
int
sig);
170
171
void
_dbus_set_signal_handler
(
int
sig,
172
DBusSignalHandler
handler);
173
176
DBUS_END_DECLS
177
178
#endif
/* DBUS_SYSDEPS_UNIX_H */
Generated by
1.8.3.1