#ifndef __LIBUBUS_H
#define __LIBUBUS_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <libubox/avl.h>
#include <libubox/list.h>
#include <libubox/blobmsg.h>
typedef void (*ubus_complete_handler_t)(struct ubus_request *req, int ret);
typedef void (*ubus_notify_complete_handler_t)(struct ubus_notify_request *req,
int idx, int ret);
+typedef void (*ubus_notify_data_handler_t)(struct ubus_notify_request *req,
+ int type, struct blob_attr *msg);
typedef void (*ubus_connect_handler_t)(struct ubus_context *ctx);
#define UBUS_OBJECT_TYPE(_name, _methods) \
ubus_notify_complete_handler_t status_cb;
ubus_notify_complete_handler_t complete_cb;
+ ubus_notify_data_handler_t data_cb;
uint32_t pending;
uint32_t id[UBUS_MAX_NOTIFY_PEERS + 1];
return ubus_remove_object(ctx, &ev->obj);
}
+#ifdef __cplusplus
+}
+#endif
+
#endif