63 bool no_reply =
false;
86 for (method = 0; method < obj->
n_methods; method++)
118 struct ubus_object *,
struct blob_attr **,
int fd);
123 void *prev_data = NULL;
146 prev_data = buf->
data;
156 buf->
data = prev_data;
173 obj->
avl.key = &obj->
id;
182 mtbl = blobmsg_open_table(&
b, m->
name);
185 if (m->
mask && !(m->
mask & (1 << i)))
191 blobmsg_close_table(&
b, mtbl);
201 for (i = 0; i <
type->n_methods; i++)
204 blob_nest_end(&
b, s);
214 blob_buf_init(&
b, 0);
261 blob_buf_init(&
b, 0);
int(* cb)(struct ubus_context *ctx, int argc, char **argv)
static struct ubus_context * ctx
int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request *req, struct blob_attr *msg, int cmd, uint32_t peer)
const struct ubus_method watch_method
struct blob_attr ** ubus_parse_msg(struct blob_attr *msg, size_t len)
static struct blob_attr * attrbuf[UBUS_ATTR_MAX]
static void ubus_add_object_cb(struct ubus_request *req, int type, struct blob_attr *msg)
static void ubus_process_notify(struct ubus_context *ctx, struct ubus_msghdr *hdr, struct ubus_object *obj, struct blob_attr **attrbuf, int fd)
static bool ubus_push_object_type(const struct ubus_object_type *type)
void __hidden ubus_process_obj_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd)
int ubus_remove_object(struct ubus_context *ctx, struct ubus_object *obj)
int ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj)
static void ubus_process_invoke(struct ubus_context *ctx, struct ubus_msghdr *hdr, struct ubus_object *obj, struct blob_attr **attrbuf, int fd)
static void ubus_push_method_data(const struct ubus_method *m)
static void ubus_remove_object_cb(struct ubus_request *req, int type, struct blob_attr *msg)
static void ubus_process_unsubscribe(struct ubus_context *ctx, struct ubus_msghdr *hdr, struct ubus_object *obj, struct blob_attr **attrbuf, int fd)
void ubus_complete_deferred_request(struct ubus_context *ctx, struct ubus_request_data *req, int ret)
int ubus_complete_request(struct ubus_context *ctx, struct ubus_request *req, int req_timeout)
const struct ubus_method watch_method __hidden
struct ubus_msghdr_buf msgbuf
const struct blobmsg_policy * policy
struct ubus_object_type * type
const struct ubus_method * methods
ubus_state_handler_t subscribe_cb
ubus_data_handler_t raw_data_cb
struct ubus_context * ctx
ubus_remove_handler_t remove_cb
@ UBUS_STATUS_INVALID_ARGUMENT
@ UBUS_STATUS_METHOD_NOT_FOUND