X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=ubus.c;h=32e30876ed5c276ee4962e68679ef277b39316bf;hp=c5c8e04032a9bc6fb3e1fc37cc5aca14edcfe282;hb=ac320e87d5993fe4cf1871a91a5dc557d69da50e;hpb=2550c4b228bac65ab66a5b7d86cf10f60b7593bf diff --git a/ubus.c b/ubus.c index c5c8e04..32e3087 100644 --- a/ubus.c +++ b/ubus.c @@ -34,7 +34,7 @@ mdns_reload(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg) { - service_init(); + service_init(1); return 0; } @@ -182,3 +182,16 @@ ubus_startup(void) conn.cb = ubus_connect_handler; ubus_auto_connect(&conn); } + +int ubus_service_list(ubus_data_handler_t cb) +{ + uint32_t id; + int ret; + + blob_buf_init(&b, 0); + ret = ubus_lookup_id(&conn.ctx, "service", &id); + if (ret) + return ret; + + return ubus_invoke(&conn.ctx, id, "list", b.head, cb, NULL, 5 * 1000); +}