25 #ifndef DBUS_SYSDEPS_UNIX_H
26 #define DBUS_SYSDEPS_UNIX_H
28 #include <dbus/dbus-sysdeps.h>
31 #error "Don't include this on Windows"
87 const char *launchd_env_var,
#define DBUS_BEGIN_DECLS
Macro used prior to declaring functions in the D-Bus header files.
int _dbus_write(int fd, const DBusString *buffer, int start, int len)
Thin wrapper around the write() system call that writes a part of a DBusString and handles EINTR for ...
dbus_gid_t primary_gid
GID.
int _dbus_dup(int fd, DBusError *error)
Duplicates a file descriptor.
char * groupname
Group name.
dbus_bool_t _dbus_parse_uid(const DBusString *uid_str, dbus_uid_t *uid)
Gets a UID from a UID string.
dbus_bool_t _dbus_user_info_fill(DBusUserInfo *info, const DBusString *username, DBusError *error)
Gets user info for the given username.
dbus_gid_t * group_ids
Groups IDs, including above primary group.
dbus_bool_t _dbus_lookup_launchd_socket(DBusString *socket_path, const char *launchd_env_var, DBusError *error)
quries launchd for a specific env var which holds the socket path.
void _dbus_close_all(void)
Closes all file descriptors except the first three (i.e.
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.
int n_group_ids
Size of group IDs array.
dbus_bool_t _dbus_group_info_fill_gid(DBusGroupInfo *info, dbus_gid_t gid, DBusError *error)
Initializes the given DBusGroupInfo struct with information about the given group ID...
void _dbus_group_info_free(DBusGroupInfo *info)
Frees the members of info (but not info itself).
void _dbus_user_info_free(DBusUserInfo *info)
Frees the members of info (but not info itself)
Object representing an exception.
dbus_bool_t _dbus_close(int fd, DBusError *error)
Closes a file descriptor.
int _dbus_connect_exec(const char *path, char *const argv[], DBusError *error)
Creates a UNIX domain socket and connects it to the specified process to execute. ...
dbus_bool_t _dbus_group_info_fill(DBusGroupInfo *info, const DBusString *groupname, DBusError *error)
Initializes the given DBusGroupInfo struct with information about the given group name...
char * homedir
Home directory.
dbus_uid_t _dbus_getuid(void)
Gets our UID.
Information about a UNIX group.
dbus_bool_t _dbus_user_info_fill_uid(DBusUserInfo *info, dbus_uid_t uid, DBusError *error)
Gets user info for the given user ID.
int _dbus_write_two(int fd, const DBusString *buffer1, int start1, int len1, const DBusString *buffer2, int start2, int len2)
Like _dbus_write() but will use writev() if possible to write both buffers in sequence.
dbus_uid_t _dbus_geteuid(void)
Gets our effective UID.
unsigned long dbus_gid_t
A group ID.
unsigned long dbus_uid_t
A user ID.
int _dbus_connect_unix_socket(const char *path, dbus_bool_t abstract, DBusError *error)
Creates a socket and connects it to the UNIX domain socket at the given path.
int _dbus_read(int fd, DBusString *buffer, int count)
Thin wrapper around the read() system call that appends the data it reads to the DBusString buffer...
int _dbus_listen_unix_socket(const char *path, dbus_bool_t abstract, DBusError *error)
Creates a socket and binds it to the given path, then listens on the socket.
int _dbus_listen_systemd_sockets(int **fds, DBusError *error)
Acquires one or more sockets passed in from systemd.
Information about a UNIX user.
#define DBUS_END_DECLS
Macro used after declaring functions in the D-Bus header files.