libubus-internal.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright (C) 2011-2014 Felix Fietkau <nbd@openwrt.org>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU Lesser General Public License version 2.1
  6. * as published by the Free Software Foundation
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. */
  13. #ifndef __LIBUBUS_IO_H
  14. #define __LIBUBUS_IO_H
  15. extern struct blob_buf b;
  16. extern const struct ubus_method watch_method;
  17. struct blob_attr **ubus_parse_msg(struct blob_attr *msg, size_t len);
  18. bool ubus_validate_hdr(struct ubus_msghdr *hdr);
  19. void ubus_handle_data(struct uloop_fd *u, unsigned int events);
  20. int ubus_send_msg(struct ubus_context *ctx, uint32_t seq,
  21. struct blob_attr *msg, int cmd, uint32_t peer, int fd);
  22. void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd);
  23. int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request *req,
  24. struct blob_attr *msg, int cmd, uint32_t peer);
  25. int __hidden __ubus_start_request(struct ubus_context *ctx, struct ubus_request *req,
  26. struct blob_attr *msg, int cmd, uint32_t peer);
  27. void ubus_process_obj_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd);
  28. void ubus_process_req_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, int fd);
  29. void __hidden ubus_poll_data(struct ubus_context *ctx, int timeout);
  30. #endif