(linenum→info "unix/slp.c:2238")

dbus/1.0.2/bus/bus.h

    1: /* -*- mode: C; c-file-style: "gnu" -*- */
    2: /* bus.h  message bus context object
    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   21:  *
   22:  */
   23: 
   24: #ifndef BUS_BUS_H
   25: #define BUS_BUS_H
   26: 
   27: #include <config.h>
   28: 
   29: #include <dbus/dbus.h>
   30: #include <dbus/dbus-string.h>
   31: #include <dbus/dbus-mainloop.h>
   32: #include <dbus/dbus-userdb.h>
   33: 
   34: typedef struct BusActivation    BusActivation;
   35: typedef struct BusConnections   BusConnections;
   36: typedef struct BusContext       BusContext;
   37: typedef struct BusPolicy        BusPolicy;
   38: typedef struct BusClientPolicy  BusClientPolicy;
   39: typedef struct BusPolicyRule    BusPolicyRule;
   40: typedef struct BusRegistry      BusRegistry;
   41: typedef struct BusSELinuxID     BusSELinuxID;
   42: typedef struct BusService       BusService;
   43: typedef struct BusOwner         BusOwner;
   44: typedef struct BusTransaction   BusTransaction;
   45: typedef struct BusMatchmaker    BusMatchmaker;
   46: typedef struct BusMatchRule     BusMatchRule;
   47: 
   48: typedef struct
   49: {
   50:   long max_incoming_bytes;          /**< How many incoming message bytes for a single connection */
   51:   long max_outgoing_bytes;          /**< How many outgoing bytes can be queued for a single connection */
   52:   long max_message_size;            /**< Max size of a single message in bytes */
   53:   int activation_timeout;           /**< How long to wait for an activation to time out */
   54:   int auth_timeout;                 /**< How long to wait for an authentication to time out */
   55:   int max_completed_connections;    /**< Max number of authorized connections */
   56:   int max_incomplete_connections;   /**< Max number of incomplete connections */
   57:   int max_connections_per_user;     /**< Max number of connections auth'd as same user */
   58:   int max_pending_activations;      /**< Max number of pending activations for the entire bus */
   59:   int max_services_per_connection;  /**< Max number of owned services for a single connection */
   60:   int max_match_rules_per_connection; /**< Max number of match rules for a single connection */
   61:   int max_replies_per_connection;     /**< Max number of replies that can be pending for each connection */
   62:   int reply_timeout;                  /**< How long to wait before timing out a reply */
   63: } BusLimits;
   64: 
   65: typedef enum
   66: {
   67:   FORK_FOLLOW_CONFIG_FILE,
   68:   FORK_ALWAYS,
   69:   FORK_NEVER
   70: } ForceForkSetting;
   71: 
   72: BusContext*       bus_context_new                                (const DBusString *config_file,
   73:                                                                   ForceForkSetting  force_fork,
   74:                                                                   int               print_addr_fd,
   75:                                                                   int               print_pid_fd,
   76:                                                                   DBusError        *error);
   77: dbus_bool_t       bus_context_reload_config                      (BusContext       *context,
   78:                                                                   DBusError        *error);
   79: void              bus_context_shutdown                           (BusContext       *context);
   80: BusContext*       bus_context_ref                                (BusContext       *context);
   81: void              bus_context_unref                              (BusContext       *context);
   82: const char*       bus_context_get_type                           (BusContext       *context);
   83: const char*       bus_context_get_address                        (BusContext       *context);
   84: BusRegistry*      bus_context_get_registry                       (BusContext       *context);
   85: BusConnections*   bus_context_get_connections                    (BusContext       *context);
   86: BusActivation*    bus_context_get_activation                     (BusContext       *context);
   87: BusMatchmaker*    bus_context_get_matchmaker                     (BusContext       *context);
   88: DBusLoop*         bus_context_get_loop                           (BusContext       *context);
   89: DBusUserDatabase* bus_context_get_user_database                  (BusContext       *context);
   90: 
   91: dbus_bool_t       bus_context_allow_user                         (BusContext       *context,
   92:                                                                   unsigned long     uid);
   93: BusPolicy*        bus_context_get_policy                         (BusContext       *context);
   94: 
   95: BusClientPolicy*  bus_context_create_client_policy               (BusContext       *context,
   96:                                                                   DBusConnection   *connection,
   97:                                                                   DBusError        *error);
   98: int               bus_context_get_activation_timeout             (BusContext       *context);
   99: int               bus_context_get_auth_timeout                   (BusContext       *context);
  100: int               bus_context_get_max_completed_connections      (BusContext       *context);
  101: int               bus_context_get_max_incomplete_connections     (BusContext       *context);
  102: int               bus_context_get_max_connections_per_user       (BusContext       *context);
  103: int               bus_context_get_max_pending_activations        (BusContext       *context);
  104: int               bus_context_get_max_services_per_connection    (BusContext       *context);
  105: int               bus_context_get_max_match_rules_per_connection (BusContext       *context);
  106: int               bus_context_get_max_replies_per_connection     (BusContext       *context);
  107: int               bus_context_get_reply_timeout                  (BusContext       *context);
  108: dbus_bool_t       bus_context_check_security_policy              (BusContext       *context,
  109:                                                                   BusTransaction   *transaction,
  110:                                                                   DBusConnection   *sender,
  111:                                                                   DBusConnection   *addressed_recipient,
  112:                                                                   DBusConnection   *proposed_recipient,
  113:                                                                   DBusMessage      *message,
  114:                                                                   DBusError        *error);
  115: 
  116: #endif /* BUS_BUS_H */
Syntax (Markdown)