X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=libubus.h;h=94e5f950f7e6f89221dd05dacefd8cf2ba42b20a;hp=6c560b4fe5b380f324356ba129499b4b788b5f27;hb=3e45a782b22c067eab125b377474f5da11eabbe9;hpb=bbd3fbc9cc914abfca9030253c0f2a68e1144c85 diff --git a/libubus.h b/libubus.h index 6c560b4..94e5f95 100644 --- a/libubus.h +++ b/libubus.h @@ -34,11 +34,10 @@ struct ubus_event_handler; struct ubus_subscriber; struct ubus_notify_request; -static inline struct blob_attr * -ubus_msghdr_data(struct ubus_msghdr *hdr) -{ - return (struct blob_attr *) (hdr + 1); -} +struct ubus_msghdr_buf { + struct ubus_msghdr hdr; + struct blob_attr *data; +}; typedef void (*ubus_lookup_handler_t)(struct ubus_context *ctx, struct ubus_object_data *obj, @@ -148,10 +147,9 @@ struct ubus_context { void (*connection_lost)(struct ubus_context *ctx); - struct { - struct ubus_msghdr hdr; - char data[UBUS_MAX_MSGLEN]; - } msgbuf; + struct ubus_msghdr_buf msgbuf; + uint32_t msgbuf_data_len; + int msgbuf_reduction_counter; }; struct ubus_object_data {