chiark / gitweb /
build-sys: re-add old symbols for abi compat
[elogind.git] / src / bus-proxyd / bus-xml-policy.h
index 762cb663a09891c6d07bcdf3372819bf131be856..f2ec1bbea40a9c43917b06be87758d6d9955ef12 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "list.h"
 #include "hashmap.h"
+#include "set.h"
 
 typedef enum PolicyItemType {
         _POLICY_ITEM_TYPE_UNSET = 0,
@@ -77,6 +78,7 @@ typedef struct Policy {
 } Policy;
 
 typedef struct SharedPolicy {
+        char **configuration;
         pthread_mutex_t lock;
         pthread_rwlock_t rwlock;
         Policy buffer;
@@ -90,24 +92,43 @@ void policy_free(Policy *p);
 
 bool policy_check_own(Policy *p, uid_t uid, gid_t gid, const char *name);
 bool policy_check_hello(Policy *p, uid_t uid, gid_t gid);
+bool policy_check_one_recv(Policy *p,
+                           uid_t uid,
+                           gid_t gid,
+                           int message_type,
+                           const char *name,
+                           const char *path,
+                           const char *interface,
+                           const char *member);
 bool policy_check_recv(Policy *p,
                        uid_t uid,
                        gid_t gid,
                        int message_type,
-                       const char *name,
+                       Set *names,
+                       char **namesv,
                        const char *path,
                        const char *interface,
                        const char *member,
                        bool dbus_to_kernel);
+bool policy_check_one_send(Policy *p,
+                           uid_t uid,
+                           gid_t gid,
+                           int message_type,
+                           const char *name,
+                           const char *path,
+                           const char *interface,
+                           const char *member);
 bool policy_check_send(Policy *p,
                        uid_t uid,
                        gid_t gid,
                        int message_type,
-                       const char *name,
+                       Set *names,
+                       char **namesv,
                        const char *path,
                        const char *interface,
                        const char *member,
-                       bool dbus_to_kernel);
+                       bool dbus_to_kernel,
+                       char **out_used_name);
 
 void policy_dump(Policy *p);
 
@@ -122,7 +143,7 @@ PolicyItemClass policy_item_class_from_string(const char *s) _pure_;
 int shared_policy_new(SharedPolicy **out);
 SharedPolicy *shared_policy_free(SharedPolicy *sp);
 
-int shared_policy_reload(SharedPolicy *sp, char **configuration);
+int shared_policy_reload(SharedPolicy *sp);
 int shared_policy_preload(SharedPolicy *sp, char **configuration);
 Policy *shared_policy_acquire(SharedPolicy *sp);
 void shared_policy_release(SharedPolicy *sp, Policy *p);