X-Git-Url: http://git.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=libubus-internal.h;h=c4067d3438177ffdaa22bdc23575def9f3177bcf;hp=3da057ee74ee05a64490e2b679c04109a0cfec1c;hb=HEAD;hpb=47a9ab0c645d4d49def8080ae68c7c477e733530 diff --git a/libubus-internal.h b/libubus-internal.h index 3da057e..24477a0 100644 --- a/libubus-internal.h +++ b/libubus-internal.h @@ -14,20 +14,22 @@ #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; -struct blob_attr **ubus_parse_msg(struct blob_attr *msg); +struct blob_attr **ubus_parse_msg(struct blob_attr *msg, size_t len); +bool ubus_validate_hdr(struct ubus_msghdr *hdr); void ubus_handle_data(struct uloop_fd *u, unsigned int events); int ubus_send_msg(struct ubus_context *ctx, uint32_t seq, struct blob_attr *msg, int cmd, uint32_t peer, int fd); -void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr *hdr, int fd); +void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd); int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request *req, 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); +int __hidden __ubus_start_request(struct ubus_context *ctx, struct ubus_request *req, + struct blob_attr *msg, int cmd, uint32_t peer); +void ubus_process_obj_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd); +void ubus_process_req_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd); +void __hidden ubus_poll_data(struct ubus_context *ctx, int timeout); + #endif