amb: started working on setting properies to AMB.
[profile/ivi/murphy.git] / systemd-201-src-rpm-shared-bus-lib-fedora-18.patch
1 *** SPECS/systemd.spec.orig     2013-08-30 02:02:28.523413573 +0300
2 --- SPECS/systemd.spec  2013-08-30 02:04:26.248492809 +0300
3 ***************
4 *** 103,108 ****
5 --- 103,111 ----
6   # kernel-install patch for grubby, drop if grubby is obsolete
7   Patch1000:      kernel-install-grubby.patch
8   
9 + Patch10000: 0001-systemd-bus-create-a-shared-library-for-public-consu.patch
10 + Patch10001: 0001-systemd-bus-export-additional-forgotten-symbols.patch
11
12   %global num_patches %{lua: c=0; for i,p in ipairs(patches) do c=c+1; end; print(c);}
13   
14   BuildRequires:  libcap-devel
15 ***************
16 *** 209,214 ****
17 --- 212,233 ----
18   %description devel
19   Development headers and auxiliary files for developing applications for systemd.
20   
21 + %package libs-dbus
22 + Summary:        systemd D-Bus client library
23 + License:        LGPLV2+
24 + Requires:       systemd-libs = %{version}
25
26 + %description libs-dbus
27 + D-Bus library from the systemd sources.
28
29 + %package libs-dbus-devel
30 + Summary:        Development headers for systemd-libs-dbus
31 + License:        LGPLv2+
32 + Requires:       systemd-devel = %{version}
33
34 + %description libs-dbus-devel
35 + Development files for the D-Bus library from the systemd sources.
36
37   %package sysv
38   Summary:        SysV tools for systemd
39   License:        LGPLv2+
40 ***************
41 *** 809,814 ****
42 --- 828,844 ----
43   %dir %{_datadir}/gtk-doc/html/libudev
44   %{_datadir}/gtk-doc/html/libudev/*
45   
46 + %files libs-dbus
47 + %{_libdir}/libsystemd-bus.so.0.0.0
48 + %{_libdir}/libsystemd-bus.so.0
49
50 + %files libs-dbus-devel
51 + %{_includedir}/systemd/sd-bus.h
52 + %{_includedir}/systemd/sd-bus-protocol.h
53 + %{_includedir}/systemd/bus
54 + %{_libdir}/libsystemd-bus.so
55 + %{_libdir}/pkgconfig/libsystemd-bus.pc
56
57   %files sysv
58   %{_bindir}/systemd-sysv-convert
59   
60 *** /dev/null   2013-07-09 15:36:51.773521412 +0300
61 --- SOURCES/0001-systemd-bus-create-a-shared-library-for-public-consu.patch     2013-08-06 23:10:20.960714606 +0300
62 ***************
63 *** 0 ****
64 --- 1,1257 ----
65 + From 7a53ccec1eee76801a3104cd8f0ac98289716ffa Mon Sep 17 00:00:00 2001
66 + From: Fedora systemd team <systemd-maint@redhat.com>
67 + Date: Tue, 6 Aug 2013 21:38:33 +0300
68 + Subject: [PATCH 1/1] systemd-bus: create a shared library for public
69 +  consumption.
70
71 + For testing systemd-bus as a libdbus replacement, create a shared
72 + library out of it. Note that there might be still some sd_bus_*
73 + symbols that do not get properly exported because of missing linker
74 + version script entries.
75
76 + Note also, that as a quick fix the symbols referenced by the various
77 + test-* test cases have been marked public and exported from the library.
78 + This should be just a temporary workaround and we need something more
79 + civilized instead.
80 + ---
81 +  Makefile.am                             |  26 ++++-
82 +  src/libsystemd-bus/bus-control.c        |  14 +--
83 +  src/libsystemd-bus/bus-error.c          |  15 +--
84 +  src/libsystemd-bus/bus-internal.c       |  15 ++-
85 +  src/libsystemd-bus/bus-match.c          |  21 ++--
86 +  src/libsystemd-bus/bus-message.c        |  84 ++++++++--------
87 +  src/libsystemd-bus/bus-signature.c      |   9 +-
88 +  src/libsystemd-bus/libsystemd-bus.pc.in |  19 ++++
89 +  src/libsystemd-bus/libsystemd-bus.sym   | 163 ++++++++++++++++++++++++++++++++
90 +  src/libsystemd-bus/sd-bus.c             |  78 +++++++--------
91 +  10 files changed, 335 insertions(+), 109 deletions(-)
92 +  create mode 100644 src/libsystemd-bus/libsystemd-bus.pc.in
93 +  create mode 100644 src/libsystemd-bus/libsystemd-bus.sym
94
95 + diff --git a/Makefile.am b/Makefile.am
96 + index c7b5a4a..faad661 100644
97 + --- a/Makefile.am
98 + +++ b/Makefile.am
99 + @@ -55,6 +55,10 @@ LIBSYSTEMD_JOURNAL_CURRENT=9
100 +  LIBSYSTEMD_JOURNAL_REVISION=0
101 +  LIBSYSTEMD_JOURNAL_AGE=9
102 +  
103 + +LIBSYSTEMD_BUS_CURRENT=0
104 + +LIBSYSTEMD_BUS_REVISION=0
105 + +LIBSYSTEMD_BUS_AGE=0
106 + +
107 +  # Dirs of external packages
108 +  dbuspolicydir=@dbuspolicydir@
109 +  dbussessionservicedir=@dbussessionservicedir@
110 + @@ -1717,7 +1721,27 @@ libsystemd_bus_la_LIBADD =  \
111 +       libsystemd-shared.la \
112 +       libsystemd-daemon.la
113 +  
114 + -noinst_LTLIBRARIES += \
115 + +libsystemd_bus_la_LDFLAGS = \
116 + +     $(AM_LDFLAGS) \
117 + +     -version-info $(LIBSYSTEMD_BUS_CURRENT):$(LIBSYSTEMD_BUS_REVISION):$(LIBSYSTEMD_BUS_AGE) \
118 + +     -Wl,--version-script=$(top_srcdir)/src/libsystemd-bus/libsystemd-bus.sym
119 + +
120 + +pkginclude_HEADERS += \
121 + +     src/systemd/sd-bus.h \
122 + +     src/systemd/sd-bus-protocol.h
123 + +
124 + +libsystemd_bus_la_HEADERS = \
125 + +     src/libsystemd-bus/bus-message.h \
126 + +     src/shared/macro.h \
127 + +     src/shared/log.h
128 + +
129 + +libsystemd_bus_ladir = \
130 + +     $(includedir)/systemd/bus
131 + +
132 + +pkgconfiglib_DATA += \
133 + +     src/libsystemd-bus/libsystemd-bus.pc
134 + +
135 + +lib_LTLIBRARIES += \
136 +       libsystemd-bus.la
137 +  
138 +  noinst_tests += \
139 + diff --git a/src/libsystemd-bus/bus-control.c b/src/libsystemd-bus/bus-control.c
140 + index a0abccf..2795cb4 100644
141 + --- a/src/libsystemd-bus/bus-control.c
142 + +++ b/src/libsystemd-bus/bus-control.c
143 + @@ -29,7 +29,7 @@
144 +  #include "bus-message.h"
145 +  #include "bus-control.h"
146 +  
147 + -int sd_bus_get_unique_name(sd_bus *bus, const char **unique) {
148 + +_public_ int sd_bus_get_unique_name(sd_bus *bus, const char **unique) {
149 +          int r;
150 +  
151 +          if (!bus)
152 + @@ -45,7 +45,7 @@ int sd_bus_get_unique_name(sd_bus *bus, const char **unique) {
153 +          return 0;
154 +  }
155 +  
156 + -int sd_bus_request_name(sd_bus *bus, const char *name, int flags) {
157 + +_public_ int sd_bus_request_name(sd_bus *bus, const char *name, int flags) {
158 +          _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
159 +          uint32_t ret;
160 +          int r;
161 + @@ -76,7 +76,7 @@ int sd_bus_request_name(sd_bus *bus, const char *name, int flags) {
162 +          return ret;
163 +  }
164 +  
165 + -int sd_bus_release_name(sd_bus *bus, const char *name) {
166 + +_public_ int sd_bus_release_name(sd_bus *bus, const char *name) {
167 +          _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
168 +          uint32_t ret;
169 +          int r;
170 + @@ -106,7 +106,7 @@ int sd_bus_release_name(sd_bus *bus, const char *name) {
171 +          return ret;
172 +  }
173 +  
174 + -int sd_bus_list_names(sd_bus *bus, char ***l) {
175 + +_public_ int sd_bus_list_names(sd_bus *bus, char ***l) {
176 +          _cleanup_bus_message_unref_ sd_bus_message *reply1 = NULL, *reply2 = NULL;
177 +          char **x = NULL;
178 +          int r;
179 + @@ -156,7 +156,7 @@ int sd_bus_list_names(sd_bus *bus, char ***l) {
180 +          return 0;
181 +  }
182 +  
183 + -int sd_bus_get_owner(sd_bus *bus, const char *name, char **owner) {
184 + +_public_ int sd_bus_get_owner(sd_bus *bus, const char *name, char **owner) {
185 +          _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
186 +          const char *found;
187 +          int r;
188 + @@ -196,7 +196,7 @@ int sd_bus_get_owner(sd_bus *bus, const char *name, char **owner) {
189 +          return 0;
190 +  }
191 +  
192 + -int sd_bus_get_owner_uid(sd_bus *bus, const char *name, uid_t *uid) {
193 + +_public_ int sd_bus_get_owner_uid(sd_bus *bus, const char *name, uid_t *uid) {
194 +          _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
195 +          uint32_t u;
196 +          int r;
197 + @@ -229,7 +229,7 @@ int sd_bus_get_owner_uid(sd_bus *bus, const char *name, uid_t *uid) {
198 +          return 0;
199 +  }
200 +  
201 + -int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid) {
202 + +_public_ int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid) {
203 +          _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
204 +          uint32_t u;
205 +          int r;
206 + diff --git a/src/libsystemd-bus/bus-error.c b/src/libsystemd-bus/bus-error.c
207 + index 5faa173..145a378 100644
208 + --- a/src/libsystemd-bus/bus-error.c
209 + +++ b/src/libsystemd-bus/bus-error.c
210 + @@ -38,7 +38,7 @@ bool bus_error_is_dirty(sd_bus_error *e) {
211 +          return e->name || e->message || e->need_free;
212 +  }
213 +  
214 + -void sd_bus_error_free(sd_bus_error *e) {
215 + +_public_ void sd_bus_error_free(sd_bus_error *e) {
216 +          if (!e)
217 +                  return;
218 +  
219 + @@ -51,7 +51,7 @@ void sd_bus_error_free(sd_bus_error *e) {
220 +          e->need_free = false;
221 +  }
222 +  
223 + -int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...) {
224 + +_public_ int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...) {
225 +          char *n, *m = NULL;
226 +          va_list ap;
227 +          int r;
228 + @@ -85,7 +85,7 @@ int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...)
229 +          return 0;
230 +  }
231 +  
232 + -int sd_bus_error_copy(sd_bus_error *dest, const sd_bus_error *e) {
233 + +_public_ int sd_bus_error_copy(sd_bus_error *dest, const sd_bus_error *e) {
234 +          char *x, *y = NULL;
235 +  
236 +          if (!dest)
237 + @@ -113,7 +113,7 @@ int sd_bus_error_copy(sd_bus_error *dest, const sd_bus_error *e) {
238 +          return 0;
239 +  }
240 +  
241 + -void sd_bus_error_set_const(sd_bus_error *e, const char *name, const char *message) {
242 + +_public_ void sd_bus_error_set_const(sd_bus_error *e, const char *name, const char *message) {
243 +          if (!e)
244 +                  return;
245 +          if (bus_error_is_dirty(e))
246 + @@ -124,14 +124,14 @@ void sd_bus_error_set_const(sd_bus_error *e, const char *name, const char *messa
247 +          e->need_free = false;
248 +  }
249 +  
250 + -int sd_bus_error_is_set(const sd_bus_error *e) {
251 + +_public_ int sd_bus_error_is_set(const sd_bus_error *e) {
252 +          if (!e)
253 +                  return 0;
254 +  
255 +          return !!e->name;
256 +  }
257 +  
258 + -int sd_bus_error_has_name(const sd_bus_error *e, const char *name) {
259 + +_public_ int sd_bus_error_has_name(const sd_bus_error *e, const char *name) {
260 +          if (!e)
261 +                  return 0;
262 +  
263 + @@ -169,7 +169,8 @@ int bus_error_from_errno(sd_bus_error *e, int error) {
264 +          return error;
265 +  }
266 +  
267 + -const char *bus_error_message(const sd_bus_error *e, int error) {
268 + +/* XXX TODO: for test-* */
269 + +_public_ const char *bus_error_message(const sd_bus_error *e, int error) {
270 +          if (e && e->message)
271 +                  return e->message;
272 +  
273 + diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c
274 + index 317f6a8..ec66a11 100644
275 + --- a/src/libsystemd-bus/bus-internal.c
276 + +++ b/src/libsystemd-bus/bus-internal.c
277 + @@ -101,7 +101,8 @@ bool interface_name_is_valid(const char *p) {
278 +          return true;
279 +  }
280 +  
281 + -bool service_name_is_valid(const char *p) {
282 + +/* XXX TODO: for busctl */
283 + +_public_ bool service_name_is_valid(const char *p) {
284 +          const char *q;
285 +          bool dot, found_dot, unique;
286 +  
287 + @@ -187,11 +188,13 @@ static bool complex_pattern_check(char c, const char *a, const char *b) {
288 +          }
289 +  }
290 +  
291 + -bool namespace_complex_pattern(const char *pattern, const char *value) {
292 + +/* XXX TODO: for test-* */
293 + +_public_ bool namespace_complex_pattern(const char *pattern, const char *value) {
294 +          return complex_pattern_check('.', pattern, value);
295 +  }
296 +  
297 + -bool path_complex_pattern(const char *pattern, const char *value) {
298 + +/* XXX TODO: for test-* */
299 + +_public_ bool path_complex_pattern(const char *pattern, const char *value) {
300 +          return complex_pattern_check('/', pattern, value);
301 +  }
302 +  
303 + @@ -207,11 +210,13 @@ static bool simple_pattern_check(char c, const char *a, const char *b) {
304 +          }
305 +  }
306 +  
307 + -bool namespace_simple_pattern(const char *pattern, const char *value) {
308 + +/* XXX TODO: for test-* */
309 + +_public_ bool namespace_simple_pattern(const char *pattern, const char *value) {
310 +          return simple_pattern_check('.', pattern, value);
311 +  }
312 +  
313 + -bool path_simple_pattern(const char *pattern, const char *value) {
314 + +/* XXX TODO: for test-* */
315 + +_public_ bool path_simple_pattern(const char *pattern, const char *value) {
316 +          return simple_pattern_check('/', pattern, value);
317 +  }
318 +  
319 + diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c
320 + index fed25c1..6907a5f 100644
321 + --- a/src/libsystemd-bus/bus-match.c
322 + +++ b/src/libsystemd-bus/bus-match.c
323 + @@ -196,7 +196,8 @@ static bool value_node_same(
324 +          }
325 +  }
326 +  
327 + -int bus_match_run(
328 + +/* XXX TODO: for test-* */
329 + +_public_ int bus_match_run(
330 +                  sd_bus *bus,
331 +                  struct bus_match_node *node,
332 +                  int ret,
333 + @@ -546,7 +547,8 @@ static int bus_match_find_leaf(
334 +          return 0;
335 +  }
336 +  
337 + -enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n) {
338 + +/* XXX TODO: for test-* */
339 + +_public_ enum bus_match_node_type bus_match_node_type_from_string(const char *k, size_t n) {
340 +          assert(k);
341 +  
342 +          if (n == 4 && memcmp(k, "type", 4) == 0)
343 + @@ -788,7 +790,8 @@ fail:
344 +          return r;
345 +  }
346 +  
347 + -int bus_match_add(
348 + +/* XXX TODO: for test-* */
349 + +_public_ int bus_match_add(
350 +                  struct bus_match_node *root,
351 +                  const char *match,
352 +                  sd_bus_message_handler_t callback,
353 + @@ -829,7 +832,8 @@ finish:
354 +          return r;
355 +  }
356 +  
357 + -int bus_match_remove(
358 + +/* XXX TODO: for test-* */
359 + +_public_ int bus_match_remove(
360 +                  struct bus_match_node *root,
361 +                  const char *match,
362 +                  sd_bus_message_handler_t callback,
363 + @@ -884,7 +888,8 @@ finish:
364 +          return r;
365 +  }
366 +  
367 + -void bus_match_free(struct bus_match_node *node) {
368 + +/* XXX TODO: for test-* */
369 + +_public_ void bus_match_free(struct bus_match_node *node) {
370 +          struct bus_match_node *c;
371 +  
372 +          if (!node)
373 + @@ -906,7 +911,8 @@ void bus_match_free(struct bus_match_node *node) {
374 +                  bus_match_node_free(node);
375 +  }
376 +  
377 + -const char* bus_match_node_type_to_string(enum bus_match_node_type t, char buf[], size_t l) {
378 + +/* XXX TODO: for test-* */
379 + +_public_ const char* bus_match_node_type_to_string(enum bus_match_node_type t, char buf[], size_t l) {
380 +          switch (t) {
381 +  
382 +          case BUS_MATCH_ROOT:
383 + @@ -956,7 +962,8 @@ const char* bus_match_node_type_to_string(enum bus_match_node_type t, char buf[]
384 +          }
385 +  }
386 +  
387 + -void bus_match_dump(struct bus_match_node *node, unsigned level) {
388 + +/* XXX TODO: for test-* */
389 + +_public_ void bus_match_dump(struct bus_match_node *node, unsigned level) {
390 +          struct bus_match_node *c;
391 +          _cleanup_free_ char *pfx = NULL;
392 +          char buf[32];
393 + diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c
394 + index 2d051e8..0e33faf 100644
395 + --- a/src/libsystemd-bus/bus-message.c
396 + +++ b/src/libsystemd-bus/bus-message.c
397 + @@ -225,7 +225,8 @@ static int message_append_field_uint32(sd_bus_message *m, uint8_t h, uint32_t x)
398 +          return 0;
399 +  }
400 +  
401 + -int bus_message_from_malloc(
402 + +/* XXX TODO: for test-* */
403 + +_public_ int bus_message_from_malloc(
404 +                  void *buffer,
405 +                  size_t length,
406 +                  int *fds,
407 + @@ -337,7 +338,7 @@ static sd_bus_message *message_new(sd_bus *bus, uint8_t type) {
408 +          return m;
409 +  }
410 +  
411 + -int sd_bus_message_new_signal(
412 + +_public_ int sd_bus_message_new_signal(
413 +                  sd_bus *bus,
414 +                  const char *path,
415 +                  const char *interface,
416 + @@ -382,7 +383,7 @@ fail:
417 +          return r;
418 +  }
419 +  
420 + -int sd_bus_message_new_method_call(
421 + +_public_ int sd_bus_message_new_method_call(
422 +                  sd_bus *bus,
423 +                  const char *destination,
424 +                  const char *path,
425 + @@ -480,7 +481,7 @@ fail:
426 +          return r;
427 +  }
428 +  
429 + -int sd_bus_message_new_method_return(
430 + +_public_ int sd_bus_message_new_method_return(
431 +                  sd_bus *bus,
432 +                  sd_bus_message *call,
433 +                  sd_bus_message **m) {
434 + @@ -488,7 +489,7 @@ int sd_bus_message_new_method_return(
435 +          return message_new_reply(bus, call, SD_BUS_MESSAGE_TYPE_METHOD_RETURN, m);
436 +  }
437 +  
438 + -int sd_bus_message_new_method_error(
439 + +_public_ int sd_bus_message_new_method_error(
440 +                  sd_bus *bus,
441 +                  sd_bus_message *call,
442 +                  const sd_bus_error *e,
443 + @@ -524,7 +525,7 @@ fail:
444 +          return r;
445 +  }
446 +  
447 + -sd_bus_message* sd_bus_message_ref(sd_bus_message *m) {
448 + +_public_ sd_bus_message* sd_bus_message_ref(sd_bus_message *m) {
449 +          if (!m)
450 +                  return NULL;
451 +  
452 + @@ -534,7 +535,7 @@ sd_bus_message* sd_bus_message_ref(sd_bus_message *m) {
453 +          return m;
454 +  }
455 +  
456 + -sd_bus_message* sd_bus_message_unref(sd_bus_message *m) {
457 + +_public_ sd_bus_message* sd_bus_message_unref(sd_bus_message *m) {
458 +          if (!m)
459 +                  return NULL;
460 +  
461 + @@ -547,7 +548,7 @@ sd_bus_message* sd_bus_message_unref(sd_bus_message *m) {
462 +          return NULL;
463 +  }
464 +  
465 + -int sd_bus_message_get_type(sd_bus_message *m, uint8_t *type) {
466 + +_public_ int sd_bus_message_get_type(sd_bus_message *m, uint8_t *type) {
467 +          if (!m)
468 +                  return -EINVAL;
469 +          if (!type)
470 + @@ -557,7 +558,7 @@ int sd_bus_message_get_type(sd_bus_message *m, uint8_t *type) {
471 +          return 0;
472 +  }
473 +  
474 + -int sd_bus_message_get_serial(sd_bus_message *m, uint64_t *serial) {
475 + +_public_ int sd_bus_message_get_serial(sd_bus_message *m, uint64_t *serial) {
476 +          if (!m)
477 +                  return -EINVAL;
478 +          if (!serial)
479 + @@ -569,7 +570,7 @@ int sd_bus_message_get_serial(sd_bus_message *m, uint64_t *serial) {
480 +          return 0;
481 +  }
482 +  
483 + -int sd_bus_message_get_reply_serial(sd_bus_message *m, uint64_t *serial) {
484 + +_public_ int sd_bus_message_get_reply_serial(sd_bus_message *m, uint64_t *serial) {
485 +          if (!m)
486 +                  return -EINVAL;
487 +          if (!serial)
488 + @@ -581,48 +582,48 @@ int sd_bus_message_get_reply_serial(sd_bus_message *m, uint64_t *serial) {
489 +          return 0;
490 +  }
491 +  
492 + -int sd_bus_message_get_no_reply(sd_bus_message *m) {
493 + +_public_ int sd_bus_message_get_no_reply(sd_bus_message *m) {
494 +          if (!m)
495 +                  return -EINVAL;
496 +  
497 +          return m->header->type == SD_BUS_MESSAGE_TYPE_METHOD_CALL ? !!(m->header->flags & SD_BUS_MESSAGE_NO_REPLY_EXPECTED) : 0;
498 +  }
499 +  
500 + -const char *sd_bus_message_get_path(sd_bus_message *m) {
501 + +_public_ const char *sd_bus_message_get_path(sd_bus_message *m) {
502 +          if (!m)
503 +                  return NULL;
504 +  
505 +          return m->path;
506 +  }
507 +  
508 + -const char *sd_bus_message_get_interface(sd_bus_message *m) {
509 + +_public_ const char *sd_bus_message_get_interface(sd_bus_message *m) {
510 +          if (!m)
511 +                  return NULL;
512 +  
513 +          return m->interface;
514 +  }
515 +  
516 + -const char *sd_bus_message_get_member(sd_bus_message *m) {
517 + +_public_ const char *sd_bus_message_get_member(sd_bus_message *m) {
518 +          if (!m)
519 +                  return NULL;
520 +  
521 +          return m->member;
522 +  }
523 + -const char *sd_bus_message_get_destination(sd_bus_message *m) {
524 + +_public_ const char *sd_bus_message_get_destination(sd_bus_message *m) {
525 +          if (!m)
526 +                  return NULL;
527 +  
528 +          return m->destination;
529 +  }
530 +  
531 + -const char *sd_bus_message_get_sender(sd_bus_message *m) {
532 + +_public_ const char *sd_bus_message_get_sender(sd_bus_message *m) {
533 +          if (!m)
534 +                  return NULL;
535 +  
536 +          return m->sender;
537 +  }
538 +  
539 + -const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m) {
540 + +_public_ const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m) {
541 +          if (!m)
542 +                  return NULL;
543 +  
544 + @@ -632,7 +633,7 @@ const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m) {
545 +          return &m->error;
546 +  }
547 +  
548 + -int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid) {
549 + +_public_ int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid) {
550 +          if (!m)
551 +                  return -EINVAL;
552 +          if (!m->uid_valid)
553 + @@ -642,7 +643,7 @@ int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid) {
554 +          return 0;
555 +  }
556 +  
557 + -int sd_bus_message_get_gid(sd_bus_message *m, gid_t *gid) {
558 + +_public_ int sd_bus_message_get_gid(sd_bus_message *m, gid_t *gid) {
559 +          if (!m)
560 +                  return -EINVAL;
561 +          if (!m->gid_valid)
562 + @@ -652,7 +653,7 @@ int sd_bus_message_get_gid(sd_bus_message *m, gid_t *gid) {
563 +          return 0;
564 +  }
565 +  
566 + -int sd_bus_message_get_pid(sd_bus_message *m, pid_t *pid) {
567 + +_public_ int sd_bus_message_get_pid(sd_bus_message *m, pid_t *pid) {
568 +          if (!m)
569 +                  return -EINVAL;
570 +          if (m->pid <= 0)
571 + @@ -662,7 +663,7 @@ int sd_bus_message_get_pid(sd_bus_message *m, pid_t *pid) {
572 +          return 0;
573 +  }
574 +  
575 + -int sd_bus_message_get_tid(sd_bus_message *m, pid_t *tid) {
576 + +_public_ int sd_bus_message_get_tid(sd_bus_message *m, pid_t *tid) {
577 +          if (!m)
578 +                  return -EINVAL;
579 +          if (m->tid <= 0)
580 + @@ -672,14 +673,14 @@ int sd_bus_message_get_tid(sd_bus_message *m, pid_t *tid) {
581 +          return 0;
582 +  }
583 +  
584 + -const char *sd_bus_message_get_label(sd_bus_message *m) {
585 + +_public_ const char *sd_bus_message_get_label(sd_bus_message *m) {
586 +          if (!m)
587 +                  return NULL;
588 +  
589 +          return m->label;
590 +  }
591 +  
592 + -int sd_bus_message_is_signal(sd_bus_message *m, const char *interface, const char *member) {
593 + +_public_ int sd_bus_message_is_signal(sd_bus_message *m, const char *interface, const char *member) {
594 +          if (!m)
595 +                  return -EINVAL;
596 +  
597 + @@ -695,7 +696,7 @@ int sd_bus_message_is_signal(sd_bus_message *m, const char *interface, const cha
598 +          return 1;
599 +  }
600 +  
601 + -int sd_bus_message_is_method_call(sd_bus_message *m, const char *interface, const char *member) {
602 + +_public_ int sd_bus_message_is_method_call(sd_bus_message *m, const char *interface, const char *member) {
603 +          if (!m)
604 +                  return -EINVAL;
605 +  
606 + @@ -711,7 +712,7 @@ int sd_bus_message_is_method_call(sd_bus_message *m, const char *interface, cons
607 +          return 1;
608 +  }
609 +  
610 + -int sd_bus_message_is_method_error(sd_bus_message *m, const char *name) {
611 + +_public_ int sd_bus_message_is_method_error(sd_bus_message *m, const char *name) {
612 +          if (!m)
613 +                  return -EINVAL;
614 +  
615 + @@ -724,7 +725,7 @@ int sd_bus_message_is_method_error(sd_bus_message *m, const char *name) {
616 +          return 1;
617 +  }
618 +  
619 + -int sd_bus_message_set_no_reply(sd_bus_message *m, int b) {
620 + +_public_ int sd_bus_message_set_no_reply(sd_bus_message *m, int b) {
621 +          if (!m)
622 +                  return -EINVAL;
623 +          if (m->sealed)
624 + @@ -937,7 +938,7 @@ fail:
625 +          return r;
626 +  }
627 +  
628 + -int sd_bus_message_append_basic(sd_bus_message *m, char type, const void *p) {
629 + +_public_ int sd_bus_message_append_basic(sd_bus_message *m, char type, const void *p) {
630 +          return message_append_basic(m, type, p, NULL);
631 +  }
632 +  
633 + @@ -1164,7 +1165,7 @@ static int bus_message_open_dict_entry(
634 +          return 0;
635 +  }
636 +  
637 + -int sd_bus_message_open_container(
638 + +_public_ int sd_bus_message_open_container(
639 +                  sd_bus_message *m,
640 +                  char type,
641 +                  const char *contents) {
642 + @@ -1220,7 +1221,7 @@ int sd_bus_message_open_container(
643 +          return 0;
644 +  }
645 +  
646 + -int sd_bus_message_close_container(sd_bus_message *m) {
647 + +_public_ int sd_bus_message_close_container(sd_bus_message *m) {
648 +          struct bus_container *c;
649 +  
650 +          if (!m)
651 + @@ -1400,7 +1401,7 @@ int bus_message_append_ap(
652 +          return 0;
653 +  }
654 +  
655 + -int sd_bus_message_append(sd_bus_message *m, const char *types, ...) {
656 + +_public_ int sd_bus_message_append(sd_bus_message *m, const char *types, ...) {
657 +          va_list ap;
658 +          int r;
659 +  
660 + @@ -1514,7 +1515,7 @@ static bool validate_object_path(const char *s, size_t l) {
661 +          return true;
662 +  }
663 +  
664 + -int sd_bus_message_read_basic(sd_bus_message *m, char type, void *p) {
665 + +_public_ int sd_bus_message_read_basic(sd_bus_message *m, char type, void *p) {
666 +          struct bus_container *c;
667 +          int r;
668 +          void *q;
669 + @@ -1843,7 +1844,7 @@ static int bus_message_enter_dict_entry(
670 +          return 1;
671 +  }
672 +  
673 + -int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *contents) {
674 + +_public_ int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *contents) {
675 +          struct bus_container *c, *w;
676 +          uint32_t *array_size = NULL;
677 +          char *signature;
678 + @@ -1916,7 +1917,7 @@ int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *con
679 +          return 1;
680 +  }
681 +  
682 + -int sd_bus_message_exit_container(sd_bus_message *m) {
683 + +_public_ int sd_bus_message_exit_container(sd_bus_message *m) {
684 +          struct bus_container *c;
685 +  
686 +          if (!m)
687 + @@ -1945,7 +1946,7 @@ int sd_bus_message_exit_container(sd_bus_message *m) {
688 +          return 1;
689 +  }
690 +  
691 + -int sd_bus_message_peek_type(sd_bus_message *m, char *type, const char **contents) {
692 + +_public_ int sd_bus_message_peek_type(sd_bus_message *m, char *type, const char **contents) {
693 +          struct bus_container *c;
694 +          int r;
695 +  
696 + @@ -2067,7 +2068,7 @@ eof:
697 +          return 0;
698 +  }
699 +  
700 + -int sd_bus_message_rewind(sd_bus_message *m, int complete) {
701 + +_public_ int sd_bus_message_rewind(sd_bus_message *m, int complete) {
702 +          struct bus_container *c;
703 +  
704 +          if (!m)
705 + @@ -2224,7 +2225,7 @@ static int message_read_ap(sd_bus_message *m, const char *types, va_list ap) {
706 +          return 1;
707 +  }
708 +  
709 + -int sd_bus_message_read(sd_bus_message *m, const char *types, ...) {
710 + +_public_ int sd_bus_message_read(sd_bus_message *m, const char *types, ...) {
711 +          va_list ap;
712 +          int r;
713 +  
714 + @@ -2711,7 +2712,8 @@ static void setup_iovec(sd_bus_message *m) {
715 +          }
716 +  }
717 +  
718 + -int bus_message_seal(sd_bus_message *m, uint64_t serial) {
719 + +/* XXX TODO: for test-* */
720 + +_public_ int bus_message_seal(sd_bus_message *m, uint64_t serial) {
721 +          int r;
722 +  
723 +          assert(m);
724 + @@ -2743,7 +2745,7 @@ int bus_message_seal(sd_bus_message *m, uint64_t serial) {
725 +          return 0;
726 +  }
727 +  
728 + -int sd_bus_message_set_destination(sd_bus_message *m, const char *destination) {
729 + +_public_ int sd_bus_message_set_destination(sd_bus_message *m, const char *destination) {
730 +          if (!m)
731 +                  return -EINVAL;
732 +          if (!destination)
733 + @@ -2756,7 +2758,8 @@ int sd_bus_message_set_destination(sd_bus_message *m, const char *destination) {
734 +          return message_append_field_string(m, SD_BUS_MESSAGE_HEADER_DESTINATION, SD_BUS_TYPE_STRING, destination, &m->destination);
735 +  }
736 +  
737 + -int bus_message_dump(sd_bus_message *m) {
738 + +/* XXX TODO: for test-* */
739 + +_public_ int bus_message_dump(sd_bus_message *m) {
740 +          unsigned level = 1;
741 +          int r;
742 +  
743 + @@ -2953,7 +2956,8 @@ int bus_message_dump(sd_bus_message *m) {
744 +          return 0;
745 +  }
746 +  
747 + -int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) {
748 + +/* XXX TODO: for test-* */
749 + +_public_ int bus_message_get_blob(sd_bus_message *m, void **buffer, size_t *sz) {
750 +          size_t total;
751 +          unsigned i;
752 +          void *p, *e;
753 + diff --git a/src/libsystemd-bus/bus-signature.c b/src/libsystemd-bus/bus-signature.c
754 + index a92b712..3755d08 100644
755 + --- a/src/libsystemd-bus/bus-signature.c
756 + +++ b/src/libsystemd-bus/bus-signature.c
757 + @@ -110,7 +110,8 @@ int signature_element_length(const char *s, size_t *l) {
758 +          return signature_element_length_internal(s, true, 0, 0, l);
759 +  }
760 +  
761 + -bool signature_is_single(const char *s) {
762 + +/* XXX TODO: for test-* */
763 + +_public_ bool signature_is_single(const char *s) {
764 +          int r;
765 +          size_t t;
766 +  
767 + @@ -123,7 +124,8 @@ bool signature_is_single(const char *s) {
768 +          return s[t] == 0;
769 +  }
770 +  
771 + -bool signature_is_pair(const char *s) {
772 + +/* XXX TODO: for test-* */
773 + +_public_ bool signature_is_pair(const char *s) {
774 +          assert(s);
775 +  
776 +          if (!bus_type_is_basic(*s))
777 + @@ -132,7 +134,8 @@ bool signature_is_pair(const char *s) {
778 +          return signature_is_single(s + 1);
779 +  }
780 +  
781 + -bool signature_is_valid(const char *s, bool allow_dict_entry) {
782 + +/* XXX TODO: for test-* */
783 + +_public_ bool signature_is_valid(const char *s, bool allow_dict_entry) {
784 +          const char *p;
785 +          int r;
786 +  
787 + diff --git a/src/libsystemd-bus/libsystemd-bus.pc.in b/src/libsystemd-bus/libsystemd-bus.pc.in
788 + new file mode 100644
789 + index 0000000..6907a1d
790 + --- /dev/null
791 + +++ b/src/libsystemd-bus/libsystemd-bus.pc.in
792 + @@ -0,0 +1,19 @@
793 + +#  This file is part of systemd.
794 + +#
795 + +#  systemd is free software; you can redistribute it and/or modify it
796 + +#  under the terms of the GNU Lesser General Public License as published by
797 + +#  the Free Software Foundation; either version 2.1 of the License, or
798 + +#  (at your option) any later version.
799 + +
800 + +prefix=@prefix@
801 + +exec_prefix=@exec_prefix@
802 + +libdir=@libdir@
803 + +includedir=@includedir@
804 + +
805 + +Name: systemd
806 + +Description: systemd D-Bus client library
807 + +URL: @PACKAGE_URL@
808 + +Version: @PACKAGE_VERSION@
809 + +Requires: libsystemd-daemon = @PACKAGE_VERSION@
810 + +Libs: -L${libdir} -lsystemd-bus
811 + +Cflags: -I${includedir} -I${includedir}/systemd -I${includedir}/systemd/bus
812 + diff --git a/src/libsystemd-bus/libsystemd-bus.sym b/src/libsystemd-bus/libsystemd-bus.sym
813 + new file mode 100644
814 + index 0000000..02f63c0
815 + --- /dev/null
816 + +++ b/src/libsystemd-bus/libsystemd-bus.sym
817 + @@ -0,0 +1,163 @@
818 + +{
819 + +global:
820 + +        sd_bus_open_system;
821 + +        sd_bus_open_user;
822 + +        sd_bus_new;
823 + +        sd_bus_set_address;
824 + +        sd_bus_set_fd;
825 + +        sd_bus_set_exec;
826 + +        sd_bus_set_bus_client;
827 + +        sd_bus_set_server;
828 + +        sd_bus_set_anonymous;
829 + +        sd_bus_set_negotiate_fds;
830 + +        sd_bus_negotiate_attach_comm;
831 + +        sd_bus_negotiate_attach_exe;
832 + +        sd_bus_negotiate_attach_cmdline;
833 + +        sd_bus_negotiate_attach_cgroup;
834 + +        sd_bus_negotiate_attach_caps;
835 + +        sd_bus_negotiate_attach_selinux_context;
836 + +        sd_bus_negotiate_attach_audit;
837 + +        sd_bus_start;
838 + +        sd_bus_close;
839 + +        sd_bus_ref;
840 + +        sd_bus_unref;
841 + +        sd_bus_is_open;
842 + +        sd_bus_can_send;
843 + +        sd_bus_get_server_id;
844 + +        sd_bus_send;
845 + +        sd_bus_send_with_reply;
846 + +        sd_bus_send_with_reply_cancel;
847 + +        sd_bus_send_with_reply_and_block;
848 + +        sd_bus_get_fd;
849 + +        sd_bus_get_events;
850 + +        sd_bus_get_timeout;
851 + +        sd_bus_process;
852 + +        sd_bus_wait;
853 + +        sd_bus_flush;
854 + +        sd_bus_add_filter;
855 + +        sd_bus_remove_filter;
856 + +        sd_bus_add_object;
857 + +        sd_bus_remove_object;
858 + +        sd_bus_add_fallback;
859 + +        sd_bus_remove_fallback;
860 + +        sd_bus_add_match;
861 + +        sd_bus_remove_match;
862 + +        sd_bus_message_new_signal;
863 + +        sd_bus_message_new_method_call;
864 + +        sd_bus_message_new_method_return;
865 + +        sd_bus_message_new_method_error;
866 + +        sd_bus_message_ref;
867 + +        sd_bus_message_unref;
868 + +        sd_bus_message_get_type;
869 + +        sd_bus_message_get_serial;
870 + +        sd_bus_message_get_reply_serial;
871 + +        sd_bus_message_get_no_reply;
872 + +        sd_bus_message_get_error;
873 + +        sd_bus_message_get_uid;
874 + +        sd_bus_message_get_gid;
875 + +        sd_bus_message_get_pid;
876 + +        sd_bus_message_get_tid;
877 + +        sd_bus_message_get_pid_starttime;
878 + +        sd_bus_message_get_selinux_context;
879 + +        sd_bus_message_get_monotonic_timestamp;
880 + +        sd_bus_message_get_realtime_timestamp;
881 + +        sd_bus_message_get_comm;
882 + +        sd_bus_message_get_tid_comm;
883 + +        sd_bus_message_get_exe;
884 + +        sd_bus_message_get_cgroup;
885 + +        sd_bus_message_get_unit;
886 + +        sd_bus_message_get_user_unit;
887 + +        sd_bus_message_get_session;
888 + +        sd_bus_message_get_owner_uid;
889 + +        sd_bus_message_get_cmdline;
890 + +        sd_bus_message_get_audit_sessionid;
891 + +        sd_bus_message_get_audit_loginuid;
892 + +        sd_bus_message_get_label;
893 + +        sd_bus_message_has_effective_cap;
894 + +        sd_bus_message_is_signal;
895 + +        sd_bus_message_is_method_call;
896 + +        sd_bus_message_is_method_error;
897 + +        sd_bus_message_set_no_reply;
898 + +        sd_bus_message_set_destination;
899 + +        sd_bus_message_append;
900 + +        sd_bus_message_append_basic;
901 + +        sd_bus_message_append_array;
902 + +        sd_bus_message_append_array_space;
903 + +        sd_bus_message_append_array_memfd;
904 + +        sd_bus_message_append_string_space;
905 + +        sd_bus_message_append_string_memfd;
906 + +        sd_bus_message_open_container;
907 + +        sd_bus_message_close_container;
908 + +        sd_bus_message_read;
909 + +        sd_bus_message_read_basic;
910 + +        sd_bus_message_read_array;
911 + +        sd_bus_message_enter_container;
912 + +        sd_bus_message_exit_container;
913 + +        sd_bus_message_peek_type;
914 + +        sd_bus_message_rewind;
915 + +        sd_bus_emit_signal;
916 + +        sd_bus_call_method;
917 + +        sd_bus_reply_method_return;
918 + +        sd_bus_reply_method_error;
919 + +        sd_bus_get_unique_name;
920 + +        sd_bus_request_name;
921 + +        sd_bus_release_name;
922 + +        sd_bus_list_names;
923 + +        sd_bus_get_owner;
924 + +        sd_bus_get_owner_uid;
925 + +        sd_bus_get_owner_pid;
926 + +        sd_bus_get_owner_machine_id;
927 + +        sd_bus_error_free;
928 + +        sd_bus_error_set;
929 + +        sd_bus_error_set_const;
930 + +        sd_bus_error_copy;
931 + +        sd_bus_error_is_set;
932 + +        sd_bus_error_has_name;
933 + +        sd_bus_message_get_type;
934 + +        sd_bus_message_get_serial;
935 + +        sd_bus_message_get_reply_serial;
936 + +        sd_bus_message_get_no_reply;
937 + +        sd_bus_message_get_path;
938 + +        sd_bus_message_get_interface;
939 + +        sd_bus_message_get_member;
940 + +        sd_bus_message_get_sender;
941 + +        sd_bus_message_get_error;
942 + +        sd_bus_message_get_uid;
943 + +        sd_memfd_new;
944 + +        sd_memfd_make;
945 + +        sd_memfd_free;
946 + +        sd_memfd_get_fd;
947 + +        sd_memfd_get_file;
948 + +        sd_memfd_dup_fd;
949 + +        sd_memfd_map;
950 + +        sd_memfd_set_sealed;
951 + +        sd_memfd_get_sealed;
952 + +        sd_memfd_get_size;
953 + +        sd_memfd_set_size;
954 + +        sd_memfd_new_and_map;
955 + +        bus_message_seal;
956 + +        bus_message_dump;
957 + +        bus_message_from_malloc;
958 + +        bus_message_get_blob;
959 + +        bus_message_to_errno;
960 + +        bus_error_message;
961 + +        bus_match_add;
962 + +        bus_match_run;
963 + +        bus_match_free;
964 + +        bus_match_dump;
965 + +        bus_match_remove;
966 + +        bus_match_parse;
967 + +        bus_match_parse_free;
968 + +        bus_match_node_type_to_string;
969 + +        bus_match_node_type_from_string;
970 + +        bus_kernel_create;
971 + +        service_name_is_valid;
972 + +        signature_is_valid;
973 + +        signature_is_pair;
974 + +        signature_is_single;
975 + +        namespace_complex_pattern;
976 + +        namespace_simple_pattern;
977 + +        path_complex_pattern;
978 + +local:
979 + +        *;
980 + +};
981 + diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
982 + index 2f084c2..b53d8fb 100644
983 + --- a/src/libsystemd-bus/sd-bus.c
984 + +++ b/src/libsystemd-bus/sd-bus.c
985 + @@ -89,7 +89,7 @@ static void bus_free(sd_bus *b) {
986 +          free(b);
987 +  }
988 +  
989 + -int sd_bus_new(sd_bus **ret) {
990 + +_public_ int sd_bus_new(sd_bus **ret) {
991 +          sd_bus *r;
992 +  
993 +          if (!ret)
994 + @@ -116,7 +116,7 @@ int sd_bus_new(sd_bus **ret) {
995 +          return 0;
996 +  }
997 +  
998 + -int sd_bus_set_address(sd_bus *bus, const char *address) {
999 + +_public_ int sd_bus_set_address(sd_bus *bus, const char *address) {
1000 +          char *a;
1001 +  
1002 +          if (!bus)
1003 + @@ -136,7 +136,7 @@ int sd_bus_set_address(sd_bus *bus, const char *address) {
1004 +          return 0;
1005 +  }
1006 +  
1007 + -int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
1008 + +_public_ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
1009 +          if (!bus)
1010 +                  return -EINVAL;
1011 +          if (bus->state != BUS_UNSET)
1012 + @@ -151,7 +151,7 @@ int sd_bus_set_fd(sd_bus *bus, int input_fd, int output_fd) {
1013 +          return 0;
1014 +  }
1015 +  
1016 + -int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
1017 + +_public_ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
1018 +          char *p, **a;
1019 +  
1020 +          if (!bus)
1021 + @@ -182,7 +182,7 @@ int sd_bus_set_exec(sd_bus *bus, const char *path, char *const argv[]) {
1022 +          return 0;
1023 +  }
1024 +  
1025 + -int sd_bus_set_bus_client(sd_bus *bus, int b) {
1026 + +_public_ int sd_bus_set_bus_client(sd_bus *bus, int b) {
1027 +          if (!bus)
1028 +                  return -EINVAL;
1029 +          if (bus->state != BUS_UNSET)
1030 + @@ -192,7 +192,7 @@ int sd_bus_set_bus_client(sd_bus *bus, int b) {
1031 +          return 0;
1032 +  }
1033 +  
1034 + -int sd_bus_set_negotiate_fds(sd_bus *bus, int b) {
1035 + +_public_ int sd_bus_set_negotiate_fds(sd_bus *bus, int b) {
1036 +          if (!bus)
1037 +                  return -EINVAL;
1038 +          if (bus->state != BUS_UNSET)
1039 + @@ -202,7 +202,7 @@ int sd_bus_set_negotiate_fds(sd_bus *bus, int b) {
1040 +          return 0;
1041 +  }
1042 +  
1043 + -int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id) {
1044 + +_public_ int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id) {
1045 +          if (!bus)
1046 +                  return -EINVAL;
1047 +          if (!b && !sd_id128_equal(server_id, SD_ID128_NULL))
1048 + @@ -215,7 +215,7 @@ int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id) {
1049 +          return 0;
1050 +  }
1051 +  
1052 + -int sd_bus_set_anonymous(sd_bus *bus, int b) {
1053 + +_public_ int sd_bus_set_anonymous(sd_bus *bus, int b) {
1054 +          if (!bus)
1055 +                  return -EINVAL;
1056 +          if (bus->state != BUS_UNSET)
1057 + @@ -742,7 +742,7 @@ static int bus_start_fd(sd_bus *b) {
1058 +          return bus_socket_take_fd(b);
1059 +  }
1060 +  
1061 + -int sd_bus_start(sd_bus *bus) {
1062 + +_public_ int sd_bus_start(sd_bus *bus) {
1063 +          int r;
1064 +  
1065 +          if (!bus)
1066 + @@ -768,7 +768,7 @@ int sd_bus_start(sd_bus *bus) {
1067 +          return bus_send_hello(bus);
1068 +  }
1069 +  
1070 + -int sd_bus_open_system(sd_bus **ret) {
1071 + +_public_ int sd_bus_open_system(sd_bus **ret) {
1072 +          const char *e;
1073 +          sd_bus *b;
1074 +          int r;
1075 + @@ -805,7 +805,7 @@ fail:
1076 +          return r;
1077 +  }
1078 +  
1079 + -int sd_bus_open_user(sd_bus **ret) {
1080 + +_public_ int sd_bus_open_user(sd_bus **ret) {
1081 +          const char *e;
1082 +          sd_bus *b;
1083 +          size_t l;
1084 + @@ -855,7 +855,7 @@ fail:
1085 +          return r;
1086 +  }
1087 +  
1088 + -void sd_bus_close(sd_bus *bus) {
1089 + +_public_ void sd_bus_close(sd_bus *bus) {
1090 +          if (!bus)
1091 +                  return;
1092 +  
1093 + @@ -867,7 +867,7 @@ void sd_bus_close(sd_bus *bus) {
1094 +          bus->input_fd = bus->output_fd = -1;
1095 +  }
1096 +  
1097 + -sd_bus *sd_bus_ref(sd_bus *bus) {
1098 + +_public_ sd_bus *sd_bus_ref(sd_bus *bus) {
1099 +          if (!bus)
1100 +                  return NULL;
1101 +  
1102 + @@ -877,7 +877,7 @@ sd_bus *sd_bus_ref(sd_bus *bus) {
1103 +          return bus;
1104 +  }
1105 +  
1106 + -sd_bus *sd_bus_unref(sd_bus *bus) {
1107 + +_public_ sd_bus *sd_bus_unref(sd_bus *bus) {
1108 +          if (!bus)
1109 +                  return NULL;
1110 +  
1111 + @@ -890,14 +890,14 @@ sd_bus *sd_bus_unref(sd_bus *bus) {
1112 +          return NULL;
1113 +  }
1114 +  
1115 + -int sd_bus_is_open(sd_bus *bus) {
1116 + +_public_ int sd_bus_is_open(sd_bus *bus) {
1117 +          if (!bus)
1118 +                  return -EINVAL;
1119 +  
1120 +          return bus->state != BUS_UNSET && bus->input_fd >= 0;
1121 +  }
1122 +  
1123 + -int sd_bus_can_send(sd_bus *bus, char type) {
1124 + +_public_ int sd_bus_can_send(sd_bus *bus, char type) {
1125 +          int r;
1126 +  
1127 +          if (!bus)
1128 + @@ -919,7 +919,7 @@ int sd_bus_can_send(sd_bus *bus, char type) {
1129 +          return bus_type_is_valid(type);
1130 +  }
1131 +  
1132 + -int sd_bus_get_server_id(sd_bus *bus, sd_id128_t *server_id) {
1133 + +_public_ int sd_bus_get_server_id(sd_bus *bus, sd_id128_t *server_id) {
1134 +          int r;
1135 +  
1136 +          if (!bus)
1137 + @@ -1025,7 +1025,7 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) {
1138 +          return 1;
1139 +  }
1140 +  
1141 + -int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
1142 + +_public_ int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) {
1143 +          int r;
1144 +  
1145 +          if (!bus)
1146 + @@ -1126,7 +1126,7 @@ static int timeout_compare(const void *a, const void *b) {
1147 +          return 0;
1148 +  }
1149 +  
1150 + -int sd_bus_send_with_reply(
1151 + +_public_ int sd_bus_send_with_reply(
1152 +                  sd_bus *bus,
1153 +                  sd_bus_message *m,
1154 +                  sd_bus_message_handler_t callback,
1155 + @@ -1199,7 +1199,7 @@ int sd_bus_send_with_reply(
1156 +          return r;
1157 +  }
1158 +  
1159 + -int sd_bus_send_with_reply_cancel(sd_bus *bus, uint64_t serial) {
1160 + +_public_ int sd_bus_send_with_reply_cancel(sd_bus *bus, uint64_t serial) {
1161 +          struct reply_callback *c;
1162 +  
1163 +          if (!bus)
1164 + @@ -1246,7 +1246,7 @@ int bus_ensure_running(sd_bus *bus) {
1165 +          }
1166 +  }
1167 +  
1168 + -int sd_bus_send_with_reply_and_block(
1169 + +_public_ int sd_bus_send_with_reply_and_block(
1170 +                  sd_bus *bus,
1171 +                  sd_bus_message *m,
1172 +                  uint64_t usec,
1173 + @@ -1372,7 +1372,7 @@ int sd_bus_send_with_reply_and_block(
1174 +          }
1175 +  }
1176 +  
1177 + -int sd_bus_get_fd(sd_bus *bus) {
1178 + +_public_ int sd_bus_get_fd(sd_bus *bus) {
1179 +          if (!bus)
1180 +                  return -EINVAL;
1181 +          if (bus->input_fd < 0)
1182 + @@ -1383,7 +1383,7 @@ int sd_bus_get_fd(sd_bus *bus) {
1183 +          return bus->input_fd;
1184 +  }
1185 +  
1186 + -int sd_bus_get_events(sd_bus *bus) {
1187 + +_public_ int sd_bus_get_events(sd_bus *bus) {
1188 +          int flags = 0;
1189 +  
1190 +          if (!bus)
1191 + @@ -1412,7 +1412,7 @@ int sd_bus_get_events(sd_bus *bus) {
1192 +          return flags;
1193 +  }
1194 +  
1195 + -int sd_bus_get_timeout(sd_bus *bus, uint64_t *timeout_usec) {
1196 + +_public_ int sd_bus_get_timeout(sd_bus *bus, uint64_t *timeout_usec) {
1197 +          struct reply_callback *c;
1198 +  
1199 +          if (!bus)
1200 + @@ -1883,7 +1883,7 @@ null_message:
1201 +          return r;
1202 +  }
1203 +  
1204 + -int sd_bus_process(sd_bus *bus, sd_bus_message **ret) {
1205 + +_public_ int sd_bus_process(sd_bus *bus, sd_bus_message **ret) {
1206 +          int r;
1207 +  
1208 +          /* Returns 0 when we didn't do anything. This should cause the
1209 + @@ -1985,7 +1985,7 @@ static int bus_poll(sd_bus *bus, bool need_more, uint64_t timeout_usec) {
1210 +          return r > 0 ? 1 : 0;
1211 +  }
1212 +  
1213 + -int sd_bus_wait(sd_bus *bus, uint64_t timeout_usec) {
1214 + +_public_ int sd_bus_wait(sd_bus *bus, uint64_t timeout_usec) {
1215 +  
1216 +          if (!bus)
1217 +                  return -EINVAL;
1218 + @@ -1999,7 +1999,7 @@ int sd_bus_wait(sd_bus *bus, uint64_t timeout_usec) {
1219 +          return bus_poll(bus, false, timeout_usec);
1220 +  }
1221 +  
1222 + -int sd_bus_flush(sd_bus *bus) {
1223 + +_public_ int sd_bus_flush(sd_bus *bus) {
1224 +          int r;
1225 +  
1226 +          if (!bus)
1227 + @@ -2030,7 +2030,7 @@ int sd_bus_flush(sd_bus *bus) {
1228 +          }
1229 +  }
1230 +  
1231 + -int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
1232 + +_public_ int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
1233 +          struct filter_callback *f;
1234 +  
1235 +          if (!bus)
1236 + @@ -2049,7 +2049,7 @@ int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *user
1237 +          return 0;
1238 +  }
1239 +  
1240 + -int sd_bus_remove_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
1241 + +_public_ int sd_bus_remove_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata) {
1242 +          struct filter_callback *f;
1243 +  
1244 +          if (!bus)
1245 + @@ -2147,23 +2147,23 @@ static int bus_remove_object(
1246 +          return 1;
1247 +  }
1248 +  
1249 + -int sd_bus_add_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
1250 + +_public_ int sd_bus_add_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
1251 +          return bus_add_object(bus, false, path, callback, userdata);
1252 +  }
1253 +  
1254 + -int sd_bus_remove_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
1255 + +_public_ int sd_bus_remove_object(sd_bus *bus, const char *path, sd_bus_message_handler_t callback, void *userdata) {
1256 +          return bus_remove_object(bus, false, path, callback, userdata);
1257 +  }
1258 +  
1259 + -int sd_bus_add_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
1260 + +_public_ int sd_bus_add_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
1261 +          return bus_add_object(bus, true, prefix, callback, userdata);
1262 +  }
1263 +  
1264 + -int sd_bus_remove_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
1265 + +_public_ int sd_bus_remove_fallback(sd_bus *bus, const char *prefix, sd_bus_message_handler_t callback, void *userdata) {
1266 +          return bus_remove_object(bus, true, prefix, callback, userdata);
1267 +  }
1268 +  
1269 + -int sd_bus_add_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
1270 + +_public_ int sd_bus_add_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
1271 +          int r = 0;
1272 +  
1273 +          if (!bus)
1274 + @@ -2190,7 +2190,7 @@ int sd_bus_add_match(sd_bus *bus, const char *match, sd_bus_message_handler_t ca
1275 +          return r;
1276 +  }
1277 +  
1278 + -int sd_bus_remove_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
1279 + +_public_ int sd_bus_remove_match(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata) {
1280 +          int r = 0, q = 0;
1281 +  
1282 +          if (!bus)
1283 + @@ -2211,7 +2211,7 @@ int sd_bus_remove_match(sd_bus *bus, const char *match, sd_bus_message_handler_t
1284 +          return q;
1285 +  }
1286 +  
1287 + -int sd_bus_emit_signal(
1288 + +_public_ int sd_bus_emit_signal(
1289 +                  sd_bus *bus,
1290 +                  const char *path,
1291 +                  const char *interface,
1292 + @@ -2238,7 +2238,7 @@ int sd_bus_emit_signal(
1293 +          return sd_bus_send(bus, m, NULL);
1294 +  }
1295 +  
1296 + -int sd_bus_call_method(
1297 + +_public_ int sd_bus_call_method(
1298 +                  sd_bus *bus,
1299 +                  const char *destination,
1300 +                  const char *path,
1301 + @@ -2268,7 +2268,7 @@ int sd_bus_call_method(
1302 +          return sd_bus_send_with_reply_and_block(bus, m, 0, error, reply);
1303 +  }
1304 +  
1305 + -int sd_bus_reply_method_return(
1306 + +_public_ int sd_bus_reply_method_return(
1307 +                  sd_bus *bus,
1308 +                  sd_bus_message *call,
1309 +                  const char *types, ...) {
1310 + @@ -2302,7 +2302,7 @@ int sd_bus_reply_method_return(
1311 +          return sd_bus_send(bus, m, NULL);
1312 +  }
1313 +  
1314 + -int sd_bus_reply_method_error(
1315 + +_public_ int sd_bus_reply_method_error(
1316 +                  sd_bus *bus,
1317 +                  sd_bus_message *call,
1318 +                  const sd_bus_error *e) {
1319 + -- 
1320 + 1.8.1.4
1321
1322 *** /dev/null   2013-07-09 15:36:51.773521412 +0300
1323 --- SOURCES/0001-systemd-bus-export-additional-forgotten-symbols.patch  2013-08-16 14:17:03.251343617 +0300
1324 ***************
1325 *** 0 ****
1326 --- 1,24 ----
1327 + From a102e7847a3f9358717a8d864a7285b123fdb171 Mon Sep 17 00:00:00 2001
1328 + From: Krisztian Litkey <kli@iki.fi>
1329 + Date: Fri, 16 Aug 2013 14:16:27 +0300
1330 + Subject: [PATCH 1/1] systemd-bus: export additional forgotten symbols.
1331
1332 + ---
1333 +  src/libsystemd-bus/libsystemd-bus.sym | 1 +
1334 +  1 file changed, 1 insertion(+)
1335
1336 + diff --git a/src/libsystemd-bus/libsystemd-bus.sym b/src/libsystemd-bus/libsystemd-bus.sym
1337 + index 15a8747..ee6bb53 100644
1338 + --- a/src/libsystemd-bus/libsystemd-bus.sym
1339 + +++ b/src/libsystemd-bus/libsystemd-bus.sym
1340 + @@ -116,6 +116,7 @@ global:
1341 +          sd_bus_message_get_serial;
1342 +          sd_bus_message_get_reply_serial;
1343 +          sd_bus_message_get_no_reply;
1344 + +        sd_bus_message_get_destination;
1345 +          sd_bus_message_get_path;
1346 +          sd_bus_message_get_interface;
1347 +          sd_bus_message_get_member;
1348 + -- 
1349 + 1.8.1.4
1350