<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.8px">Hi,</span><div style="font-family:arial,sans-serif;font-size:12.8px"><br></div><div style="font-family:arial,sans-serif;font-size:12.8px">I'm trying to return a struct from an sdbus method. I followed the simple example of a service at <a href="http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html" target="_blank">http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html</a>. I then created a simple method as follows:</div><div style="font-family:arial,sans-serif;font-size:12.8px"><br></div><div style="font-family:arial,sans-serif;font-size:12.8px"><div>struct pack {</div><div>    int x;</div><div>    int y;</div><div>};</div><div><br></div><div>static int foo(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {</div><div>    struct pack s;</div><div>    s.x = 1;</div><div>    s.y = 2;</div><div>    return sd_bus_reply_method_return(m, "(xx)", s);</div><div>}</div><div><br></div><div>static const sd_bus_vtable vtable[] = {</div><div>        SD_BUS_VTABLE_START(0),</div><div>        SD_BUS_METHOD("foo", "", "(xx)", foo, SD_BUS_VTABLE_UNPRIVILEGED),</div><div>        SD_BUS_VTABLE_END</div><div>};</div></div><div style="font-family:arial,sans-serif;font-size:12.8px"><br></div><div style="font-family:arial,sans-serif;font-size:12.8px">The rest of the service is as in the example. When I run the service and call foo with busctl I get garbage: </div><div style="font-family:arial,sans-serif;font-size:12.8px">(xx) 8589934593 140731098591648<br></div><div style="font-family:arial,sans-serif;font-size:12.8px"><br></div><div style="font-family:arial,sans-serif;font-size:12.8px">Can someone point me to what I am doing wrong?</div><div style="font-family:arial,sans-serif;font-size:12.8px"><br></div><div style="font-family:arial,sans-serif;font-size:12.8px">Thanks,</div><div style="font-family:arial,sans-serif;font-size:12.8px">Niall</div></div>