X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=libubus-internal.h;h=f6d850f17f60b8ed99a3977d564fc138d1eeb89a;hb=382a05f54d12190171b8f847773c78dc27e9b205;hp=3da057ee74ee05a64490e2b679c04109a0cfec1c;hpb=47a9ab0c645d4d49def8080ae68c7c477e733530;p=project%2Fubus.git diff --git a/libubus-internal.h b/libubus-internal.h index 3da057e..f6d850f 100644 --- a/libubus-internal.h +++ b/libubus-internal.h @@ -14,11 +14,16 @@ #ifndef __LIBUBUS_IO_H #define __LIBUBUS_IO_H -#define __hidden __attribute__((visibility ("hidden"))) - extern struct blob_buf b; extern const struct ubus_method watch_method; +static inline struct blob_attr * +ubus_msghdr_data(struct ubus_msghdr *hdr) +{ + struct ubus_msghdr_buf *hdrbuf = container_of(hdr, typeof(*hdrbuf), hdr); + return hdrbuf->data; +} + struct blob_attr **ubus_parse_msg(struct blob_attr *msg); void ubus_handle_data(struct uloop_fd *u, unsigned int events); int ubus_send_msg(struct ubus_context *ctx, uint32_t seq, @@ -28,6 +33,7 @@ int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request *r struct blob_attr *msg, int cmd, uint32_t peer); void ubus_process_obj_msg(struct ubus_context*ctx, struct ubus_msghdr *hdr); void ubus_process_req_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr, int fd); -void ubus_process_pending_msg(struct ubus_context *ctx); +void __hidden ubus_poll_data(struct ubus_context *ctx, int timeout); + #endif