struct blob_attr *data;
};
-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;
-}
-
typedef void (*ubus_lookup_handler_t)(struct ubus_context *ctx,
struct ubus_object_data *obj,
void *priv);
void (*connection_lost)(struct ubus_context *ctx);
struct ubus_msghdr_buf msgbuf;
+ uint32_t msgbuf_data_len;
+ int msgbuf_reduction_counter;
};
struct ubus_object_data {
};
struct ubus_context *ubus_connect(const char *path);
+int ubus_connect_ctx(struct ubus_context *ctx, const char *path);
void ubus_auto_connect(struct ubus_auto_conn *conn);
int ubus_reconnect(struct ubus_context *ctx, const char *path);
+
+/* call this only for struct ubus_context pointers returned by ubus_connect() */
void ubus_free(struct ubus_context *ctx);
+/* call this only for struct ubus_context pointers initialised by ubus_connect_ctx() */
+void ubus_shutdown(struct ubus_context *ctx);
+
const char *ubus_strerror(int error);
static inline void ubus_add_uloop(struct ubus_context *ctx)