struct ubus_client {
struct ubus_id id;
struct uloop_fd sock;
+ struct blob_buf b;
uid_t uid;
gid_t gid;
unsigned int txq_cur, txq_tail, txq_ofs;
struct ubus_msg_buf *pending_msg;
+ struct ubus_msg_buf *retmsg;
int pending_msg_offset;
int pending_msg_fd;
struct {
struct ubus_msg_buf *ubus_msg_new(void *data, int len, bool shared);
void ubus_msg_send(struct ubus_client *cl, struct ubus_msg_buf *ub);
+ssize_t ubus_msg_writev(int fd, struct ubus_msg_buf *ub, size_t offset);
void ubus_msg_free(struct ubus_msg_buf *ub);
struct blob_attr **ubus_parse_msg(struct blob_attr *msg);