X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bus%2Fbus.h;h=2d8728ee768aa6300b621f6d9beeb17f9d41dedb;hb=05902801b49789f37426754fc6b77f3665afe3b0;hp=44b943341853809cc5f953cd1d0f6933bf5042e4;hpb=a1df3040f29223eddaa3ace0fe018fcb28cddcd9;p=platform%2Fupstream%2Fdbus.git diff --git a/bus/bus.h b/bus/bus.h index 44b9433..2d8728e 100644 --- a/bus/bus.h +++ b/bus/bus.h @@ -1,10 +1,10 @@ -/* -*- mode: C; c-file-style: "gnu" -*- */ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* bus.h message bus context object * * Copyright (C) 2003 Red Hat, Inc. * - * Licensed under the Academic Free License version 2.0 - * + * Licensed under the Academic Free License version 2.1 + * * 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 2 of the License, or @@ -14,22 +14,21 @@ * 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, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ #ifndef BUS_BUS_H #define BUS_BUS_H -#include - #include #include #include -#include +#include +#include typedef struct BusActivation BusActivation; typedef struct BusConnections BusConnections; @@ -38,7 +37,9 @@ typedef struct BusPolicy BusPolicy; typedef struct BusClientPolicy BusClientPolicy; typedef struct BusPolicyRule BusPolicyRule; typedef struct BusRegistry BusRegistry; +typedef struct BusSELinuxID BusSELinuxID; typedef struct BusService BusService; +typedef struct BusOwner BusOwner; typedef struct BusTransaction BusTransaction; typedef struct BusMatchmaker BusMatchmaker; typedef struct BusMatchRule BusMatchRule; @@ -46,8 +47,11 @@ typedef struct BusMatchRule BusMatchRule; typedef struct { long max_incoming_bytes; /**< How many incoming message bytes for a single connection */ + long max_incoming_unix_fds; /**< How many incoming message unix fds for a single connection */ long max_outgoing_bytes; /**< How many outgoing bytes can be queued for a single connection */ + long max_outgoing_unix_fds; /**< How many outgoing unix fds can be queued for a single connection */ long max_message_size; /**< Max size of a single message in bytes */ + long max_message_unix_fds; /**< Max number of unix fds of a single message*/ int activation_timeout; /**< How long to wait for an activation to time out */ int auth_timeout; /**< How long to wait for an authentication to time out */ int max_completed_connections; /**< Max number of authorized connections */ @@ -60,24 +64,43 @@ typedef struct int reply_timeout; /**< How long to wait before timing out a reply */ } BusLimits; +typedef enum +{ + BUS_CONTEXT_FLAG_NONE = 0, + BUS_CONTEXT_FLAG_FORK_ALWAYS = (1 << 1), + BUS_CONTEXT_FLAG_FORK_NEVER = (1 << 2), + BUS_CONTEXT_FLAG_WRITE_PID_FILE = (1 << 3), + BUS_CONTEXT_FLAG_SYSTEMD_ACTIVATION = (1 << 4) +} BusContextFlags; + BusContext* bus_context_new (const DBusString *config_file, - dbus_bool_t force_fork, - int print_addr_fd, - int print_pid_fd, + BusContextFlags flags, + DBusPipe *print_addr_pipe, + DBusPipe *print_pid_pipe, + const DBusString *address, DBusError *error); +dbus_bool_t bus_context_reload_config (BusContext *context, + DBusError *error); void bus_context_shutdown (BusContext *context); BusContext* bus_context_ref (BusContext *context); void bus_context_unref (BusContext *context); +dbus_bool_t bus_context_get_id (BusContext *context, + DBusString *uuid); const char* bus_context_get_type (BusContext *context); const char* bus_context_get_address (BusContext *context); +const char* bus_context_get_servicehelper (BusContext *context); +dbus_bool_t bus_context_get_systemd_activation (BusContext *context); BusRegistry* bus_context_get_registry (BusContext *context); BusConnections* bus_context_get_connections (BusContext *context); BusActivation* bus_context_get_activation (BusContext *context); BusMatchmaker* bus_context_get_matchmaker (BusContext *context); DBusLoop* bus_context_get_loop (BusContext *context); -DBusUserDatabase* bus_context_get_user_database (BusContext *context); -dbus_bool_t bus_context_allow_user (BusContext *context, +dbus_bool_t bus_context_allow_unix_user (BusContext *context, unsigned long uid); +dbus_bool_t bus_context_allow_windows_user (BusContext *context, + const char *windows_sid); +BusPolicy* bus_context_get_policy (BusContext *context); + BusClientPolicy* bus_context_create_client_policy (BusContext *context, DBusConnection *connection, DBusError *error); @@ -91,6 +114,15 @@ int bus_context_get_max_services_per_connection (BusContext int bus_context_get_max_match_rules_per_connection (BusContext *context); int bus_context_get_max_replies_per_connection (BusContext *context); int bus_context_get_reply_timeout (BusContext *context); + +#ifdef ENABLE_KDBUS_TRANSPORT +dbus_bool_t bus_context_is_kdbus (BusContext *context); +#endif + +void bus_context_log (BusContext *context, + DBusSystemLogSeverity severity, + const char *msg, + ...); dbus_bool_t bus_context_check_security_policy (BusContext *context, BusTransaction *transaction, DBusConnection *sender, @@ -99,5 +131,4 @@ dbus_bool_t bus_context_check_security_policy (BusContext DBusMessage *message, DBusError *error); - #endif /* BUS_BUS_H */